首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序应该如何使用ForegroundLockTimeout注册表值?

应用程序应该如何使用ForegroundLockTimeout注册表值?
EN

Stack Overflow用户
提问于 2013-11-05 19:14:43
回答 1查看 13.7K关注 0票数 3

如果一个应用程序调用并激活另一个应用程序,则可能存在被调用的应用程序未被带到前台的问题。

一个work-around是将HKCU\Control Panel\Desktop\ForegroundLockTimeout注册表值设置为0,而不是默认的200000毫秒。

应用程序应该如何控制此注册表值?是否可以临时更改它以实现解决方法,然后再将其更改回来?

EN

回答 1

Stack Overflow用户

发布于 2013-11-05 21:18:04

动态修改注册表永远不是一种可接受的解决方法。如果一个应用程序拥有前台窗口,那么激活另一个应用程序的窗口将不会有任何问题。这可以使用AllowSetForegroundWindow() winapi函数显式完成。链接的MSDN页面还列出了确切的规则。还有助于查找SystemParameterInfo函数的SPI_SETFOREGROUNDLOCKTIMEOUT参数。

有一个肮脏的非法黑客来打破规则。我不会详细介绍它,只是提到它实际上是在.NET框架中使用的。由于您的大多数问题都是.NET问题,我假设它适用,所以您可以使用Microsoft.VisualBasic.Interaction.AppActivate()方法。顺便说一句,并不是那么容易使用。

一定要记住,用户绝对讨厌这种黑客攻击。确保您的卸载程序是正确的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19787688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档