我正在尝试在VB.net
中创建一个应用程序,一旦发生某种情况(在这种情况下,正在创建一个文件),它就可以出现在前面。我尝试了以下代码,但只是导致Windows 7
上的任务栏按钮闪烁:
Me.Activate()
我理解这个的原因,我完全理解为什么人们不希望任何随机应用程序窃取焦点(我也讨厌它)。这是一个非常有限的使用应用程序(实际上只有3台计算机正在使用它),在这种情况下用户希望应用程序在前面弹出(也可以选择将其关闭)。
如果仍然可以在Windows 7
上做任何想法吗?
答案 0 :(得分:3)
最简单的方法是更改三台计算机上的ForegroundLockTimeout注册表项。这会禁用阻止后台应用程序窃取焦点的Windows规则。显然,它将允许系统上的所有应用程序窃取焦点。
您还可以使用SPI_SETFOREGROUNDLOCKTIMEOUT
SystemParametersInfo
通过代码停用规则。例如,请参阅here