Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Скрипты Autohotkey 
Author Message
Belkin



PostPosted: Tue Apr 25, 2006 23:09    Post subject: Reply with quote

Причина в том, что скрипт работает очень быстро, и к тому моменту, когда (командой Run) запустится Тотал, все последующие команды уже успеют выполниться, не сделав того, что должны.
Чтобы этого не происходило, нужно после команды Run добавить ожидание окна Тотала (команда WinWait, ahk_class TTOTAL_CMD).
Кроме того, для большей надежности, лучше использовать команду SendMessage, а не PostMessage. Эти команды отличаются тем, что скрипт после высылки SendMessage ждет ответа от приложения (в нашем случае ответа от Тотала), что команда принята и выполнена. А при использовании PostMessage, скрипт ответа не ждет.
В общем случае лучше использовать команду SendMessage. Исключение составляют ситуации, когда посланная нами команда вызывает модальный диалог, и мы не хотим, чтобы скрипт ждал, пока этот диалог завершится.
Добавлю, что время ожидания ответа после SendMessage не бесконечно, а составляет пять секунд. Но этого времени больше, чем достаточно, чтобы обработать поставленную в очередь команду (винда ведь многозадачна).
Кстати, синтаксис команды SendMessage полностью идентичен команде PostMessage. Т.е., например:
SendMessage, 0x433, 2127,,, ahk_class TTOTAL_CMD ; cm_OpenRecycled
Привет. Успехов.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group