|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] как сделать клик на иконке в tray |
|
|
[решено] как сделать клик на иконке в tray
|
Новый участник Сообщения: 25 |
Не могу сообразить как сделать клик на иконке в tray
|
|
Отправлено: 21:11, 12-02-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Можно по PID:
#NoTrayIcon #include <SysTray_UDF.au3> ; $Pid = ProcessExists("Opera.exe") If Not $Pid Then MsgBox(16, "Error", "This process not exists") Exit EndIf $Index = _SysTrayIconIndex($Pid) If @error Then MsgBox(16, "Error", "This process not have tray icon") Exit EndIf _SysTrayIconClick($Index, "Right") If @error Then MsgBox(16, "Error", "There was an error to click on the icon") Exit EndIf Func _SysTrayIconClick($iIndex, $sButton="Main") Local $TrayIcon_Pos = _SysTrayIconPos($iIndex) If Not IsArray($TrayIcon_Pos) Then Return SetError(1, 0, 0) Local $Old_Mouse_Pos = MouseGetPos() MouseClick($sButton, $TrayIcon_Pos[0], $TrayIcon_Pos[1], 1, 0) MouseMove($Old_Mouse_Pos[0], $Old_Mouse_Pos[1], 0) EndFunc |
------- Отправлено: 07:01, 13-02-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать А как при этом выбрать пункт из контекстного меню?
Creat0R, с помощью вашей программы контекстное меню Диспетчера очереди печати (spoolsv.exe) выскакивает, мне теперь нужно выбрать в нем пункт "Обновить ...". Мне это требуется после программной очистки очереди печати, чтобы иконка не маячила в трее. Если выбрать в контекстном меню Диспетчера очереди печати (spoolsv.exe) пункт "Обновить ...", иконка при этом, если очередь печати пустая, исчезает. Может ее убрать можно как то и иначе, не знаю, пока нашел только способ с "Обновить ..." - в общем надо как то её убрать из трея. |
Последний раз редактировалось kuzyaka, 13-03-2010 в 14:10. Отправлено: 13:36, 13-03-2010 | #3 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Я новичок в данной программе, она мне требуется лишь для того, чтоб сделать три клика в трее, т.е. запустить программу. При загрузке компьютера.
как это возможно сделать? Подскажите какие значения надо изменить, просто нет времени вникать во всю программу. |
Отправлено: 18:02, 01-03-2011 | #4 |
Забанен Сообщения: 91
|
код работает но если появляется новая иконка,кликает мимо.
хотелось бы чтоб работало корректнее |
|
Отправлено: 15:44, 18-07-2012 | #5 |
Старожил Сообщения: 265
|
Профиль | Отправить PM | Цитировать суровый, а если вызвать _SysTrayIconIndex перед SysTrayIconClick?
|
Отправлено: 16:52, 18-07-2012 | #6 |
Забанен Сообщения: 91
|
в коде так и есть
вообще странно конечно нафиг тогда проверка присутствия приложения в трее если он всё время кликает самую левую иконку вот один в один только имя файла моё #NoTrayIcon #include <SysTray_UDF.au3> ; $Pid = ProcessExists("advor.exe") If Not $Pid Then MsgBox(16, "Error", "This process not exist") Exit EndIf $Index = _SysTrayIconIndex($Pid) If @error Then MsgBox(16, "Error", "This process not have tray icon") Exit EndIf ;_SysTrayIconIndex($Pid) // эта строчке никак не влияет _SysTrayIconClick($Index, "Right") If @error Then MsgBox(16, "Error", "There was an error to click on the icon") Exit EndIf Func _SysTrayIconClick($iIndex, $sButton="Main") Local $TrayIcon_Pos = _SysTrayIconPos($iIndex) If Not IsArray($TrayIcon_Pos) Then Return SetError(1, 0, 0) Local $Old_Mouse_Pos = MouseGetPos() MouseClick($sButton, $TrayIcon_Pos[0], $TrayIcon_Pos[1], 1, 0) MouseMove($Old_Mouse_Pos[0], $Old_Mouse_Pos[1], 0) EndFunc ![]() |
Последний раз редактировалось суровый, 18-07-2012 в 21:08. Отправлено: 18:57, 18-07-2012 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата суровый:
![]() |
|
Отправлено: 20:28, 18-07-2012 | #8 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата суровый:
|
|
Отправлено: 21:31, 18-07-2012 | #9 |
Забанен Сообщения: 91
|
![]() прикольно Блин,всё это конечно хорошо но почему иконка кликается всегда левая хоть что пиши в Цитата суровый:
Цитата суровый:
Мозг устал размышлять по текущей ситуации. |
||
Отправлено: 23:36, 18-07-2012 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - Как свернуть определенное окно в трей (Tray) | Guest | Программное обеспечение Windows | 21 | 06-02-2020 18:35 | |
Разное - System Tray как в windows 7 | Windowz777 | Оформление Windows XP | 10 | 31-01-2010 18:07 | |
Как сделать двойной клик на объекте, без мышки? | Twix1124 | AutoIt | 2 | 26-07-2009 21:48 | |
[решено] как перехватить клик мышки? | proxy | AutoIt | 7 | 21-03-2009 11:13 | |
[решено] Нужно сделать клик в браузере | ph0en1x | AutoIt | 5 | 10-02-2009 11:06 |
|