找回密码
 加入
搜索
查看: 288|回复: 6

一键关闭屏幕

[复制链接]
发表于 2026-6-7 11:30:14 | 显示全部楼层 |阅读模式
import ctypes
import time

user32 = ctypes.WinDLL('user32', use_last_error=True)

HWND_BROADCAST = 0xFFFF
WM_SYSCOMMAND = 0x0112
SC_MONITORPOWER = 0xF170
MONITOR_OFF = 2

def turn_off_screen():
    time.sleep(0.5)
    user32.PostMessageW(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF)

if __name__ == '__main__':
    turn_off_screen()
发表于 2026-6-7 16:05:40 | 显示全部楼层
本帖最后由 w60711 于 2026-6-7 16:13 编辑

;; 無系統匣圖標
#NoTrayIcon
;; 請求管理員身分執行
#RequireAdmin


; 一鍵關閉螢幕 (AutoIt3)

Const $HWND_BROADCAST  = 0xFFFF
Const $WM_SYSCOMMAND   = 0x0112
Const $SC_MONITORPOWER = 0xF170
Const $MONITOR_OFF     = 2


Sleep(500) ; 等同 Python 的 time.sleep(0.5)


; 廣播關閉螢幕訊息
; 呼叫 user32.PostMessageW
DllCall("user32.dll", _
        "lresult", "PostMessageW", _
        "hwnd",  $HWND_BROADCAST, _
        "uint",  $WM_SYSCOMMAND, _
        "wparam", $SC_MONITORPOWER, _
        "lparam", $MONITOR_OFF)



发表于 2026-6-7 16:15:01 | 显示全部楼层

;; 無系統匣圖標
#NoTrayIcon
;; 請求管理員身分執行
#RequireAdmin

; 一鍵關閉螢幕 (AutoIt3)

#include <WinAPISys.au3>


Const $WM_SYSCOMMAND   = 0x0112
Const $SC_MONITORPOWER = 0xF170
Const $MONITOR_OFF     = 2


; 廣播關閉螢幕訊息
_WinAPI_PostMessage($HWND_BROADCAST, $WM_SYSCOMMAND, $SC_MONITORPOWER, $MONITOR_OFF)

发表于 2026-6-8 10:02:59 | 显示全部楼层
可以再把开也加上,1是开  2是关
 楼主| 发表于 2026-6-8 10:46:23 | 显示全部楼层
haijie1223 发表于 2026-6-8 10:02
可以再把开也加上,1是开  2是关

移动鼠标或敲键盘就可以亮屏,你黑屏能点开?高手。
发表于 2026-6-8 22:32:15 | 显示全部楼层
增加一个监听热键,随时可以开关
Func _ToggleMonitor($hwnd, $OnOff)
        Local Const $WM_SYSCOMMAND = 274
        Local Const $SC_MONITORPOWER = 61808
        _SendMessage($hwnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $OnOff)
        If @error Then
                MsgBox(0, "_ToggleMonitor", "_SendMessage Error: " & @error)
                Exit
        EndIf
EndFunc   ;==>_ToggleMonitor
发表于 2026-6-13 19:22:40 | 显示全部楼层
redapple2008 发表于 2026-6-8 10:46
移动鼠标或敲键盘就可以亮屏,你黑屏能点开?高手。

这个要看场景需求,代码的运行,也不一定都是靠点。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2026-7-18 23:49 , Processed in 0.064431 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表