关于屏保和监视器 @ 11/17/2006

技术类
SMTH看到问题和解决方案,总结如下:
#include <windows.h>

int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int) {
    BOOL bActive = FALSE;
    //判断当前是否已经设置屏幕保护,根据返回的参数判断
    ::SystemParametersInfo(SPI_GETSCREENSAVEACTIVE,0,&bActive,0);

    if(bActive) {
        //取消屏幕保护
        ::SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,FALSE,0,0);
    }

    //关闭显示器
    SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
    Sleep(120000);
    //打开显示器
    SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);

    if(bActive) {
        //启用屏幕保护
        ::SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,TRUE,0,0);
    }
    return 0;
}
发布于 11/17/2006 18:12:53 | 评论:2
<匿名人士> @ 11/17/2006 20:34:52
咋只有谜底,没有谜面?
3dot14 @ 11/28/2006 14:32:59
没想到查“屏保”写法,查到自己家里来了。。。。。

看帖要回帖...

categories
archives
links
statistics
  • 网志数:1168
  • 评论数:2011