检测用户是否有全屏运行的应用程序
我在C#中创建了一个通知程序,位于任务栏上,当我从中获取某些内容时会显示一个气球,类似于Google Talk,当您收到新电子邮件时,忽略我是否在全屏运行应用程序,只是做这件事。检测用户是否有全屏运行的应用程序
如何检测并确保应用程序处于全屏模式?我不是说最大化(因为应用程序可以在屏幕上最大化,但仍然不是全屏),但是真正的全屏。
例如,当您运行游戏时,大部分游戏都将以全屏模式运行。
最初GetForegroundWindow()
和GetWindowRect()
来到我的脑海,但即使这样我就可以使一个窗口去更大然后我的屏幕上,如果我不是全屏这不会帮助我,所以我想知道是否有其他标志或方式来处理这个?
对于PowerPoint,看到这个MS KB文章在这里: http://support.microsoft.com/kb/913045
屏幕保护程序:Windows API的:FindWindow函数( “WindowsScreenSaverClass”)。 (更多详情请参阅本网站文章:http://bobmoore.mvps.org/Win32/w32tip22.htm - 它有一个更detailsd方式做到这一点,但我认为FindWindow函数将工作对你合适)
为了检测是否全屏游戏中使用:的IDirect3DDevice9 :: TestCooperativeLevel http://msdn.microsoft.com/en-us/library/bb174472(VS.85).aspx
否则,我认为你在GetForegroundWindow,GetWindowRect和其他窗口定位API的正确路径。
事情变得复杂,你有多个显示器 - 所以不要忘记,因为它涉及到你的应用程序的情况。
谢谢,我会检查,但我正在寻找一个更加通用的查找,不得不通过所有这些来检查它会有点痛苦。 – Prix 2010-08-21 08:36:41
虽然我不知道确切的答案,但您所描述的内容看起来像全屏专有模式。 – 2010-08-21 05:19:05
是Fullscreen Exclusive Mode这个术语用于确定吗?我不确定这个词会是什么...... – Prix 2010-08-21 08:36:02