Autoit сообщение в трее
Обновлено: 06.05.2024
Готовые скрипты и программы с открытым кодом на AutoIt:
В трее "сидит" программка.
Необходимо, чтобы при нажатии левой кнопкой мышки запускался графический интерфейс проги (при повторном нажатии он прятался), при нажатии правой кнопкой мышки вылазило меню с настройками.
Все, что у меня получилось, это делать любое их перечисленных действий, но только не одновременно. Т.е. при нажатии как левой, так и правой кнопок выполняется одно и тоже. Я просто не знаю как разделить нажатие левой и правой кнопок.
$Gui = GuiCreate ( "Tray Demo" )
GUISetState ()
While 1
$Msg = GUIGetMsg ()
$TrayMsg = TrayGetMsg ()
Select
Case $Msg = - 3 Or $TrayMsg = $ExitTrayItem
Exit
Case $TrayMsg = $TRAY_EVENT_PRIMARYDOWN
If _WinIsVisible ( $Gui ) Then
GUISetState ( @SW_HIDE )
Else
GUISetState ( @SW_SHOW )
WinActivate ( $Gui )
EndIf
EndSelect
WEnd
Т.е если подобный скрипт запустить так:
Еще один интересующий меня вопрос.
Вот код.
Люди, в справке всё это есть, это базовые вопросы, почитайте вниматильнее (используйте поиск и заголовки по справке, очень удобно), многому из справки можно научиться .
Еще вопрос.
А как изменять количество опций в меню?
К примеру было:
opt
option1
option2
option3
Допустим в "opt" можно установить количество "option" от 0 до 3.
Будет:
opt
option1
option3
Maza Faka так же спасибо, но ваш вариант в данном случае не работает, по всей видимости из-за относительных путей в батнике.
Вот пример с комментариями:
Global $OptionsArray [ 4 ]
Global $DefaultNumber = 1
$ChooseOption = TrayCreateItem ( "Указать количество пунктов в меню. " )
For $i = 1 To UBound ( $OptionsArray )- 1
$OptionsArray [ $i ] = TrayCreateItem ( "Пункт " & $i )
Next
$Seperator = TrayCreateItem ( "" )
$ExitItem = TrayCreateItem ( "Exit" )
While 1
$TrayMsg = TrayGetMsg ()
Switch $TrayMsg
Case $ExitItem
Exit
Case $ChooseOption
Input ()
EndSwitch
WEnd
Func Input ()
$Ubound = UBound ( $OptionsArray ) ;Общее число пунктов + 1 (чтобы не считать каждый раз)
While 1
$Var = InputBox ( "" , "Напишите необходимое количество" , $DefaultNumber )
If @error Then Return ;Если нажата "Отмена" то выходим из функции
$Var = StringRegExpReplace ( $Var , '[^0-9]' , '' )
;Проверяем ввёл ли юзер лигитимное число
If $Var = '' Then
MsgBox ( 48 , "Внимание!" , "Введено не верное число (или вовсе не число)" & @LF & "Введите ещё раз.." , 5 )
ContinueLoop
EndIf
ExitLoop
WEnd
;Если юзер ввёл одинаковое число что и пунктов меню, то ничего не делаем
If $Var = $Ubound - 1 Then Return
;Если введено больше пунктов, то просто добавляем.
If $Var > $Ubound - 1 Then
ReDim $OptionsArray [ $Var + 1 ]
For $i = $Ubound To $Var
$OptionsArray [ $i ] = TrayCreateItem ( "Пункт " & $i , - 1 , $i )
Next
Else ;если меньше, то удаляем лишние
For $i = $Var + 1 To $Ubound - 1
TrayItemDelete ( $OptionsArray [ $i ])
Next
ReDim $OptionsArray [ $Var + 1 ]
EndIf
ReConnect ( "Adsl" , "MyName" , "MyPass" , 2 )
Func Connect ( $ConnectionName , $UserName , $Password )
Run ( 'Rasdial "' & $ConnectionName & '" "' & $UserName & '" "' & $Password & '"' , '' , @SW_HIDE )
EndFunc
Func DisConnect ()
Run ( 'Rasdial /Disconnect' , '' , @SW_HIDE )
EndFunc
Отображает всплывающую подсказку с иконками AutoIt.
TrayTip ( "title" , "text" , timeout [, option = 0 ] )
title | Заголовок с жирным шрифтом в верхней части всплывающей подсказки. (Максимум 63 символа) |
text | Текст всплывающей подсказки. (Максимум 255 символа) |
timeout | Грубая установка времени (в секундах) отображения всплывающей подсказки. (Windows отображает мин. и макс. около 10-30 секунд, но не всегда выполняется в этом диапазоне.) |
option | [необязательный] Смотрите примечания. 0 - (по умолчанию) Без иконки 1 - Иконка "Информация" 2 - Иконка "Предупреждение" 3 - Иконка "Ошибка" |
Подсказка трея закрывается, если иконка AutoIt в трее исчезает. Следовательно, всплывающая подсказка не может появиться, если установлен AutoItSetOption ( "TrayIconHide" , 1 ) или если пользователь отключил отображение всплывающих подсказок в настройках реестра!
Windows XP обычно проигрывает звук при отображении всплывающей подсказки. Этот звук можно выключить, добавив 16 в параметр option или установив пустой заголовок.
Чтобы очистить всплывающую подсказку, которая продолжает отображаться, вызовите другую подсказку с пустым текстом (и любым заголовком).
Утилита выводит всплывающее уведомление (Balloon Tip) в области System Tray. Основное применение — в пакетных файлах. Следует обратить внимание на то, что она не предназначена для ведения логов чего-либо, поскольку на отображение уведомлений накладывается ряд ограничений, в том числе невозможность гарантированно задать точное время отображения уведомления.
Утилита принимает параметры из командной строки:
Все параметры являются обязательными.
Утилита появилась как дополнение к отсутствующей (надеюсь, пока) аналогичной возможности утилиты NirCmd.exe, поэтому она понимает следующие квалификаторы:
~t — табуляция;
~q — двойные кавычки;
~n — новая строка (CrLf);
~~ — тильда ~.
Пример использования в пакетном файле, производящем обновление сведений об оборудовании посредством вызова утилиты devcon.exe:
Во вложенном файле исходный код на языке AutoIt с ресурсами, скомпилированный исполняемый файл и пример командного файла.
You don't have the permssions to download the attachments of this post.
2 Ответ от alexii 2010-11-04 16:09:37
Начиная с версии 2.45 в утилите NirCmd появилась команда trayballoon — отображение всплывающего уведомления (Balloon Tip) в области System Tray. Предлагаю отныне, для целей изложенных в первом посте данной темы, пользовать отныне именно NirCmd с командой trayballoon.
Формат команды
trayballoon [Title] [Balloon Text] [Icon File] [Timeout]
где:
Title — заголовок всплывающего уведомления; может быть пустым (""), при этом подавляется и отображение иконки во всплывающем уведомлении, даже если она задана (в самой области уведомления иконка отображается).
Balloon Text — текст всплывающего уведомления.
~t — табуляция;
~q — двойные кавычки;
~n — новая строка (CrLf);
~~ — тильда ~.
Timeout — время отображения всплывающего уведомления в миллисекундах; конечно, полагаться на точность здесь не стоит.
Пример, аналогичный первому примеру из предыдущего поста:
Со вторым примером:
Конфигурация компьютера | |
Процессор: Intel Core i3 530 (2.93GHz) | |
Материнская плата: GigaByte GA-H55M-S2H | |
Память: 4 Гб DDR3-1333 DDR3 SDRAM | |
HDD: WDC WD10EARS-00Z5B1 (1000 Гб) | |
Видеокарта: NVIDIA GeForce GTS 250 (1024 Мб) | |
Звук: Realtek High Definition Audio | |
Блок питания: 500Вт | |
CD/DVD: HL-DT-ST DVDRAM GH22NS50 | |
Монитор: Монитор ЖК 22" Samsung SyncMaster 2223NW | |
ОС: Windows 7 |
Смотри в справке описание, и пример к функции: TrayCreateItem.
А вот, если хочется это сделать красивее:
-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Конфигурация компьютера | |
Процессор: Intel Core i3 530 (2.93GHz) | |
Материнская плата: GigaByte GA-H55M-S2H | |
Память: 4 Гб DDR3-1333 DDR3 SDRAM | |
HDD: WDC WD10EARS-00Z5B1 (1000 Гб) | |
Видеокарта: NVIDIA GeForce GTS 250 (1024 Мб) | |
Звук: Realtek High Definition Audio | |
Блок питания: 500Вт | |
CD/DVD: HL-DT-ST DVDRAM GH22NS50 | |
Монитор: Монитор ЖК 22" Samsung SyncMaster 2223NW | |
ОС: Windows 7 |
Смотри в справке описание функции: TraySetClick . (Сдесь используется в _TrayIconSetClick(-1, 9) - 9 что означает 1 = Pressing primary mouse button + 8 = Pressing secondary mouse button, иными словами при клике на значке в сист.трее левой или правой клавишей мышки, появится трей-меню. (А функция _TrayIconSetClick из библиотеки ModernMenuRaw.au3)
-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.
Конфигурация компьютера | |
Процессор: 4x2.53 (Core i5) | |
Материнская плата: Apple MacBook Pro | |
Память: 2x4GB SO-DIMMs of 1066MHz DDR3 SDRAM | |
HDD: Hitachi SATA 500 GB | |
Видеокарта: nVidia GeForce GT 320M | |
Звук: Cirrus Logic CS4206A | |
Блок питания: Нет | |
CD/DVD: Matshita DVD-R | |
Монитор: 15'' MacBook Pro monitor | |
Ноутбук/нетбук: MacBook Pro 6.2 | |
ОС: OS X Mountain Lion (10.8.2) |
Подскажите, как вставить сюда этот скрипт
;Добавляем программу в автозапуск
If RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName) = "" Then _
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
;Указываем программу на запуск
$sApp = "notepad.exe"
;Указываем число запуска
$nDay = 16
While 1
If @MDAY = $nDay Then
Run($sApp)
While @MDAY = $nDay
Sleep(60000)
WEnd
EndIf
Уже все перепробовал но у меня не раб кнопка Выход, спасибо!
Конфигурация компьютера | |
Процессор: Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz, 3701 МГц, ядер: 4, логических процессоров: 4 | |
Материнская плата: Gigabyte Technology Co., Ltd. BIOS American Megatrends Inc. F11, 21.08.2012 | |
Память: G.Skill 4096 Мб (DDR3), Corsair 8192 Мб (DDR3) | |
HDD: WDC WD10EALX-009BA0 ATA Device | |
Видеокарта: NVIDIA GeForce GT 220 | |
Звук: VIA Technologies, Inc. | |
Монитор: Fujicom 200804220001 (23) | |
ОС: Windows 10 Professional x64 |
Куда сюда? И код нужно заключать в соот-вующие теги.
Вопрос был в том, как поменять значок скрипта в трее, вам дали короткий и верный ответ - используйте TraySetIcon.
-------
“Сделай так просто, как возможно, но не проще этого.”. “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”
Скажите пожалуйста- есть ли возможность сделать - всплывающую подсказку при наведении курсора на иконку трея скрипта- которая будет показывать количество раз срабатывания цикличного скрипта.
Цикл такой : For $Step = 1 To 20 step 1
Всплывающая подсказка при наведении курсора на компонент
Возник еще один вопрос: как сделать, что бы при подводе стрелочки мышки к Label1 - появлялась.
Как сделать, чтобы при наведении курсора на текст появлялась всплывающая подсказка
день вечер! в power point редко приходилось работать, точнее простые презентации дела, а вот с.
При наведении курсора на определённую позицию в заказе появляется всплывающая подсказка (по позиции)
В скрипте информация представляется в иерархической структуре (контракт – цех – заказ - позиция).
Всплывающая подсказка при наведении на блок
есть такая конструкция из python + html <td style="background: .
Читайте также: