PDA

Показать полную графическую версию : Поиск иконки в трее по ID или имени процесса


Latte
28-12-2016, 12:46
Привет!

Нашел работающий пример по работе со скрытыми иконками в трее, но никак не могу добиться поиска иконки по имени или ID процесса, её создавшего. Привязка к тексту не вариант - он меняется. Можете помочь?

Пример кода, где поиск иконки выполняется по её тексту:


#include <GuiToolbar.au3>

$search = "OneDrive: вход не выполнен" ; текст всплывающей подсказки иконки

$tray = ControlGetHandle("[class:Shell_TrayWnd]", "", "ToolbarWindow322")
If FindDel($search) Then Exit

ControlClick("[class:Shell_TrayWnd]", "", "Button4")
$tray = ControlGetHandle("[class:NotifyIconOverflowWindow]", "", "ToolbarWindow321")
If Not FindDel($search) Then MsgBox(0, "", "Кнопка с текстом '" & $search & "' не найдена", 7)
WinSetState("[class:NotifyIconOverflowWindow]", "", @SW_HIDE)

Func FindDel($text)
For $i = 0 To _GUICtrlToolbar_ButtonCount($tray) - 1
If StringInStr(_GUICtrlToolbar_GetButtonText($tray, _GUICtrlToolbar_IndexToCommand($tray, $i)), $text) > 0 Then
_GUICtrlToolbar_DeleteButton($tray, _GUICtrlToolbar_IndexToCommand($tray, $i))
Return 1
EndIf
Next
Return 0
EndFunc




© OSzone.net 2001-2012