如何通过 autohotkey 使用自动化 netbeans ide 格式化我的 java 代码?

How can I format my java code with automating netbeans ide by autohotkey?

我想格式化选定的 java 代码,将密钥发送到隐藏的 NetBeans IDE.I 编写了以下脚本

^+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,我无法使用 WinMinimize 最小化 Netbeans window,"Netbeans"。我该如何解决这个问题?

我不使用 NetBeans,所以无法进行试验,但是:

  1. 双击脚本的托盘图标,然后 运行 Window Spy。
  2. 确保您正在检测正确的 window,并且您可能 必须尝试使用​​“SetTitleMatchMode RegEx" and refine your WinTitle 字符串,但这可能不是真的必要的,因为您的 ControlSend 似乎确实检测到了它。但是,我仍然会确定。
  3. 您可能还必须使用替代方法来最小化 window:
    来自 WinMinimize:
    PostMessage, 0x112, 0xF020,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF020 = SC_MINIMIZE
  4. 您真正想要使用的可能不是WinMinimize,而是WinHide

您不需要使用引号,您的代码将无法运行。如果你愿意,你不必使用逗号。

这段代码工作正常:

WinMinimize Netbeans
; WinMinimize, Netbeans ; this will work too

使用逗号:

WinMinimize % "Netbeans"

但由于某些程序使用动态 window 名称,您最好按进程名称最小化程序:

WinMinimize, ahk_exe netbeans.exe

此外,您可以只最小化活动 window:

WinMinimize A

更多:https://autohotkey.com/docs/misc/WinTitle.htm