Automation 如何通过自动热键自动设置netbeans ide来格式化java代码?
我想通过向隐藏的NetBeans IDE发送键来格式化所选java代码Automation 如何通过自动热键自动设置netbeans ide来格式化java代码?,automation,autohotkey,code-formatting,Automation,Autohotkey,Code Formatting,我想通过向隐藏的NetBeans IDE发送键来格式化所选java代码 ^+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
^+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”最小化NetBeans窗口。如何解决此问题?我不使用NetBeans,因此无法进行实验,但:
ControlSend
似乎能够正确地检测到它。不过,我还是要确定。发件人:
PostMessage,0x112,0xF020,,,WinTitle,WinText;0x112=WM_系统命令,0xF020=SC_最小化
WinMinimize
,而是您不需要使用引号,您的代码将无法工作。如果您愿意,您不必使用逗号 此代码工作正常:
WinMinimize Netbeans
; WinMinimize, Netbeans ; this will work too
与逗号一起使用:
WinMinimize % "Netbeans"
但是,由于某些程序使用动态窗口名,因此您最好按其进程名最小化程序:
WinMinimize, ahk_exe netbeans.exe
此外,您还可以最小化活动窗口:
WinMinimize A
更多信息:WinMinimize和WinHide之间有什么区别吗?当然。如果你尝试一下,你会看到很大的不同。非常感谢。“WinMinimize,ahk_exe netbeans64.exe”工作正常。但是ControlSend不能与“ahk_exe netbeans64.exe”一起工作。这很奇怪。
ControlSend
与ahk_exe
一起工作对我来说很好。也许你应该使用{Ctrl down}{V}{Ctrl up}
而不是{^V}
。确保代码中没有使用SendMode Input
,因为Input
模式太快,因此程序没有时间接收按键。如果这仍然不起作用,您可以在ctrl-down
和v
之间设置一个超时。