Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Поиск иконки в трее по ID или имени процесса (http://forum.oszone.net/showthread.php?t=322130)

Latte 28-12-2016 12:46 2698999

Поиск иконки в трее по ID или имени процесса
 
Привет!

Нашел работающий пример по работе со скрытыми иконками в трее, но никак не могу добиться поиска иконки по имени или 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



Время: 06:03.

Время: 06:03.
© OSzone.net 2001-