找回密码
 加入
搜索
查看: 2626|回复: 7

[GUI管理] 如何判断已经有全屏程序在运行?

[复制链接]
发表于 2010-3-15 12:05:57 | 显示全部楼层 |阅读模式
做了一个整点报时的小程序

但是发现一个问题,就是如果在全屏看电影,或者全屏玩游戏的时候,
我不要整点报时的GUI弹出要怎么弄
说简单点就是如何判断已经有全屏程序在运行?
这个是我的GUI
$hwnd = GUICreate("整点报时", 160, 60, 0, 0, 0x80000000, 0x00080088)
 楼主| 发表于 2010-3-15 12:06:19 | 显示全部楼层
自己先顶一个
 楼主| 发表于 2010-3-15 12:07:06 | 显示全部楼层
试了下WinGetState("[CLASS:Shell_TrayWnd]"),可是无论全屏程序是否运行都显示为7
 楼主| 发表于 2010-3-15 12:41:04 | 显示全部楼层
已经解决了
        $Pos = WinGetPos("")
        If $Pos[2] = @DesktopWidth And $Pos[3] = @DesktopHeight Then
                Return
        Else
不知道有没其他的方法
 楼主| 发表于 2010-3-15 12:41:31 | 显示全部楼层
已经解决了
        $Pos = WinGetPos("")
        If $Pos[2] = @DesktopWidth And $Pos[3] = @DesktopHeight Then
                Return
        Else
不知道有没其他的方法
发表于 2010-3-15 12:47:46 | 显示全部楼层
以下两种可行但不是很严谨的方式:
1. check 任务栏的颜色
2. check 当前窗口的坐标和大小
 楼主| 发表于 2010-3-15 13:30:32 | 显示全部楼层
以下两种可行但不是很严谨的方式:
1. check 任务栏的颜色
2. check 当前窗口的坐标和大小
gapkiller 发表于 2010-3-15 12:47



    嗯,不知道有没其他方法
发表于 2010-3-15 23:34:00 | 显示全部楼层
一个思路,判断像素……
$a = PixelGetColor(0, @DesktopHeight - 1)
While 1
        If PixelGetColor(0, @DesktopHeight - 1) <> $a Then Msgbox(0, 0, '有全屏')
        Sleep(10)
WEnd
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-21 03:30 , Processed in 0.075623 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表