1

我目前有一个补充 Flash 游戏的程序。它的功能之一是“始终保持领先”,并且在游戏进入全屏模式之前效果非常好。当 flash 进入全屏模式时,Windows 任务栏消失,因此 flash 窗口可以传播整个屏幕。我的程序按预期保持在顶部,但每当焦点从全屏 Flash 窗口移动到我的程序时,就会出现 Windows 任务栏。

通常,我会一直通过调用FindWindow("Shell_TrayWnd", "");then 来隐藏任务栏ShowWindow(_taskbarHandle, 0);。这可行,但是我希望在 Flash 窗口未处于全屏模式并且我的程序集中时显示任务栏。我曾想过尝试获取窗口的句柄,但不同的浏览器会出现不同的类名。

有没有人有或可以想到一种可靠的方法来确定 Flash 窗口是否全屏运行?

我曾想过GetActiveWindow每隔几秒钟轮询一次以获取当前活动的窗口句柄,但我仍然无法确定它是否是 Flash 窗口!

有没有办法遍历所有打开的窗口,看看是否有屏幕的宽度和高度?

4

1 回答 1

0

EnumWindows您可以使用该函数遍历打开的窗口。或者,您可以使用WindowFromPoint来确定在 0,0 和 X-1,Y-1 处是否有窗口(其中 X 和 Y 是屏幕的宽度和高度),如果是,它们是否是同一个窗口。

您可以尝试的另一件事,我不知道这是否可行,是WS_EX_TOOLWINDOW为您的自定义窗口使用扩展窗口样式。这将阻止您的窗口出现在任务栏上,这样做可能会阻止任务栏首先出现在前面。

于 2012-12-18T07:10:13.887 回答