2009-11-09 47 views
1

我们有一个服务器/客户端的网吧管理其用于在Windows XP和Vista做工精细的应用,但现在无法在Windows 7定制设计的外壳不工作在Windows上7

运行客户端应该在网吧的客户端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,否则外壳程序不会启动)

想法,大家? XP和7在这方面有什么大的区别?

回答

3

修正了它。希望有人认为这有用:

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

但是,仍然有必要禁用UAC以允许客户端工作。