Что нового

[Окна, Диалоги] Создание виртуального трея

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Есть такой код для получения хэндла иконки программы в трее:
(_SysTray.au3
http://www.autoitscript.com/forum/topic/103871-systray-udf/ )

Код:
#include <_SysTray.au3>
If @OSVersion == 'WIN_7' Then 
    $i_WinVer = 2 
Else 
    $i_WinVer = 1 
EndIf
$index=_SysTrayIconIndex("Процесс.exe", 0, $i_WinVer); Получение индекса иконки
$handle=_SysTrayIconHandle($index, $i_WinVer); Получение хэндла иконки
MsgBox (0,"",$handle)


Можно ли, зная хэндл, скопировать эту иконку на свою форму, т.е. создать виртуальный трей?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
GUICtrlSendMsg($CtrlID, $STM_SETIMAGE, $IMAGE_ICON, $hIcon)


Устанавливает иконку по ее хендлу ($hIcon) в элемент GUI "Icon" ($CtrlID).
 
Автор
W

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Yashied

Элемент окна "иконка" создал, хэндл получаю, но ничего не происходит, у $STM_SETIMAGE и $IMAGE_ICON какие должны быть значения?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
#Include <WinAPI.au3>

...

$Icon = GUICtrlCreateIcon('', 0, 100, 100, 16, 16)

...

$hPrev = GUICtrlSendMsg($Icon, 0x0172, 1, $hIcon)
If $hPrev then
	_WinAPI_DestroyIcon($hPrev)
EndIf

...
 
Автор
W

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Все равно ничего не происходит, элемент остается пустым :scratch:
 
Верх