![禁用 OneDrive 快捷方式 (Ctrl+Alt+Shift+Win+D)](https://linux22.com/image/1596641/%E7%A6%81%E7%94%A8%20OneDrive%20%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%20(Ctrl%2BAlt%2BShift%2BWin%2BD).png)
看来 Office 已决定劫持键盘快捷键CTRL+ ALT+ SHIFT+ WIN+ D。
这似乎不是一个问题,但我已在 AutoHotKey 中分配了该键盘快捷键,并且已经使用多年了。
它开始打开 Office Hub,在我卸载它之后,它现在打开 Office Hub 网页。
那么,我该如何删除/禁用此键盘快捷键?
没有运行任何 Office 进程,并且我找不到任何.lnk
可能在属性中分配了快捷方式的文件。
有任何想法吗?
我正在使用最新的 Windows Insider Preview (18932) 和最新的 Office,并安装了所有更新。
答案1
刚刚升级到 Windows 1903 并自己遇到了这个问题,似乎微软决定将新 Office 应用程序的键盘快捷键分配给 Win+Ctrl+Alt+Shift!
将此打开命令更改为 rundll32 解决了这个问题。使用提升的 cmd,运行以下命令:
REG ADD HKCU\Software\Classes\ms-officeapp\Shell\Open\Command /t REG_SZ /d rundll32
答案2
自动热键可用于覆盖大多数键盘快捷键 - 通常唯一的例外是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 尚未完成。手动掩码快捷方式只是发送密钥的情况。
禁用 OneDrive 快捷方式 (Ctrl+Alt+Shift+Win+D)
AutoHotkey v1.x 的以下脚本禁用Ctrl+ Alt+ Shift+ Win+ D:
^+!#d::
Send {blind}{vk07}
;... perform other tasks here as needed ...
return
禁用 Office 快捷方式 (Ctrl+Alt+Shift+Win)
由于可以通过以任何顺序组合修饰键来激活主 Office 快捷方式,因此抑制它需要多个热键;每个“后缀”键一个:
#^!Shift::
#^+Alt::
#!+Ctrl::
^!+LWin::
^!+RWin::
Send {Blind}{vk07}
return
其他快捷方式
根据我在 Windows 10 build 18362.10014 上的实验,还存在以下快捷方式:ord Ctrl、eams 、ammer 、utlook/Mail、owerPoint、inkedIn、E cel 和 One ote。AltShiftWinWTYOPLxN
哪个程序夺走了键盘快捷键?
字母键快捷键的处理方式可能与所有其他注册的热键相同注册热键;也就是说,它们由一个程序(在本例中为 Explorer)注册,并且在该程序退出或终止时注销。
- 在 Windows 10 及更早版本中,可以通过Ctrl+ Shift-右键单击任务栏并选择“退出 Explorer”来退出 Explorer。或者,也可以通过任务管理器终止 Explorer。
- 如果脚本启动时 Explorer 未运行,则热键
^!+#d::
通常可以通过 AutoHotkey 注册 -ListHotkeys
显示“reg”方法。 - 如果脚本启动时 Explorer 正在运行,则
^!+#d::
无法注册热键,因此 AutoHotkey 将回退到使用键盘挂钩 -ListHotkeys
显示“k-hook”方法。 - 如果 Explorer 重新启动后该脚本已
^+!#d::
使用 RegisterHotkey 注册,内置热键不起作用即使 AutoHotkey 终止,直到 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 Access 运行以管理员身份运行会授予脚本及其启动的任何程序管理员权限,而以 UI Access 身份运行仅允许脚本绕过 UIPI。
答案3
如果您知道哪个程序/任务“抢夺”了键盘快捷键,则应检查该任务是否具有更高的权限。例如,它是否以管理员权限运行,而 AHK 则以普通用户权限运行。在这种情况下,您还应授予 AHK 管理员权限,这应该可以解决您的问题。
由于没有办公任务正在运行,不同的任务可能负责“破坏”快捷方式,因此有几个建议此网站可帮助您找到负责的任务。
答案4
您可以使用超能力。
免责声明:我是作者。