请问如何用程序取消屏幕保护和激活显示器,取消节电模式(50分)

M

msc

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个程序有外设,我想当程序感应到外设有变化使自动激活计算机,使它取消屏幕保护<br>并且能激活显示器,取消节电模式,当外设长时间没有用使则自动进入屏幕保护和使显示器<br>进入节电模式<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);<br><br>{关闭显示器} <br><br>SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); <br><br>{打开显示器} <br><br>SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
 
PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);<br>是激活屏幕保护,那么取消屏幕保护是如何实现。<br>另外如何得知屏幕保护是否正在运行,SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,0,@b,0);<br>好像不行,b永远都是返回0<br>如何使所用的功能在98/2k下均能使用<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
 
如果没有密码的,可以用这个关闭屏幕保护,有密码就不行.<br>PostMessage(GetForegroundWindow,WM_CLOSE,0,0);
 
监视你的MOUSE不就可以了吗!
 
用PostMessage(GetForegroundWindow,WM_CLOSE,0,0)不行,关闭了屏幕保护后很快的在几秒内又恢复了, <br>用SystemParametersInfo(SPI_GETSCREENSAVERRUNNING,0,@b,0);获取屏幕保护状态不稳定,有时可以有时不行<br>用setcursorpos(x,y) 在开始的几次还可以,但用多几次就不起作用了。<br>请各位高手再提供一些稳定实用的方法
 
问题我已自己解决了,但也谢谢各位
 
顶部