用PostMessage(WM_SYSCOMMAND,SC_MONITORPOWER,2)可以关闭显示器电源,但是只要鼠标或键盘一动显示器就自动打开。
我想完全自己控制显示器的开、关。也就是显示器关闭后,动鼠标和键盘显示器不会打开,只受程序的控制。

解决方案 »

  1.   

    1.disable鼠标和键盘设备。
    2.截住鼠标和键盘输入。
    3.调用屏幕保护程序。
      

  2.   

    关闭显示器:
    ::SendMessage(GetSafeHwnd(), WM_SYSCOMMAND, SC_MONITORPOWER, 1);打开显示器:
    ::SendMessage(GetSafeHwnd(), WM_SYSCOMMAND, SC_MONITORPOWER, -1);
    显示器关闭后,动鼠标和键盘显示器不会打开,只受程序的控制。
    -------------------------------
    这个好像没有办法完全做到吧,用程序控制显示器的电源做不到。
      

  3.   

    TO:bohut(伯虎) 
    这个功能微软的软件里实现了,应该是可以做的。用钩子截获消息是没用的,我想用device I/O是否可以,哪位大侠知道给说一说。
      

  4.   

    可以考虑做成动态加载屏幕保护的应用程序,在屏幕保护程序中响应
    WM_ACTIVATE, WM_ACTIVATEAPP, WM_NCACTIVATE 消息