如何使用自动热键在 mstsc 窗口内交换 Alt+PgUp 和 Alt+PgDn?

如何使用自动热键在 mstsc 窗口内交换 Alt+PgUp 和 Alt+PgDn?

上下文描述:作为 Windows 管理员,我经常从客户端计算机使用 mstsc.exe 连接到 Windows 服务器远程桌面。我意识到,当 mstsc 是客户端计算机上的活动窗口时:

  • Alt+PgUp就像Alt+Tab在服务器内部一样
  • Alt+PgDn就像Alt+Shift+Tab在服务器内部一样

但是,我坚信微软在这里的 PgUp/PgDn 指定是违反直觉的。原因:[ 按住Alt] 和 [Tab多次按下 ] 循环切换窗口从上到下按 z 顺序排列(Windows API 术语),因此它更像是向下翻页操作。因此,Alt+PgDn应该映射到Alt+Tab而不是Alt+Shift+Tab

因此,我尝试使用 Autohotkey 进行按键映射。根据官方文件,我写了一段代码:

#IfWinActive ahk_class TscShellContainerClass

!PGUP:: !PGDN
!PGDN:: !PGUP

#IfWinActive ahk_class 

它几乎可以工作,但最终失败了。症状是:当我按下 时Alt+PgDn,切换窗口出现并且焦点移动,但释放按键时,切换实际上并没有发生 - 非常奇怪!

在此处输入图片描述

有人可以帮我吗?

Autohotkey 版本:1.1.13.01,客户端机器是 Windows 7 x64,服务器机器是 Windows Server 2008 R2 和 Windows Server 2003。

答案1

您是否也尝试过添加 UP 热键?类似这样的...

!PGUP:: !PGDN
!PGDN:: !PGUP
!PGUP UP:: !PGDN UP
!PGDN UP:: !PGUP UP

这可能不是发送上行序列的确切语法(它可能类似于Send !{PGDN UP},但只是一个测试的想法。

相关内容