Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Временное отключение HotKeySet

Ответить
Настройки темы
[решено] Временное отключение HotKeySet

Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Изменения
Автор: sashadeg
Дата: 28-06-2009
Нужно чтобы HotKeySet на время приостановили свою деятельность если окно находится НЕ в СВЁРНУТОМ состоянии...
Врядли это возможно, но всётаки решил спросить...

=========================

Исправил...

Отправлено: 21:47, 27-06-2009

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата sashadeg:
Врядли это возможно »
Возможно ещё как - Нужно проверять в функции хоткея состояние окна WinGetState().

Как это сделать? Очень просто - посмотреть в справке что возвращает WinGetState при свёрнутом окне, и проверить через BitAnd...

Код: Выделить весь код
Func MyHotKeyFunc()
    If Not BitAND(WinGetState($hGUI), тут то, что написано в справке для свёрнутого окна) Then Return ;окно НЕ свёрнуто

    ;тут выполнение кода по хоткею
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 21:57, 27-06-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Если для AutoIt окна:
Код: Выделить весь код
Removed

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Последний раз редактировалось Creat0R, 27-06-2009 в 22:01. Причина: Пора sashadeg'e учиться пользоваться справкой


Отправлено: 21:57, 27-06-2009 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


proxy, Ты извини конечно, но код я потёр в твоём посте (если что скажи, код я сохранил в буфер обмена ) - Причина редактирования:
Цитата:
Пора sashadeg'e учиться пользоваться справкой
Вот так постоянно кидать готовые примеры и решения, это не выход, я бы лично никогда не научился кодить на AutoIt если бы мне вот так давали всё готовое.. хотя иногда на примере лучше объяснить, но это не тот случай.

И кстати, зачем ты в цикле решил проверять состояние окна, можно же ведь в самой функции

Цитата proxy:
Если для AutoIt окна »
И это кстати sashadeg, тоже не уточнил, т.ч ждём его ответа.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 22:04, 27-06-2009 | #4


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
И кстати, зачем ты в цикле решил проверять состояние окна, можно же ведь в самой функции »
поспешил, необдумал ))

Цитата Creat0R:
Ты извини конечно, но код я потёр в твоём посте »
претензий нет - учусь доверять опыту ))

Цитата Creat0R:
Вот так постоянно кидать готовые примеры и решения, это не выход, я бы лично никогда не научился кодить на AutoIt если бы мне вот так давали всё готовое.. хотя иногда на примере лучше объяснить, но это не тот случай. »
тут правдо еще один аспект, иногда, интересно ж самому реализовать задачу и конечно же поделиться решением ))

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 22:08, 27-06-2009 | #5


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
что возвращает WinGetState при свёрнутом окне »
Это я знаю, что 16...
Цитата Creat0R:
MyHotKeyFunc() »
А что это заменяет HotKeySet ??? нифигасе...
Цитата Creat0R:
;тут выполнение кода по хоткею »
???

Цитата Creat0R:
ждём его ответа »
Да для AutoIt окна...

Извините, если что.... Просто я AutoIt с середины февраля этого года начал использовать... а до этого ВООБЩЕ ничего и никакого языка даже мельком не знал... Да и на AutoIt не обратил внимания, еслибы не send()...

Отправлено: 22:38, 27-06-2009 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата proxy:
иногда, интересно ж самому реализовать задачу и конечно же поделиться решением »
Да, но это же супер тривиальная задача, смысл?


Цитата sashadeg:
А что это заменяет HotKeySet ? »
Мда... Как всё запущенно... Это функция, которую указывают в HotKeySet, или вы ещё не поняли как работают функции в аутоите?

Цитата sashadeg:
??? »
Что не ясно? Там вместо комментария указываете действие, которые указывали в функции по хоткею.

Да и вообще... судя по сказанному в первом посте:

Цитата sashadeg:
Нужно чтобы HotKeySet не стимулировал нажатия клавиш »
Я начинаю сомневаться в том, что вы понимаете для чего сия функция - она не стимулирует нажатия клавиш, она вызывает определённую функцию при нажатии определённых клавиш пользователем.

Возможно имелась в виду Send() а не HotKeySet()?


