Ermittelt die Bildschirmkoordinaten des begrenzenden Rechtecks eines Benachrichtigungssymbols
#include <WinAPIShellEx.au3>
_WinAPI_ShellNotifyIconGetRect ( $hWnd, $iID [, $tGUID = 0] )
$hWnd | Handle zum übergeordneten Fenster, das von der Callback-Funktion der Benachrichtigung verwendet wird. Für weitere Informationen, siehe das "hWnd"-Mitglied der $tagNOTIFYICONDATA-Struktur. |
$iID | Anwendungsdefinierter Bezeichner des Benachrichtigungssymbols. Mehrere Icons können mit einem einzigen $hWnd zugeordnet werden, jedes mit seiner eigenen $iID. |
$tGUID | [optional] $tagGUID-Struktur, die das Symbol identifiziert. |
Erfolg: | $tagRECT-Struktur, die die Koordinaten des Symbols enthält. |
Fehler: | Setzt das @error-Flag auf ungleich Null, @extended-Flag kann den HRESULT-Fehlercode enthalten. |
Das Symbol kann durch $hWnd plus $iID oder $tGUID allein identifiziert werden (empfohlen).
Diese Funktion erfordert Windows 7 oder höher.
Suche nach Shell_NotifyIconGetRect in der MSDN Bibliothek.
#include <MsgBoxConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIShellEx.au3>
#include <WinAPISys.au3>
If Number(_WinAPI_GetVersion()) < 6.1 Then
MsgBox(($MB_ICONERROR + $MB_SYSTEMMODAL), 'Fehler', 'Benötigt Windows 7 oder neuer.')
Exit
EndIf
Local $tRECT = _WinAPI_ShellNotifyIconGetRect(WinGetHandle(AutoItWinGetTitle()), 1)
Local $Pos
If Not @error Then
$Pos = _WinAPI_GetPosFromRect($tRECT)
MouseMove($Pos[0] + 12, $Pos[1] + 12)
MouseClick('left')
While 1
Sleep(1000)
WEnd
EndIf