按一下快捷键,只关显示器——不睡眠、不锁屏、不中断后台任务。动一下鼠标或按任意键就重新亮屏。
一个基于 .NET Framework 4 的 WinForms 小工具,编译出来是单个 exe,免安装、无依赖,常驻系统托盘。
- 全局快捷键关屏,默认
Ctrl+Alt+Shift+J - 四条独立的按键检测通道,尽量保证在输入法、全屏游戏、远程桌面等环境下也能触发
- 托盘常驻图标,右键菜单搞定所有操作
- 自定义快捷键:弹出对话框,直接按下新组合键即可改键,立刻生效
- 开机自动启动开关
- 详细日志开关,按键没反应时方便排查
- 程序已在运行时,再次双击桌面图标 = 立即关屏
| 菜单项 | 作用 |
|---|---|
| 关闭屏幕 | 立即关屏 |
| 自定义快捷键… | 弹出对话框,按下新组合键后保存 |
| 开机自动启动 | 勾选后写入启动文件夹快捷方式 |
| 记录详细日志 | 写入 verbose.flag,记录每次按键的判定过程 |
| 打开程序所在文件夹 | 在资源管理器中定位到 exe |
| 查看运行日志 | 打开 hotkey.log |
| 把图标固定到任务栏托盘区 | 把托盘图标提升为常显 |
| 使用说明 | 打开 README.txt |
| 退出 | 结束常驻 |
托盘图标 左键双击 = 关屏。
- 必须包含
Ctrl/Alt/Shift/Win中的至少一个,避免和平时打字冲突。 - 支持的键位:
- 字母
A–Z、数字0–9 - 功能键
F1–F24 - 小键盘
Num0–Num9 - 方向键、
HomeEndInsertDeletePageUpPageDownPrtScSpaceTabEnter - 符号键
-=[]\;',./ 0xNN形式的虚拟键码
- 字母
- 对话框里的「恢复默认」可还原为
Ctrl+Alt+Shift+J。
也可以直接手改程序目录下的 hotkey.ini(整个文件就是一行快捷键),改完重启程序生效:
Ctrl+Alt+Shift+J
Ctrl+Alt+K
Win+Shift+F5
写错的话程序会自动退回默认值,并在 hotkey.log 里记一笔。
为了对付「在某个程序里按了没反应」这种情况,同时挂四条通道,任一命中即触发:
RegisterHotKey—— 系统级全局热键- 底层键盘钩子
WH_KEYBOARD_LL - Raw Input(
WM_INPUT) - 按键状态轮询(80 ms 定时器)
给命令行窗口发送 WM_SYSCOMMAND + SC_MONITORPOWER:
SendMessage(hwnd, WM_SYSCOMMAND /* 0x0112 */, SC_MONITORPOWER /* 0xF170 */, (IntPtr)2);其中 2 = 显示器断电,1 = 低功耗,-1 = 打开。该调用只作用于显示器,不会让系统进入睡眠,也不会锁屏。
需要 .NET Framework 4.x(Windows 自带 csc.exe,无需装 Visual Studio)。
build.cmd
等价的命令行:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe `
/nologo /target:winexe /platform:anycpu /optimize+ `
/out:build\ScreenOffHotkey.exe `
/win32icon:build\ScreenOffHotkey.ico `
/win32manifest:build\app.manifest `
/r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:System.Core.dll /r:Microsoft.CSharp.dll `
src\ScreenOffHotkey.cs安装:双击 安装关屏热键.cmd(实际执行 install-screenoff.ps1)。它会
- 把 exe 复制到
%LOCALAPPDATA%\ScreenOff - 在桌面创建「关屏助手」快捷方式
- 在启动文件夹创建开机启动快捷方式
- 立即启动程序
卸载:托盘图标 → 退出,然后删掉 %LOCALAPPDATA%\ScreenOff 文件夹,以及启动文件夹里的 ScreenOffHotkey.lnk。
| 文件 | 说明 |
|---|---|
src/ScreenOffHotkey.cs |
主程序:托盘图标、四条热键通道、自定义快捷键对话框 |
src/HookProbe.cs |
键盘钩子诊断小工具(排查按键收不到时用) |
build/app.manifest |
DPI 感知与受支持 OS 声明 |
build/ScreenOffHotkey.ico |
程序图标 |
install-screenoff.ps1 |
安装脚本 |
安装关屏热键.cmd |
双击安装入口 |
build.cmd |
一键编译脚本 |
程序运行时会在自己所在目录生成:hotkey.ini(快捷键配置)、hotkey.log(运行日志)、verbose.flag(详细日志开关)。

