2012-02-01 79 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,您可以在其中删除资源管理器,并且可以运行除您想要的以外的任何应用程序。它专为您所描述的场景而设计。