我想用AHK来模拟 Ctrl + Alt + break 。
以下代码什么都不做。我还首先使用Num粘贴了密钥历史记录 - 然后实际按下了三重键组。当实际按键操作时,AHK键不起作用。两者生成的代码对我来说似乎是相同的,除了Break有d&你和AHK。但那应该不重要。我也介绍了延迟但这也行不通。
SetKeyDelay, 2,2
NumpadSub::
send {LCtrl Down}{LAlt Down}{vk03sc146}{LCtrl Up}{LAlt Up}
return
我还尝试使用{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
答案 0 :(得分:3)
即使它在RDP之前启动,也可以从AHK捕获CapsLock
密钥,它是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
}
以上命令将使MSTSC从全屏中断。
这里可以看到一个完整的例子(http://code.ecomerc.com/Articles/RotateCube/),它用于从全屏中断MSTSC并旋转Dexpot的立方体功能(一个3d窗口管理器)
答案 1 :(得分:0)
如果RDP客户端的键盘挂钩被激活,那么除非在RDP客户端之后启动脚本,否则没有auhotkey热键可以工作。
这是编写该行代码的更好方法; ^!歇