找回密码
 加入
搜索
查看: 4973|回复: 13

有没办法刷新任务栏的图标?不要告诉我结束Explorer

[复制链接]
发表于 2008-6-14 18:52:55 | 显示全部楼层 |阅读模式


一些程序,强行结束后,图标依然残留!想问问有没办法可以刷新这里的图标?
结束explorer的办法就算了!呵呵~

[ 本帖最后由 破帽遮颜 于 2008-6-14 18:56 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2008-6-14 20:12:46 | 显示全部楼层
检查当前屏幕分辩率,然后计算系统托盘所在的可能位置,移动光标在可能位置上划过去。
就刷新了。
呵呵,一个很笨但有效的办法。
发表于 2008-6-14 20:32:26 | 显示全部楼层
有个注册表值是干这个使的,在网上找找,我实在想不起来了,
发表于 2008-6-15 00:02:24 | 显示全部楼层
只能模拟鼠标移动到托盘。。官方有UDF
 楼主| 发表于 2008-6-15 00:44:37 | 显示全部楼层
这个都还有UDF?
发表于 2008-6-25 01:06:40 | 显示全部楼层

_RefreshSystemTray()

Func _RefreshSystemTray($nDelay = 1000)
    Local $oldMatchMode = Opt("WinTitleMatchMode", 4)
    Local $oldChildMode = Opt("WinSearchChildren", 1)
    Local $error = 0
    Do
        Local $hWnd = WinGetHandle("classname=TrayNotifyWnd")
        If @error Then
            $error = 1
            ExitLoop
        EndIf
        Local $hControl = ControlGetHandle($hWnd, "", "Button1")
        
        If $hControl <> "" And ControlCommand($hWnd, "", $hControl, "IsVisible") Then
            ControlClick($hWnd, "", $hControl)
            Sleep($nDelay)
        EndIf
        Local $posStart = MouseGetPos()
        Local $posWin = WinGetPos($hWnd)    
        Local $y = $posWin[1]
        While $y < $posWin[3] + $posWin[1]
            Local $x = $posWin[0]
            While $x < $posWin[2] + $posWin[0]
                DllCall("user32.dll", "int", "SetCursorPos", "int", $x, "int", $y)
                If @error Then
                    $error = 2
                    ExitLoop 3;
                EndIf
                $x += 8
            WEnd
            $y += 8
        WEnd
        DllCall("user32.dll", "int", "SetCursorPos", "int", $posStart[0], "int", $posStart[1])
        If $hControl <> "" And ControlCommand($hWnd, "", $hControl, "IsVisible") Then
            ControlClick($hWnd, "", $hControl)
        EndIf
    Until 1
    Opt("WinTitleMatchMode", $oldMatchMode)
    Opt("WinSearchChildren", $oldChildMode)
    SetError($error)
EndFunc



评分

参与人数 2金钱 +32 贡献 +7 收起 理由
ahkang + 30 + 5 实用,感谢!
rho123 + 2 + 2 精品文章

查看全部评分

发表于 2008-6-25 10:24:30 | 显示全部楼层

回复 6# sanhen 的帖子

测试可用,不 错哦,收藏了
发表于 2008-7-5 11:50:02 | 显示全部楼层
三恨怎么什么UDF都有哇!佩服!
发表于 2008-8-13 11:16:34 | 显示全部楼层
有没有更简单的办法呢?
发表于 2008-8-13 13:00:19 | 显示全部楼层
有。。。
发表于 2008-8-13 13:31:00 | 显示全部楼层
谢谢 叁恨居士 我会用啦.

[ 本帖最后由 madkook 于 2008-8-13 14:00 编辑 ]
发表于 2008-8-13 14:01:49 | 显示全部楼层
原帖由 sanhen 于 2008-8-13 13:00 发表
有。。。

吊胃口了。
能教教吗
比如我关闭迅雷进程
ProcessClose("Thunder5.exe")
但托盘还有迅雷图标,用鼠标移动刷新很是麻烦。
怎么用最简单办法刷新托盘图标。

[ 本帖最后由 番茄 于 2008-8-13 14:06 编辑 ]
发表于 2008-9-9 07:02:26 | 显示全部楼层
学习了,以前一直都没在意它
发表于 2010-3-25 12:29:42 | 显示全部楼层
学习了。。。。。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-22 14:31 , Processed in 0.087693 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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