Lar*_*jrn 12 windows keyboard-shortcuts microsoft-office autohotkey windows-10
似乎 Office 已决定劫持键盘快捷键CTRL+ ALT+ SHIFT+ WIN+ D。
这似乎不是问题,但我已经在 AutoHotKey 中分配了该键盘快捷键,并且已经使用了多年。
它开始打开 Office Hub,在我卸载它后,它现在打开 Office Hub 网页。
那么,如何删除/禁用此键盘快捷键?
没有 Office 进程在运行,我找不到任何.lnk可能在属性中分配了快捷方式的文件。
有任何想法吗?
我使用的是最新的 Windows Insider Preview (18932) 和最新的 Office,并安装了所有更新。
jfr*_*ner 15
刚刚升级到Windows 1903并自己打了这个,似乎微软决定将新Office App的键盘快捷键分配给Win + Ctrl + Alt + Shift!
将 open 命令更改为 rundll32 为我解决了这个问题。使用提升的 cmd,运行以下命令:
REG ADD HKCU\Software\Classes\ms-officeapp\Shell\Open\Command /t REG_SZ /d rundll32
Run Code Online (Sandbox Code Playgroud)
AutoHotkey可用于覆盖大多数键盘快捷键 - 通常唯一的例外是Ctrl+ Alt+Del和Win+ L。
这种情况下的一个复杂问题是 AutoHotkey 不会阻止修饰键,因为这样做会干扰它们的正常功能。例如,热键^!+#d::会抑制该D键,但只有在四个修饰键已经传递到操作系统和活动窗口之后。实际上,操作系统的键盘快捷键识别器只能看到Ctrl+ Alt+ Shift+Win而不是Ctrl+ Alt+ Shift+ Win+ D,因此它不会打开 OneDrive,而是打开 Office 应用或网站。
这通常适用于 Win 和 Alt 键,它们通常激活“开始”菜单或窗口菜单。但是,在这些情况下,AutoHotkey 通过发送键自动“屏蔽”菜单(LCtrl默认情况下,但可以使用#MenuMaskKey覆盖)。当操作系统的键盘快捷键识别器发现 Win 或 Alt 与另一个键组合使用后,它会避免在释放 Win 或 Alt 键时激活菜单。
AutoHotkey 的未来更新可能会添加此屏蔽^!+#,但从 v1.1.30.03 开始,尚未完成。手动屏蔽快捷方式只是发送密钥的情况。
AutoHotkey v1.x 的以下脚本禁用Ctrl+ Alt+ Shift+ Win+ D:
^+!#d::
Send {blind}{vk07}
;... perform other tasks here as needed ...
return
Run Code Online (Sandbox Code Playgroud)
由于可以通过按任意顺序组合修饰键来激活主 Office 快捷方式,因此抑制它需要多个热键;每个“后缀”键一个:
#^!Shift::
#^+Alt::
#!+Ctrl::
^!+LWin::
^!+RWin::
Send {Blind}{vk07}
return
Run Code Online (Sandbox Code Playgroud)
根据我在 Windows 10 build 18362.10014 上的实验,还存在以下Ctrl+ Alt+ Shift+Win快捷方式:Word、Teams、Yammer、Outlook/Mail、PowerPoint、LinkedIn、E xcel 和 One Note。
字母键快捷键的处理方式可能与使用RegisterHotkey注册的所有其他热键相同;也就是说,它们由程序(本例中为 Explorer)注册,并在该程序退出或终止时取消注册。
^!+#d::通常可以通过 AutoHotkey 注册 -ListHotkeys显示“reg”方法。^!+#d::无法注册热键,因此 AutoHotkey 会转而使用键盘挂钩 -ListHotkeys显示“k-hook”方法。^+!#d::,内置热键也不会工作,直到重新启动 Explorer。这可以通过以下事实来解释:如果热键已被任何进程注册,则 RegisterHotkey 将失败。这也可以通过更传统的快捷方式观察到,例如Win+ E,但不是Win+ L,出于安全原因,它可能在较低级别实现。
但是,主 Office 快捷方式 ( Ctrl+ Alt+ Shift+ Win) 的行为方式并非如此,并且不能通过简单地定义不执行任何操作的热键来禁用。这可能是因为它是在释放修饰键时激活的,而不是在按下修饰键时激活的。
Office 应用程序似乎不负责快捷方式的注册。如果通过“设置”应用程序“卸载”Office 应用程序,请按Ctrl+ Alt+ Shift+Win 重新安装Office 应用程序,然后将其打开。如果通过 PowerShell 完全删除该应用程序,该快捷方式将改为打开 Office 网站。
在我的系统上,One Drive快捷方式显示错误消息(Windows找不到OneDrive.exe),然后打开OneDrive网站,无疑是因为我已经卸载了OneDrive。
...不需要覆盖系统定义的热键。但是,如果活动窗口在比 AutoHotkey 更高的完整性级别上运行,则使用键盘挂钩实现的热键(例如上述所有热键)通常将不起作用。这是由于称为“用户界面权限隔离”的安全功能,可以通过“使用 UI 访问运行”来绕过该功能。虽然以管理员身份运行会向脚本及其启动的任何程序授予管理员权限,但以 UI 访问权限运行仅允许脚本绕过 UIPI。
如果您知道哪个程序/任务“抢夺”了键盘快捷键,您应该检查该任务是否具有更高的权限。例如,如果它以管理员权限运行,而 AHK 以常规用户权限运行。在这种情况下,您还应该授予 AHK 管理员权限,这应该可以解决您的问题。
由于没有办公室任务正在运行,不同的任务可能负责“破坏”快捷方式,因此网站上有一些建议可以帮助您找到负责的任务。
| 归档时间: |
|
| 查看次数: |
5682 次 |
| 最近记录: |