例如临时看文档时,不想为此专门去关闭屏保,有没有方便的临时切换启用/禁用的方法
以前看到过一个通过鼠标停留在角落来临时禁用屏保的,但是好像有点问题。
请推荐一下类似的解决方案。
用的autohotkey脚本
代码:
#NoTrayIcon
#Persistent
; 让脚本永远运行,这句必备
CoordMode Mouse, Screen
; 把坐标系统设定为相对 Screen,还有一种是相对某个窗口。
cur = 0
last = 0
SetTimer, ActiveHotkey, 2000
; 每 10 毫秒运行一次 ActiveHotkey 代码段
ActiveHotkey:
last = %cur%
MouseGetPos, xpos, ypos
; 获得鼠标位置,赋值给 xpos 和 ypos
W:=A_ScreenWidth-10
; 把屏幕的宽减去 10,A_ScreenWidth 是 AHK 自带的变量,代表屏幕的宽。
H:=A_ScreenHeight-10
if (xpos > W and ypos > H)
; 如果鼠标的坐标都大于屏幕的坐标减去 10 ,也就是说到达 右下角了。
cur = 1 ;
else
cur = 0 ;
if (cur == last)
Return
else
{
if (cur)
{
Gosub disableScreenSaver
}
else
{
Gosub enableScreenSaver
}
}
return
disableScreenSaver:
DllCall("SystemParametersInfo", Int,17, Int,0, UInt,NULL, Int,2)
if ErrorLevel
{
SplashImage , ,b1 cw008000 ctFF0000 fs16, `n***Disable Screensaver failed!***`n
Sleep,850
SplashImage, Off
}
else
{
SplashImage , ,b1 cw000000 ctFF0000 fs16, `nScreensaver is Disabled. `n
Sleep,850
SplashImage, Off
}
Return
enableScreenSaver:
DllCall("SystemParametersInfo", Int,17, Int,1, UInt,NULL, Int,2)
if ErrorLevel
{
SplashImage , ,b1 cw008000 ctffff00 fs16, `n***Enable Screensaver failed!***`n
Sleep,850
SplashImage, Off
}
else