我有開發Kiosk應用程序的經驗,我建議你下一個解決方案。這是通用解決方案,並按預期工作。在登錄會話中運行應用程序 - 是個壞主意。運行應用程序通過winlogon regkey將不會在session0中運行,它將在用戶會話中運行應用程序。
的Windows Kiosk模式需要下面的步驟:
- 創建用戶的信息亭模式
- 設置該用戶的路徑您的應用程序下一個註冊表項:
的Windows XP/7:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\\full\\path\\to\\your\\application.exe>"
Windows 8及更高版本:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"Shell"="C:\\full\\path\\to\\your\\application.exe>"
自動登錄的信息亭用戶:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"ForceAutoLogon"="1"
"DefaultUserName"="kiosk"
"DefaultDomainName"="<place here pc hostname>"
"DefaultPassword"=""
[選項]如果你需要禁用按Ctrl + Alt + Del鍵,然後用這個註冊表鍵值( 「」),或者你可以將有自己的應用程序:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]
"Debugger"="\"\""
使用此應用程序創建自助服務終端用戶作爲shell並使用密碼創建/激活管理員。隨着自動登錄加載作爲管理員按下移位時,窗口加載和自動登錄或登出之前 - Windows不會自動登錄和顯示用戶列表。或者,您無法設置自動登錄,Windows將使用此軟件顯示2個用戶:admin和kiosk用戶。
要禁用用戶輸入使用WINAPI BlockInput
BOOL WINAPI BlockInput(
_In_ BOOL fBlockIt
);
可以啓用按Ctrl + Alt + Del - 在這種情況下,你PROGRAMM上述方案可以禁用它。