mjs*_*ers 3 windows scripting autohotkey
我正在尝试编写一个脚本,该脚本将使用一个自动热键脚本基于热键命令执行以下操作之一:a) 打开一个特定的(10 个中的 1 个)跨网络的 vnc 连接,b)打开 5 个(10 个中的 5 个) ) 跨网络的单独 vnc 连接,以及 c) 打开跨网络的所有 10 个 vnc 连接。脚本的每次迭代都会打开一个到相关主机的单独连接。我可以让项目“c”在命令上工作,但是项目 (a) 和 (b) 将打开比我需要的更多的连接,并且我试图在每个热键结束时使用类似 end 或 exit 在其各自脚本末尾的东西。我已经列出了下面 (a) 和 (b) 项的代码,因为这些代码适用于:
项目 (a) 和项目 (b) 的一部分 [对于项目 (b),重复 x 次]
^!c::
{
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-1
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
Sleep 2000 [Only used for items (b) and (c) ;<== End here for Item (a) only
}
Run Code Online (Sandbox Code Playgroud)
对于项目 (b)
#a::
{
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-1
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
Sleep 2000 [Only used for items (b) and (c)
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-2
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
Sleep 2000 [Only used for items (b) and (c)
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-3
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
Sleep 2000 [Only used for items (b) and (c)
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-4
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
Sleep 2000 [Only used for items (b) and (c)
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send Frankenstien-SubSystem-5
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send <username>
Send {Tab}
Send <password>
Send {enter}
}
;END Here; <== Item (b) twice
}
Run Code Online (Sandbox Code Playgroud)
如何在完成给定任务时强制热键结束,但根据我提供的内容继续进行?
您正在寻找Return停止执行热键的命令。请参阅下面的一段代码。我创建了一个函数,您可以使用它来调用特定的机器,而无需太多代码重复。通过这种方式,您将获得所需的特定机器。
#a::VNC("Frankenstien-SubSystem-1", "myuser", "mypass")
#b::
VNC("Frankenstien-SubSystem-1", "myuser", "mypass")
VNC("Frankenstien-SubSystem-2", "myuser", "mypass")
VNC("Frankenstien-SubSystem-3", "myuser", "mypass")
VNC("Frankenstien-SubSystem-4", "myuser", "mypass")
VNC("Frankenstien-SubSystem-5", "myuser", "mypass")
Return
#c::
VNC("Frankenstien-SubSystem-1", "myuser", "mypass")
VNC("Frankenstien-SubSystem-2", "myuser", "mypass")
VNC("Frankenstien-SubSystem-3", "myuser", "mypass")
VNC("Frankenstien-SubSystem-4", "myuser", "mypass")
VNC("Frankenstien-SubSystem-5", "myuser", "mypass")
; ... and so on
Return
VNC(machine, user, pw)
{
Run, vnc-E4_6_3-x86_win32_viewer.exe, C:\Program Files (x86)\RealVNC\VNC4 Viewer
WinWaitActive, VNC Viewer
{
Send % machine
Send {enter}
}
WinWaitActive, Authentication Credentials
{
Send {Shift Down}
Send {Tab}
Send {Shift Up}
Send % user
Send {Tab}
Send % pw
Send {enter}
}
Sleep 2000
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4604 次 |
| 最近记录: |