繁体   English   中英

有没有办法保证Internet Explorer始终是最顶层的窗口?

[英]Is there a way to guarantee that internet explorer will alway be the topmost window?

我正试图强迫一个Internet Explorer窗口成为TOPMOST。 Internet Explorer窗口顶部不应显示其他窗口。 我必须使用Internet Explorer。 我也在Windows 7中运行它。显然这有所不同,但我发现的所有信息都相当含糊,基本上是由人们喊“为什么这不容易!”。 这是我的代码:

HWND ieWin = FindWindow(TEXT("IEFrame"), 0);
SetFocus(ieWin);
SetWindowPos(ieWin, HWND_TOPMOST, 0, 0, 100, 100, SWP_SHOWWINDOW );
UpdateWindow(GetParent(ieWin));

这是在一个循环中运行,所以我可以强制窗口持续进行这些设置,但它没有帮助。 有时上面的代码有效,有时却没有。

经过多次讨论,我确实结束了使用循环强制窗口保持在顶部。 如果将来其他人真的需要这样做,他们确实需要确保他们遵循以下步骤。

1)确保他们可以完全控制用户可以打开的窗口。 在我的情况下,用户只能打开我的程序和Internet Explorer。

2)第一次将IE窗口设置为show时将其设置为前景。

3)循环将窗口设置为TOP_MOST时,不要将焦点设置为IE窗口。

4)确保你有SWP_SHOWWINDOW,SWP_NOSIZE和SWP_NOMOVE。 否则该循环将在每次迭代时改变窗口的大小和位置。

如果你可以尽可能地避免它,那就不要这样做了:P

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM