如果一个应用程序调用并激活另一个应用程序,则可能会出现被调用的应用程序未进入前台的问题。
One 解决方法 http://social.msdn.microsoft.com/Forums/en-US/20ef51e5-528f-4f0a-9bdb-bf2760699499/word-2010-from-access-2010-returns-blinking-taskbar是设置HKCU\Control Panel\Desktop\ForegroundLockTimeout http://technet.microsoft.com/en-us/library/cc957208.aspx注册表值0
而不是默认的200000
毫秒。
应用程序应该如何控制这个注册表值?是否可以暂时更改它以实现解决方法,然后再更改回来?
即时破解注册表永远不是一个可接受的解决方法。如果应用程序拥有前台窗口,那么激活另一个应用程序的窗口不会有任何问题。可以使用显式完成允许设置前景窗口() http://msdn.microsoft.com/en-us/library/windows/desktop/ms632668%28v=vs.85%29.aspxwinapi函数。链接的 MSDN 页面还列出了确切的规则。还有助于查找 SystemParameterInfo 函数的 SPI_SETFOREGROUNDLOCKTIMEOUT 参数。
有一种肮脏的、无证的黑客行为违反了规则。除了提到它实际上在 .NET 框架中使用之外,我不会详细介绍它。由于您的大多数问题都是 .NET 问题,我假设它适用,因此您可以使用 Microsoft.VisualBasic.Interaction.AppActivate() 方法。顺便说一句,不太容易使用。
请记住,用户绝对讨厌这种黑客行为。确保您的卸载程序正常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)