2009-11-09 52 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以允許客戶端工作。