.net – 将Windows应用程序保存在其他窗口之上并且始终关注焦点

我正在创建一个自助服务终端应用程序,我想确保它总是,无论如何,在其他Windows应用程序和Windows任务栏之上.

我已经阻止了Windows键盘命令(alt-tab等),但仍然存在可能导致应用程序启动并窃取屏幕的情况.

是否有可能从.NET挂钩到Windows并不断测试应用程序是否具有焦点并且是否位于顶部,如果没有,那么让它集中注意力并使其成为最佳状态?

我实际上曾在一个生产信息亭工作(但它是Windows 2000).解决方案是将我们的应用程序作为shell运行.您可以通过将Shell.exe替换为Shell中的应用程序来实现此目的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

有关更多信息,请参见here.

现在,我们确实有一个秘密(错误…混淆)的方式来关闭我们的应用程序.然后我们将调出任务管理器(Ctrl-Shift-Esc)并选择文件/新任务以运行Explorer.exe,然后在那里调出一个shell.

顺便说一句,当你使用这样的系统时,你自然会非常熟练地使用键盘以及在Windows中使用键盘快捷键的所有方法,因为你可能没有方便的地方放置鼠标.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...