Цитата sashadeg:
я AutoIt с середины февраля этого года начал использовать... а до этого ВООБЩЕ ничего и никакого языка даже мельком не знал »
Вот теперь вы попали, придётся учить до конца - И если начали учить недавно, это ещё не значит что для вас не существует справки и прочей внешней информации, кой в ести море!

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 22:50, 27-06-2009 | #7


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Я начинаю сомневаться в том, что вы понимаете для чего сия функция - она не стимулирует нажатия клавиш »
аааа.... Чёрт!!! простите, я перепутал, просто щас только что с одним парнем разговаривали про AutoIt, про send()... Вот я и збрякал не то...
Цитата Creat0R:
вы ещё не поняли как работают функции в аутоите? »
Ты прав... (не представляешь себе, как я был рад когда узнал что msgbox возвращает определённые цифры)

Цитата Creat0R:
Вот теперь вы попали »
Да я знаю... 3 день подряд от компа не отхожу (делаю перерыв на 8 часов, когда на работу ухожу xD) прихожу и опять... за 3 суток спал 9 часов... (подумать только, что я могу делать 3 суток с таким "ОГРОМНЫМ" обьёмом знаний )

===============
Хватит ко мне на Вы обращаться... ты меня лет на 9-10 старше... Или Вы такой вежливый?

-------
Ну вы ребята даёте...


Отправлено: 23:00, 27-06-2009 | #8


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата sashadeg:
Ты прав... (не представляешь себе, как я был рад когда узнал что msgbox возвращает определённые цифры) »
Я про UDF, пользовательские функции...

По поводу Send... в недавних версиях появилась такая класная функция, называется SendKeepActive(), она предназначена как раз (ну, почти, см. далее) для твоего случая:

Код: Выделить весь код
;Это позволит активировать окно пока необходимо посылать нажатия
SendKeepActive("Заголовок")

While 1
    Send("aaabbbccc")
    Sleep(1000)
WEnd
Но если нужно посылать нажатия только если окно активное минимизировано, то тут как раз и нужна пользовательская функция:

Код: Выделить весь код
;Вызов функции:
;"aaabbbccc" это посылаемы символы
;0 это флаг функции Send()
;а "Заголовок Окна" это... ну оно вроде и так понятно что это :)
_SendEx("aaabbbccc", 0, "Заголовок Окна")

;Этот блок ставим в конец скрипта,
;а то что выше можно дублировать и изменять параметры,
;это и называется вызов заданной функции
Func _SendEx($sKeys, $iFlag=0, $sTitle="[ACTIVE]")
    If Not BitAND(WinGetState($sTitle), 16) Then Return 0

    Send($sKeys, $iFlag)
EndFunc
Цитата sashadeg:
Хватит ко мне на Вы обращаться... ты меня лет на 9-10 старше... Или Вы такой вежливый? »
Ну во-первых, я и вправду (стараюсь быть ) вежливый. Я просто не знаю сколько кому лет, вот и предпочитаю всех на «Вы» называть, чтобы не гадать

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:21, 27-06-2009 | #9


Аватара для sashadeg

Старожил


Сообщения: 379
Благодарности: 6

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
нужно посылать нажатия только если окно активное минимизировано »
Мы друг друга видимо не поняли... Мне send() не нужно... В моей программе кнопки numpad используются как горячии клавиши... Но когда окно программы РАЗВЕРНУТО, то не желательно чтобы они всё ещё были "горячими", а на время приостановили свою деятельность назначенную им HotKeySet

P.S. Я делаю программу которая будет пропечатывать текст заданный в Input'e и закрепленный за определённой клавишей numpad-клавиатуры (с 1 по 9) (как ты понял, здесь будет испольоваться send )

-------
Ну вы ребята даёте...


Отправлено: 23:38, 27-06-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Временное отключение HotKeySet

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
HotKeySet и вызов функции с параметрами r35p3ct AutoIt 4 24-09-2009 16:28
[решено] HotKeySet() для одновременного управления несколькими скриптами Lyuk AutoIt 7 25-08-2009 17:23
[решено] Активация Script Paused через HotKeySet sashadeg AutoIt 4 28-06-2009 16:40
Временное сетевое подключение KUZOR Microsoft Windows NT/2000/2003 11 25-02-2003 07:01




 
Переход