- Сообщения
- 5,379
- Репутация
- 2,724
AutoIt: 3.3.6.1
Версия: 1.0
Категория: Окна и диалоги
Описание: Я думаю, что многие из вас хотели бы произвести какие-либо действия (например вызвать диалоговое окно), когда пользователь кликает на Tray Tip. Вот простой способ реализовать это. К сожалению, написать алгоритм без .dll не представляется возможным. Важно, только AutoIt окно может быть зарегистрировано в качестве исходного окна для получения уведомлений (см. пример).
Файл(ы): AITray.zip
Пример:
Скриншот:
Источник: Tray notifications redirector (оффициальный форум)
Автор: Yashied
Версия: 1.0
Категория: Окна и диалоги
Описание: Я думаю, что многие из вас хотели бы произвести какие-либо действия (например вызвать диалоговое окно), когда пользователь кликает на Tray Tip. Вот простой способ реализовать это. К сожалению, написать алгоритм без .dll не представляется возможным. Важно, только AutoIt окно может быть зарегистрировано в качестве исходного окна для получения уведомлений (см. пример).
Файл(ы): AITray.zip
Пример:
Код:
#Include <WindowsConstants.au3>
Opt('TrayAutoPause', 0)
Opt('WinTitleMatchMode', 3)
Opt('WinWaitDelay', 0)
Global Const $NIN_BALLOONSHOW = $WM_USER + 2
Global Const $NIN_BALLOONHIDE = $WM_USER + 3
Global Const $NIN_BALLOONUSERCLICK = $WM_USER + 5
Global Const $NIN_BALLOONTIMEOUT = $WM_USER + 4
$hForm = GUICreate('')
If @AutoItX64 Then
$hDll = DllOpen(@ScriptDir & '\AITray_x64.dll')
Else
$hDll = DllOpen(@ScriptDir & '\AITray.dll')
EndIf
If $hDll <> -1 Then
$Ret = DllCall($hDll, 'int', 'AISetTrayRedirection', 'hwnd', WinGetHandle(AutoItWinGetTitle()), 'hwnd', $hForm)
If (@Error) Or (Not $Ret[0]) Then
DllClose($hDll)
Exit
EndIf
Else
Exit
EndIf
GUIRegisterMsg($WM_USER + 1, 'WM_TRAYNOTIFY')
TrayTip('Tip', 'This is a tray tip, click here.', 10, 1)
While 1
Sleep(1000)
WEnd
DllCall($hDll, 'int', 'AIRemoveTrayRedirection')
DllClose($hDll)
Func WM_TRAYNOTIFY($hWnd, $iMsg, $wParam, $lParam)
Switch $hWnd
Case $hForm
Switch $lParam
Case $NIN_BALLOONSHOW
ConsoleWrite('Balloon tip show.' & @CR)
Case $NIN_BALLOONHIDE
ConsoleWrite('Balloon tip hide.' & @CR)
Case $NIN_BALLOONUSERCLICK
ConsoleWrite('Balloon tip click.' & @CR)
Case $NIN_BALLOONTIMEOUT
ConsoleWrite('Balloon tip close.' & @CR)
EndSwitch
EndSwitch
EndFunc ;==>WM_TRAYNOTIFY
Скриншот:
Источник: Tray notifications redirector (оффициальный форум)
Автор: Yashied