我正在尝试使用VB.net创建一个应用程序,一旦出现某种情况(在这种情况下,将创建一个文件),该应用程序就会出现在最前面。我已经尝试了以下代码,但这只是导致任务栏按钮在Windows 7上闪烁:

Me.Activate()

我了解原因,也完全理解为什么人们不希望任何随机应用窃取焦点(我也很讨厌)。这是一个使用极其有限的应用程序(实际上只有3台计算机会使用它),在这种情况下,用户希望该应用程序弹出在前面(也可以选择将其关闭)。

任何想法,如果仍然可以在Windows 7上做呢?

最佳答案

最简单的方法是在三台计算机上更改ForegroundLockTimeout注册表项。这将禁用Windows规则,该规则可防止后台应用程序窃取焦点。显然,它将允许系统上的所有应用程序抢占先机。

您也可以使用 SystemParametersInfo SPI_SETFOREGROUNDLOCKTIMEOUT通过代码禁用规则。例如,请参见here

10-08 06:21
查看更多