C ctx Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-13 #1 我想编一段程序实现如下功能: 此程序时刻监测屏幕的状态,但不知如何判断屏幕处于全屏状态(例如在玩游戏 的时候),应该如何判断?请各位高手指教,不胜感激!!急!!!!
孟 孟雯 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-13 #3 >>什么叫“屏幕处于全屏状态”? 类似于wsMaximized ? 吗 ?
Z zhanglei Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-13 #4 是象超级解霸全屏播放VCD那样吗?如是,提供思路如下: 在一timer对象的ontimer事件中调用API函数EnumWindows,遍历所有当时处于屏幕顶层的窗 口,对每个遍历到的窗口调用GetWindowRect API 函数,如果返回的矩形区域(窗口客户区) 长宽都 >= 屏幕的长宽(Tscreen 类),即可认为该窗口目前覆盖全屏 另外使用GetTopWindow() API函数[调用参数为NULL]可能(因为我没有用过)可以直接返 回当前处于屏幕前端的窗口句柄,如果成功就不必用EnumWindows遍历窗口了。
是象超级解霸全屏播放VCD那样吗?如是,提供思路如下: 在一timer对象的ontimer事件中调用API函数EnumWindows,遍历所有当时处于屏幕顶层的窗 口,对每个遍历到的窗口调用GetWindowRect API 函数,如果返回的矩形区域(窗口客户区) 长宽都 >= 屏幕的长宽(Tscreen 类),即可认为该窗口目前覆盖全屏 另外使用GetTopWindow() API函数[调用参数为NULL]可能(因为我没有用过)可以直接返 回当前处于屏幕前端的窗口句柄,如果成功就不必用EnumWindows遍历窗口了。
C ctx Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-14 #6 我所说的全屏状态是指运行游戏(例如:红色警报)和看VCD影片时的屏幕。
徐 徐永进 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-14 #7 我同意ZHENGLEI的看法!! 应该是可以达到你的要求!! 不过要看GETWINDOWREC()函数的功能如何!!我没有用过 理论上可以
W www Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-14 #8 判断当前的分辨率,多数游戏的分辨率是640*480,320*200,通过这个应该能判断。
H half11 Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-14 #9 在 API 函数中有现成的,截断MESSAGE的信息,来了解.
W wangxd Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-14 #10 GetForegroundWindow(VOID) GetWindowRect
C ctx Unregistered / Unconfirmed GUEST, unregistred user! 2000-10-15 #11 请各位高手说得具体一些,小弟经验不足, 最好举个例子,还可以加分呀!!!多谢!!急用!!!
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-11-30 #12 ctx:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。