Как я могу отформатировать свой Java-код с помощью автоматизации netbeans ide с помощью autohotkey? - PullRequest
0 голосов
/ 02 мая 2018

Я хочу отформатировать выбранный Java-код с отправкой ключей в скрытую среду IDE NetBeans. Я написал следующий скрипт

^+b::
sleep 30
Send ^c
sleep 30
run,C:\Program Files\NetBeans 8.2\bin\netbeans64.exe "C:\sample.java",Hide
sleep 1500
ControlSend,,{^v}, "Netbeans"
sleep 50
ControlSend,,{!+f}, "Netbeans" 
sleep 50
ControlSend,,{^a}, "Netbeans" 
sleep 50
ControlSend,,{^c}, "Netbeans" 
sleep 50
WinMinimize,"Netbeans"
sleep 100
Send, ^v
return

Но при попытке отправить ключи с помощью ControlSend появляется скрытое NetBeans, и я не могу свернуть окно Netbeans с WinMinimize, "Netbeans". Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Вам не нужно использовать кавычки, ваш код не будет работать. И если вы хотите, вам не нужно использовать запятые.

Этот код отлично работает:

WinMinimize Netbeans
; WinMinimize, Netbeans ; this will work too

Использование с запятыми:

WinMinimize % "Netbeans"

Но так как некоторые программы используют динамическое имя окна, вам лучше минимизировать программы по имени процесса:

WinMinimize, ahk_exe netbeans.exe

Также вы можете просто свернуть активное окно:

WinMinimize A

Подробнее: https://autohotkey.com/docs/misc/WinTitle.htm

0 голосов
/ 02 мая 2018

Я не использую NetBeans, поэтому не могу экспериментировать, но:

  1. Дважды щелкните значок в трее вашего скрипта и запустите Window Spy.
  2. Убедитесь, что вы обнаруживаете правильное окно, и вам может придется поэкспериментировать с " SetTitleMatchMode RegEx" и уточнить вашу строку WinTitle , но это может не быть действительно необходимым, так как ваш ControlSend, похоже, правильно его обнаруживает. Тем не менее, я бы все-таки убедился.
  3. Возможно, вам также придется использовать альтернативный метод для минимизации окна:
    С WinMinimize :
    PostMessage, 0x112, 0xF020,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF020 = SC_MINIMIZE
  4. То, что вы действительно хотите использовать, может быть не WinMinimize, а WinHide.
...