防止用户切换到其他窗口

4
我想让我的用户在某段时间内仅使用预定义的应用程序列表。我正在使用一个C# Windows服务,在特定时间段内后台运行并检查活动窗口,以验证活动应用程序是否在允许的应用程序列表中。
我做了一些研究,看起来我需要通过SetWinEventHook()捕获“窗口切换”事件,然后调用SwitchToThisWindow()或SetActiveWindow()来切换回来,以防止新窗口不被允许。
但这实际上并没有起作用,我仍然可以切换到其他窗口。
我做错了什么,或者即使我是正确的方法?

1
你能让我们看看你尝试过的代码吗? - M.Babcock
10
这样行不通。Windows服务不在用户桌面上运行,因此他们不知道自己打开了哪些窗口。你不需要一个服务,并且编写应用程序是解决这个问题的完全错误的方法。Windows有内置的安全功能来锁定计算机。探索利用组策略;在Server Fault上询问更多相关问题。 - Cody Gray
1个回答

1
这是要构建一个定制应用程序机器和/或网络亭类型系统吗?您可能需要查看Windows XP嵌入式,可以在其中删除资源管理器和运行除您所需的应用程序之外的任何应用程序的能力。它专门为您描述的场景而设计。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接