sum*_*hya 4 autohotkey remote-desktop
我想用AHK来模拟Ctrl++ 。Altbreak
下面的代码什么也不做。我还粘贴了首先使用 Num 的按键历史记录,然后实际按下了一组三键。当实际按键有效时,AHK 键不起作用。两者生成的代码对我来说似乎是相同的,只是 Break 与 AHK 有 d & u 。但这应该不重要。我还介绍了延迟,但这也不起作用。
SetKeyDelay, 2,2
NumpadSub::
send {LCtrl Down}{LAlt Down}{vk03sc146}{LCtrl Up}{LAlt Up}
return
Run Code Online (Sandbox Code Playgroud)
我还尝试使用 {CtrlBreak} 和以下命令,但在 Win XP 远程桌面中没有成功。发送!^{vk03sc146} 这段代码可以在我的 win 7 中找到。但是我需要远程访问 Win XP。请帮助。
6D 04A d 1.33 Num -
A2 01D i d 0.00 Ctrl
A4 038 i d 0.02 Alt
03 146 i d 0.02 Break
03 146 i u 0.02 Break
A2 01D i u 0.02 Ctrl
A4 038 i u 0.02 Alt
6D 04A u 0.16 Num -
74 03F d 1.00 F5
74 03F u 0.09 F5
74 03F d 2.02 F5
74 03F u 0.13 F5
74 03F d 0.19 F5
74 03F u 0.11 F5
A2 01D d 1.31 Ctrl
A4 038 d 0.00 Alt
03 146 u 0.39 Break
A2 01D u 0.06 Ctrl
A4 038 u 0.03 Alt
74 03F d 3.08 F5
Run Code Online (Sandbox Code Playgroud)
CapsLock即使 AHK 在 RDP 之前启动,也可以从 AHK 捕获该密钥,它是 RDP 传递给其他键盘挂钩的唯一密钥。
这可以在本地计算机上完成。当您在本地计算机上而不是在远程计算机上执行此操作时,您可以使用 AHK 获取 MSTSC 的窗口 id,并将恢复命令传递给窗口(不发送密钥,这是非常不可靠的)
;Get MSTSC window (this may have to be "ahk_class TSSHELLWND" for systems other than Win7)
If WinActive("ahk_class TscShellContainerClass") {
WinGet, active_id, ID, A
PostMessage, 0x112, 0xF120,,, ahk_id %active_id% ; 0x112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE
}
Run Code Online (Sandbox Code Playgroud)
上述命令将使 MSTSC 从全屏状态中断。
完整的例子可以在这里看到(http://code.ecomerc.com/Articles/RotateCube/),它用于从全屏状态下中断 MSTSC 并旋转 Dexpot(一个 3D 窗口管理器)的立方体功能