今天是:
设百科问答网为首页|收藏百科问答网|网站地图
百科问答网 - 帮您解决问题,分享成功经验

非视频播放时快速切换屏保启用/禁用的方法?


例如临时看文档时,不想为此专门去关闭屏保,有没有方便的临时切换启用/禁用的方法

以前看到过一个通过鼠标停留在角落来临时禁用屏保的,但是好像有点问题。

请推荐一下类似的解决方案。




答案或建议:


用的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

{
    SplashImage , ,b1 cw008000 ctffff00 fs16, `nScreensaver is enabled.`n
    Sleep,850
    SplashImage, Off   
}
Return



转载链接:http://www.baikewenda.com/h/1106/a31884.html
精彩推荐

敬请注意:百科问答网内容来源于网络或民间经验收集,仅供参考。其中有关健康疾病方面的内容请务必咨询专业医生或及时到医院治疗。
关于我们 - 广告服务 - 联系我们
百科问答网 Copyright ©2005 - 2011 www.baikewenda.com,All Rights Reserved
辽ICP备10007180号