我打算创建一个屏幕保护程序。也在考虑尝试一些 WPF。无论如何,我不太确定如何在文件系统中组织磁盘上的屏幕保护程序。我主要有两个相关的问题,我非常不确定如何解决:
通常,应用程序及其所有 3rd 方程序集、静态资源、图像等都存在于 Program Files 文件夹中,并从那里运行。例如C:\Program Files\MyScreenSaver。但是(如果我没有错过任何东西)Windows 中屏幕保护程序的可执行文件需要具有 scr 扩展名并位于系统文件夹中,例如C:\Windows\System32。您如何对屏幕保护程序进行编程,以便它可以找到“自身的其余部分”?你会使用windows注册表吗?或者在 scr 文件旁边创建某种配置文件以及其余文件的路径?你会让 scr 成为应用程序文件夹中 exe 的启动器吗?或者这是一个坏主意?
我还希望屏幕保护程序能够从 Internet 上的某些地方下载新内容。但是我把它放在哪里,屏幕保护程序如何找到它?如果我理解正确,应用程序不是在其应用程序文件夹中创建新内容,而是在用户文件夹中。我如何找到那个文件夹?你是从环境变量构建的吗?像这样的东西真正应该在哪个特定目录中?例如,在 Vista 上,我看到您有一个名为C:\ProgramData的文件夹。您还有C:\Users\username\AppData\Local、C:\Users\username\AppData\LocalLow和C:\Users\username\AppData\Roaming. 还看到很多程序在我的文档文件夹中转储东西(尽管我讨厌程序弄乱我的文档文件夹,所以我可能会尽量避免这种情况:p)。
当涉及到在文件系统中布置应用程序的这些问题时,有哪些最佳实践?我希望它对于 Windows 7 来说是最好的和“最正确的”,这意味着它可能在 Vista 中也可以工作(?),但它也需要在 XP 中工作,因为很多人都在使用它仍然。