Mixam Posted February 22, 2008 Share Posted February 22, 2008 So far the only solution I have is to mouse over them. I've been told theres a function in user32.dll that you can call to refresh or recall the taskbar (the entire thing) Could anyone help me? The icons are all there from me killing a program improperly when it freezes. I know I could use close instead of kill when the program is not frozen, but it usually is frozen hence why I use kill I'm pretty new to Auto It, been coding for about 2-3 weeks now. So please bear that in mind. Thanks in advance for all your help. Link to comment Share on other sites More sharing options...
Zedna Posted February 22, 2008 Share Posted February 22, 2008 Search forum I saw some such scripts there. Core of solution was in loop through all tray icons a click on them as far as I can remember. Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
Xenobiologist Posted February 22, 2008 Share Posted February 22, 2008 Hi, this might not be the best solution, but I guess it works. expandcollapse popup_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 Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
Mixam Posted February 22, 2008 Author Share Posted February 22, 2008 (edited) Wow that a bit complicated for me right now. Maybe after I get some sleep and go over it piece by piece. Is there any solution that will work while the computer is locked by chance? I guess I also should have specified I'm in win xp in case it makes a difference. Anyways I'm off to bed I will check back for more posts in the morning, and take a closer look at that script. Thanks Edit: Oh and i just reread that other post. I don't think clicking on all the tray icons will be such a good idea as clicking on my auto it script pauses it... Edited February 22, 2008 by Mixam Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now