Windows 7:防止应用程序失去焦点

Ole*_*ann 14 focus windows-shell windows-7

我有一个用C++编写的用于Windows 7的自制全屏应用程序,它应该作为公共演示文稿自行运行很长时间.

问题是,有几个应用程序或驱动程序或Windows本身不时地和/或特别是在系统启动时窃取焦点.结果是:我的全屏应用程序最小化.

这是非常烦人的,几乎不可能总是找出你必须停用哪些东西来防止这种情况.特别是因为有时需要重点窃取的东西,例如触摸屏驱动程序.

我该怎么做才能防止失去焦点?

甚至更好:我怎样才能防止其他应用程序窃取焦点 - 我记得曾经有过TweakUI for Windows XP的这样的设置.

Ray*_*hen 20

Tweak UI通过更改来实现SPI_SETFOREGROUNDLOCKTIMEOUT.你可以把它结合起来LockSetForegroundWindow.

  • LockSetForegroundWindow应该阻止该场景.但请注意,当用户按下Alt或单击另一个窗口时,您通过LockSetForegroundWindow设置的锁定将被清除,因此您必须密切关注它. (3认同)
  • 一般情况下,是的,但是这个程序运行在专用于运行该应用程序的机器上,因此在这种情况下global = local. (3认同)