破帽遮颜 发表于 2008-6-14 18:52:55

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



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

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

KiwiCsj 发表于 2008-6-14 20:12:46

检查当前屏幕分辩率,然后计算系统托盘所在的可能位置,移动光标在可能位置上划过去。
就刷新了。
呵呵,一个很笨但有效的办法。

netegg 发表于 2008-6-14 20:32:26

有个注册表值是干这个使的,在网上找找,我实在想不起来了,

马甲 发表于 2008-6-15 00:02:24

只能模拟鼠标移动到托盘。。官方有UDF

破帽遮颜 发表于 2008-6-15 00:44:37

这个都还有UDF?

sanhen 发表于 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
      While $y < $posWin + $posWin
            Local $x = $posWin
            While $x < $posWin + $posWin
                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, "int", $posStart)
      If $hControl <> "" And ControlCommand($hWnd, "", $hControl, "IsVisible") Then
            ControlClick($hWnd, "", $hControl)
      EndIf
    Until 1
    Opt("WinTitleMatchMode", $oldMatchMode)
    Opt("WinSearchChildren", $oldChildMode)
    SetError($error)
EndFunc



rho123 发表于 2008-6-25 10:24:30

回复 6# sanhen 的帖子

测试可用,不 错哦,收藏了

FBWOLF 发表于 2008-7-5 11:50:02

三恨怎么什么UDF都有哇!佩服!

番茄 发表于 2008-8-13 11:16:34

有没有更简单的办法呢?

sanhen 发表于 2008-8-13 13:00:19

有。。。

madkook 发表于 2008-8-13 13:31:00

谢谢 叁恨居士 我会用啦.

[ 本帖最后由 madkook 于 2008-8-13 14:00 编辑 ]

番茄 发表于 2008-8-13 14:01:49

原帖由 sanhen 于 2008-8-13 13:00 发表 http://www.autoitx.com/images/common/back.gif
有。。。
吊胃口了。
能教教吗
比如我关闭迅雷进程
ProcessClose("Thunder5.exe")
但托盘还有迅雷图标,用鼠标移动刷新很是麻烦。
怎么用最简单办法刷新托盘图标。

[ 本帖最后由 番茄 于 2008-8-13 14:06 编辑 ]

tangqinfei 发表于 2008-9-9 07:02:26

学习了,以前一直都没在意它

pingfan5888 发表于 2010-3-25 12:29:42

学习了。。。。。。。。。
页: [1]
查看完整版本: 有没办法刷新任务栏的图标?不要告诉我结束Explorer