一键禁用 Ctrl+Alt+Shift+Windows 打开 Office 全局快捷键实用工具

很多使用 Windows的朋友,都很讨厌 Office 的全局快捷键,也就是 "Alt+Ctrl+Shift+Windows" 弹出 Office窗口,想禁用掉。

这个组合键在系统里藏得很深,设置根本关不掉。妥妥的就是个流氓快捷键。

Office 快捷键管理助手就是为了解决这个小问题编写的小工具,本程序使用 AU3 编写。

下载地址:

点此下载 《OfficeHotkeyManager.zip

操作非常简单:

一键屏蔽:点一下"Disable Hotkey",按 "Ctrl+Alt+Windows+Shift" 就不会弹出 Office了。

一键找回:如果想重新用这个快捷键弹出 Office,点一下"Enable Hotkey"就能复原,非常方便。

注意:必须用系统管理员权限运行。

用法:

  1. 以管理员权限启动本程序:
    因为改注册表得有系统最高权限,所以双击打开时,如果弹出"是否允许修改"的UAC安全提醒框,请点"是"允许。
  2. 点击"Enable"或"Disable"启用或禁用快捷键。
  3. 弹出"Success"提示框就搞定了。不用重启电脑,现在你就可以按 "ctrl+alt+windows+shift" 四个键试试,保准没反应。

原理:

这个快捷键本质上是在唤起调用系统里的一个叫 ms-officeapp 的协议。

程序的工作原理很简单:在注册表里把这个协议执行命令给替换劫持了。原本按键是让系统"去开 Office",现在被改成了"去运行 rundll32.exe"。因为这个 rundll32 后面没跟任何命令,所以它跑一下就自动静默退出了,不弹出任何窗口。

结果就是键盘按了,系统响应了,但看起来啥反应都没有。

这个工具只是屏蔽快捷键,不会删掉你的 Word 或 Excel,更不会动你的文档,放心使用。


本程序使用 AU3 编写。

autoit3 复制代码
#NoTrayIcon
#RequireAdmin

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>

Global Const $REG_PATH_HKLM = "HKLM\Software\Classes\ms-officeapp\Shell\Open\Command"
Global Const $REG_PATH_HKCU = "HKCU\Software\Classes\ms-officeapp\Shell\Open\Command"
Global Const $TARGET_VAL = "rundll32.exe"

Local $hMainGUI = GUICreate("Office hotkey Manager", 400, 220)
GUISetFont(10, 400, 0, "Microsoft YaHei")

Local $sDescription = "Description:" & @CRLF & _
"This utility manages the 'Ctrl+Win+Alt+Shift' shortcut." & @CRLF & _
"Enable: Restores the default Office app behavior." & @CRLF & _
"Disable: Shortcut key will not open Office app."
GUICtrlCreateLabel($sDescription, 20, 20, 360, 100)

Local $idBtnAction = GUICtrlCreateButton("Checking Status...", 100, 140, 200, 40)

GUISetState(@SW_SHOW)

_RefreshStatus($idBtnAction)

While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $idBtnAction
_HandleToggle($idBtnAction)
EndSwitch
WEnd

Func _IsDisabled()
Local $sVal = RegRead($REG_PATH_HKCU, "")
Return ($sVal == $TARGET_VAL)
EndFunc ;==>_IsDisabled

Func _RefreshStatus($ctrlID)
If _IsDisabled() Then
GUICtrlSetData($ctrlID, "Enable Hotkey (&E)")
Else
GUICtrlSetData($ctrlID, "Disable Hotkey (&D)")
EndIf
EndFunc ;==>_RefreshStatus

Func _HandleToggle($ctrlID)
If _IsDisabled() Then
; To Enable: Delete the hijacked keys
RegDelete($REG_PATH_HKLM)
RegDelete($REG_PATH_HKCU)
MsgBox($MB_ICONINFORMATION, "Success", "Office shortcut has been ENABLED.")
Else
; To Disable: Write the hijacked keys
RegWrite($REG_PATH_HKLM, "", "REG_SZ", $TARGET_VAL)
RegWrite($REG_PATH_HKCU, "", "REG_SZ", $TARGET_VAL)
MsgBox($MB_ICONINFORMATION, "Success", "Office shortcut has been DISABLED.")
EndIf
_RefreshStatus($ctrlID)
EndFunc ;==>_HandleToggle
相关推荐
猎嘤一号1 小时前
【2026 最新】Windows 11 右键菜单还原为 Windows 10 经典样式:一条命令、原理、回退与新版说明
windows·python
qq_369224332 小时前
ddraw.dll丢失是什么原因引起的?老游戏运行报错,多种可行修复手段汇总分享
windows·游戏·dll·dll修复·dll丢失·dll错误
BR_D2 小时前
Windows 下 nvm 安装与完整使用教程
windows·nodejs·nvm
还是大剑师兰特4 小时前
Maven‑3.9.16 Windows 下载+安装+环境变量完整教程
java·windows·maven
️学习的小王5 小时前
Windows Claude Code 接入 Playwright‑MCP,调用本机Edge浏览器(避坑完整教程)
前端·windows·edge
吴声子夜歌7 小时前
Guava——基本工具(一)
windows·guava
坐吃山猪7 小时前
JDK 8 到 JDK 21 新特性知识要点
java·开发语言·windows
kakakahahahaha8 小时前
重装系统后 D 盘没了怎么办?磁盘管理显示“存储空间保护分区”的恢复思路
windows·电脑·内容运营·软件需求
您^_^10 小时前
DeepSeek-Harness 升级排障完全指南:三类本地残留逐个拆解
人工智能·windows·个人开发·deepseekharness·deepseekv4pro
MSTcheng.10 小时前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统