|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Получение нотификации об изменении активного окна |
|
[решено] Получение нотификации об изменении активного окна
|
Новый участник Сообщения: 1 |
День добрый.
Есть несколько скриптов с наборами хоткеев для разных приложений. Хочется сделать мастер скрипт, который бы получал нотификацию о смене активного окна, и в зависимости от того какое окно стало активным, делал переключение между наборами хоткеев. Есть ли подходящие апи, или нужно по таймеру проверять какое окно активно? Спасибо. |
|
Отправлено: 15:43, 26-06-2013 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Хук отлавливания активного окна:
#NoTrayIcon #include <WinAPI.au3> Opt("WinWaitDelay", 0) HotKeySet('{ESC}', '_Exit') Global Const $HSHELL_WINDOWACTIVATED = 4 Global Const $HSHELL_RUDEAPPACTIVATED = 32772 $iMsg = _WinAPI_RegisterWindowMessage('SHELLHOOK') GUIRegisterMsg($iMsg, 'HShellWndProc') DllCall('user32.dll', 'int', 'RegisterShellHookWindow', 'hwnd', GUICreate('')) While 1 Sleep(100) WEnd Func _Exit() Exit EndFunc Func HShellWndProc($hWnd, $Msg, $wParam, $lParam) Switch $wParam Case $HSHELL_WINDOWACTIVATED, $HSHELL_RUDEAPPACTIVATED ToolTip(WinGetTitle($lParam), -1, -1, 'Active Window Title') EndSwitch EndFunc |
------- Последний раз редактировалось Creat0R, 30-06-2013 в 00:02. Отправлено: 17:42, 26-06-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Creat0R,
У меня на Win7x86 Ваш код не работает. ![]() $wParam возвращает только HSHELL_WINDOWDESTROYED (0x00000002) и HSHELL_REDRAW (0x00000006). Разобрался. У меня работает скрипт, который создает скрытые окна IE. Если его отключить, то Ваш код отлавливает активные окна, если скрипт работает, то нет. Почему? Не понятно. |
Последний раз редактировалось madmasles, 27-06-2013 в 06:27. Отправлено: 06:08, 27-06-2013 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата madmasles:
Можно на него посмотреть? |
|
------- Отправлено: 10:50, 27-06-2013 | #4 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 14:27, 28-06-2013 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата madmasles:
|
|
------- Отправлено: 00:03, 30-06-2013 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - постоянно выбрасывает из активного окна | zaipashu | Программное обеспечение Windows | 16 | 20-12-2012 17:36 | |
Разное - Самопроизвольное отключение активного окна. | terabo | Microsoft Windows 2000/XP | 1 | 17-10-2011 17:06 | |
Интерфейс - [решено] Проблема с развертывание активного окна | genkoo | Microsoft Windows 7 | 2 | 29-08-2011 09:53 | |
Интерфейс - Потеря фокуса активного окна | James Marsh | Microsoft Windows 2000/XP | 7 | 10-08-2011 19:05 | |
[решено] как узнать pid активного окна ??? | shyra1976 | AutoIt | 7 | 30-06-2009 11:22 |
|