在Windows中,前台窗口和活动窗口有什么区别?具体来说,什么情况下前台窗口不能是活动窗口?如果这两个术语指的是同一概念,那么为什么有两个术语。
The msdn documentation here mentions "clicking a window, or by using the ALT+TAB or ALT+ESC key combination" makes a window active as well as foreground. There is nothing explicitly about the difference between the 2 terms.Check MSDN http://msdn.microsoft.com/en-us/library/ms632599%28VS.85%29.aspx#foreground.
活动窗口(结果GetActiveWindow()
)是窗口附加到调用线程得到输入。前景窗口(的结果GetForegroundWindow()
) 是当前正在获取输入的窗口,无论其与调用线程的关系如何。活动窗口本质上是针对您的应用程序进行本地化的;前台窗口对于系统来说是全局的。
例如,如果属于另一个进程的窗口是前台,则调用GetActiveWindow()
从你自己的进程中将返回NULL
.
我相信,作为前景窗口意味着作为活动窗口,但反之则不然。另请注意,在现代 Windows 中,应用程序通常无法使用SetForegroundWindow()
从另一个进程窃取焦点(除非该进程已通过以下方式明确授予许可)AllowSetForegroundWindow
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)