【问题标题】:Custom-designed Shell doesn't work on Windows 7定制设计的 Shell 在 Windows 7 上不起作用
【发布时间】:2023-03-16 23:39:01
【问题描述】:

我们有一个服务器/客户端网吧管理应用程序,它曾经在 Windows XP 和 Vista 上运行良好,但现在无法在 Windows 7 上运行。

客户端应该在 Cyber​​cafe 的客户端 PC 上“锁定”,这意味着它通过更改注册表项替换了 Windows 资源管理器

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell"

到客户端应用程序的 EXE 文件的路径。

这在 Windows XP 上运行良好,现在在 Windows 7 上运行,Explorer.exe 和 Client.exe 都没有运行,只显示一个空白的蓝屏。

我们认为它可能与 UAC 有关,因此我们禁用了它,但没有运气。 当我们设法通过另一台计算机在客户端PC上启动Explorer.exe,并使用资源管理器窗口打开Client.exe时,客户端启动正常。

(请注意,运行 Explorer.exe 并没有启动 Windows Shell,只是打开了一个资源管理器窗口,因为注册表项指向 Client.exe,并且除非注册表项指向 Explorer.exe,否则 Shell 不会启动)

大家有什么想法吗? XP 和 7 在这方面有什么大的不同吗?

【问题讨论】:

    标签: shell windows-7 replace


    【解决方案1】:

    修复它。希望有人觉得这很有用:

    在 64 位 Windows 上运行的 32 位应用程序无法访问 Windows 注册表的某些区域。访问该部分的请求被路由到其他某个键。这就是为什么我们的应用程序无法锁定在 Windows 7(它是 64 位 Windows)上的原因。 在 Visual Studio 中将 Client.exe 从 x86 更改为“Any CPU”解决了这个问题。

    但是,仍然需要禁用 UAC 才能让客户端工作。

    【讨论】:

      猜你喜欢
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 2018-06-27
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      相关资源
      最近更新 更多