System32 中还需要安装屏幕保护程序吗?

发布于 2024-12-26 04:18:03 字数 422 浏览 0 评论 0原文

回到我的 Delphi 时代,我编写了几个屏幕保护程序 - 每个都是一个单独的可执行文件,被放入 System32 文件夹中,Windows XP 显示控制面板可以在其中看到它并使其可用。一切都好。

我现在正在用 C# 编写一个明显更复杂的屏幕保护程序,它必然分布在多个程序集中(它使用插件模型:将所有程序集合并到单个可执行文件中不是一个选项)。

将所有文件转储到 System32 中似乎不太整洁 - 更不用说它根本无法在 64 位系统上工作。

还有其他方法可以在Windows系统上安装屏幕保护程序吗?

如果有必要,我愿意依赖Vista/Win7。

到目前为止,我提出的唯一建议是在 Program Files 下正常安装大部分屏幕保护程序,并将触发器/启动器放入 System32。

Back in my Delphi days, I wrote several screensavers - each was a single executable that was dropped into the System32 folder, where the Windows XP Display control panel saw it and made it available. All good.

I'm now writing a significantly more complex screensaver in C# that is necessarily spread across multiple assemblies (it's using a plug-in model: merging all the assemblies into a single executable isn't an option).

Dumping all the files into System32 doesn't seem to be very tidy - not to mention that it simply won't work on a 64-bit system.

Is there any other way to install a screensaver on a Windows system?

I'm willing to take a dependency on Vista/Win7 if necessary.

The only suggestion I've had made so far, is to install the bulk of the screensaver normally, under Program Files, and put a trigger/launcher into System32.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以歌曲疗慰 2025-01-02 04:18:03

我找到了更多信息...

屏幕保护程序不必必须安装到System32(或SysWoW64)中。

但是,控制面板不会找到它,也不会列出它以供选择。

除非将其配置为当前屏幕保护程序。

让我解释一下...当前的屏幕保护程序是由 HKEY_CURRENT_USER\Control Panel\Desktop 中的 SCRNSAVE.EXE 注册表项指定的。该键的值是 .SCR 文件的完整路径。

显示 (XP) 或屏幕保护程序 (Win7) 控制面板扫描 64 位系统上的 System32(以及 SysWow64) ) 对于 .SCR 文件。它还会扫描包含当前屏幕保护程序的文件夹(如果不同)。

因此,如果直接设置注册表项,屏幕保护程序将在控制面板中列出并可供选择。但是,一旦用户选择了不同的屏幕保护程序,控制面板的下一次调用将不会列出新的屏幕保护程序。

I found more information ...

A screensaver does not have to be installed into System32 (or SysWoW64).

However, the control panel won't find it and won't list it for selection.

Unless it's configured as the current screensaver.

Let me explain ... the current screensaver is specified by the SCRNSAVE.EXE registry key found in HKEY_CURRENT_USER\Control Panel\Desktop. The value of this key is the complete path to a .SCR file.

The Display (XP) or Screen Saver (Win7) control panel scans System32 (and SysWow64 on 64 bit systems) for .SCR files. It also scans the folder containing the current screensaver, if that's different.

So, if you set the registry key directly, the screensaver will be listed by the control panel and available for selection. But, as soon as the user selects a different screensaver, the next invocation of the control panel won't list the new screensaver.

尐籹人 2025-01-02 04:18:03

32 位屏幕保护程序进入 system32,而 64 位屏幕保护程序进入 SysWoW64。

32bit screensavers go into system32, while 64bit screensavers go into SysWoW64.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文