我正在尝试在 VB.net
中创建一个应用程序,一旦出现特定条件(在本例中为正在创建的文件),它就会出现在前面。我尝试了以下代码,但它只会导致任务栏按钮在 Windows 7
上闪烁:
Me.Activate()
我理解这样做的原因,我完全理解为什么人们不希望任何随机应用程序窃取焦点(我也讨厌它)。这是一个用途极为有限的应用程序(实际上只有 3 台计算机会使用它),在这种情况下,用户会希望该应用程序在前面弹出(也可以选择将其关闭)。
如果这仍然可以在 Windows 7
上执行,您有什么想法吗?
最佳答案
最简单的方法是更改 ForegroundLockTimeout三台计算机上的注册表项。这将禁用防止后台应用程序窃取焦点的 Windows 规则。显然,它将允许系统上的所有 应用程序窃取焦点。
您还可以使用 SystemParametersInfo
通过代码禁用规则使用 SPI_SETFOREGROUNDLOCKTIMEOUT
例如参见 here
关于windows - 如何让 VB.net 2008 应用程序窃取 Windows 7 上的焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933034/