скрипт открывает документ, но не с помощью горячей клавиши

Я создаю сценарий для открытия и запуска с программой, которая не имеет файлов справки, но поставляется с огромным руководством в формате PDF. Нет возможности открыть его из программы, поэтому я настроил команду для его открытия. Команда открывает PDF-файл при запуске сама по себе, но когда я назначаю горячую клавишу, она не работает. Какой самой базовой информации мне не хватает?

спасибо, Эллен

SetTitleMatchMode, 2
runwait C:\Program Files\FontLab\TypeTool3\TTool3.exe, , max
IfWinExist TypeTool 3
    Return
ExitApp

Return

#ifWinActive, TypeTool 3

  $wheeldown::wheelup

  $wheelup::wheeldown

  F1::
    Run, C:\Documents and Settings\Ellen\My Documents\TypeTool3WinMan.pdf
  Return

#ifWinActive

person decibelle    schedule 16.04.2013    source источник


Ответы (1)


У вас есть возврат перед оператором #IfWinActive? Если нет, то во время запуска скрипт будет запускать каждую строку, пока не дойдет до первого возврата, который для вас кажется до конца. Так что также поместите return после команды Run, C:.....

И о.. Вы уверены насчет этого странного длинного ahk_class? Это может быть правильно, но выглядит странно, и если это немного не так, ваша горячая клавиша никогда не будет работать, поэтому попробуйте сначала с закомментированной строкой #IfWinActive.

SetTitleMatchMode, 2
;All the stuff you want to run at startup....
Return
#ifWinActive, (part of) the window name here e.g. Excel

  $wheeldown::wheelup

  $wheelup::wheeldown

  F1::
    Run, C:\Documents and Settings\Ellen\My Documents\TypeTool3WinMan.pdf
  Return
#ifWinActive
person Robert Ilbrink    schedule 16.04.2013
comment
Да, это имя окна. Я как раз собиралась это написать, но увидела, что у вас уже есть. Я обнаружил, что имя меняется — последний набор цифр отличается — каждый раз, когда я его открываю! Это демо-версия (я пока не решаюсь ее купить), так что, может быть, это как-то связано? Во всяком случае, он работает без имени (я указал возвраты), но тогда он глобальный. Есть ли способ заставить его работать только с заголовком окна? Я не уверен, как работает SetTitleMatchMode. - person decibelle; 17.04.2013
comment
Обновлено с помощью SetTitleMatchMode, 2 - person Robert Ilbrink; 17.04.2013
comment
Спасибо, это работает. Сейчас я пытаюсь закрыть скрипт вместе с программой, как и в предыдущих скриптах. Я попытался использовать этот код CloseScript, который вы мне дали, для других скриптов в том же месте, но это привело к немедленному закрытию скрипта. Я переместил его в конец скрипта (выше), но это совсем не работает. Пожалуйста, объясните, что мне нужно сделать. - person decibelle; 17.04.2013
comment
если вы хотите, чтобы скрипт закрылся после того, как вы закрыли свой TypeTool, вы можете попробовать runwait, который будет ждать с дальнейшим выполнением, пока только что запущенное приложение не будет закрыто, вы просто помещаете ExitApp после runwait..... - person Robert Ilbrink; 17.04.2013
comment
Хорошо, понял (см. выше). Спасибо еще раз! - person decibelle; 17.04.2013