2012-02-01 29 views
4

我想允許我的用戶在特定時間內只處理幾個預定義的應用程序列表。我正在使用將在後臺運行的C#Windows服務,並在特定時間段內檢查活動窗口,以驗證活動應用程序是否位於允許的應用程序列表中。防止用戶切換到其他窗口

我已經做了一些功課,它看起來像我需要通過SetWinEventHook()捕捉「窗開關」事件,然後調用SwitchToThisWindow()SetActiveWindow()切換回的情況下,不允許新的窗口。

但是這並不是真的有效。我仍然可以切換到其他窗口。

我做錯了什麼,或者即使我採取了正確的方法?

+1

我們可以看到您嘗試的代碼嗎? – 2012-02-01 06:39:48

+10

這不會起作用。 Windows服務不會在用戶的桌面上運行,因此他們不知道他們打開了哪些窗口。你不需要服務。編寫應用程序首先是解決此問題的完全錯誤的方法。 Windows具有內置的安全功能來鎖定機器。調查利用組策略;請在[服務器故障](http://serverfault.com/)上提出更多關於此問題的問題。 – 2012-02-01 07:38:46

回答

1

這是爲了建立一個自定義的應用程序機器和/或網站kiosk類型系統?您可能需要查看Windows XP Embedded,您可以在其中刪除資源管理器,並且可以運行除您想要的以外的任何應用程序。它專爲您所描述的場景而設計。