程序要求:
设置快捷键
如:F11关闭显示器,F12屏幕保护
并把这个程序在开机的时候就隐藏运行
一按F11就关闭显示器
一按F12就屏幕保护
设置快捷键
如:F11关闭显示器,F12屏幕保护
并把这个程序在开机的时候就隐藏运行
一按F11就关闭显示器
一按F12就屏幕保护
解决方案 »
- 在memo控件中,如何控制当输入文字超出memo宽度时,文字自动回行?
- 我没有U盘,放100
- 写个小软件 将<input type="checkbox" name="checkbox2" value="checkbox">等控件转换成.NET服务器端的控件;页面格式不能改变;请问这个
- 用TIdPOP3和TIdSMTP时如何做出发送和接收的进度条?
- 急!!!编译时报错:This form of method call only allowed for class methods是什么意思?
- 我想问一下,delphi中怎样判断数据库是否连接,或者数据库是否打开,谢谢了!!
- 小问题
- 这是不是病毒?我是不是被黑了?
- 我做了一个软件,想把主窗体颜色改一改,但菜单的背景颜色改不了.
- delphi开发三层结构,客户端访问提示RPC服务器不可用怎么回事?
- 将一幅图片传给 一个byte变量???
- 我也做一次引荐人,我熟悉的高手们,贱人们。进来一下,测评部需要人。
使用SystemParametersInfo这个API来实现对屏幕保护和电源管理的禁用:BOOL SystemParametersInfo( UINT uiAction, // system parameter to retrieve or set UINT uiParam, // depends on action to be taken PVOID pvParam, // depends on action to be taken UINT fWinIni // user profile update option);
以下是禁用屏幕保护的代码:void DisableScrSaver(){ BOOL bScrActive; SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, &bScrActive, 0); if (bScrActive) { SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, NULL, 0); } }以下是启用屏幕保护的代码:void CNetRGCltDlg::EnableScrSaver(){ SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, TRUE, NULL, 0);}
由于禁用电源保护不可以在Win95下被Win32应用程序使用,所以要事先判断当前操作系统是不是Win95,这里假设已经用函数BOOL IsWin95()实现。以下是禁用电源保护的代码:void DisablePmmSaver(){ // // 由于电源管理的特殊性,不能直接用SPI_SETLOWPOWERACTIVE命令字实现,而是要设置延时。 //
SystemParametersInfo(SPI_GETLOWPOWERTIMEOUT, 0, &m_nLowpowerTimeout, 0); SystemParametersInfo(SPI_GETPOWEROFFTIMEOUT, 0, &m_nPoweroffTimeout, 0); SystemParametersInfo(SPI_SETLOWPOWERTIMEOUT, 0, NULL, 0); SystemParametersInfo(SPI_SETPOWEROFFTIMEOUT, 0, NULL, 0);}
以下是启用电源保护的代码void EnablePmmSaver(){ SystemParametersInfo(SPI_SETLOWPOWERTIMEOUT, m_nLowpowerTimeout, NULL, 0); SystemParametersInfo(SPI_SETPOWEROFFTIMEOUT, m_nPoweroffTimeout, NULL, 0); m_nLowpowerTimeout = 0; m_nPoweroffTimeout = 0;}
说明:1 m_nLowpowerTimeout和m_nPoweroffTimeout是用来存储原先延时的变量,当恢复电源保护时要把电源保护延时设置回原来的值;2 上面的代码仅仅为了说明调用序列,实际应用时还要加上相当多的错误处理代码,这里忽略。
编写诸如监控、多媒体、大规模数据处理之类程序的时候,我们常常需要禁用屏幕保护和电源管理,以确保程序的正常运行。一般来说,可以使用模拟鼠标键盘动作的办法禁用95下的屏幕保护和电源管理,但是同样的方法应用到2000/NT,却常常会无效,这和系统的设置有关系。运用Windows平台SDK的界面API可以轻松的做到禁用屏幕保护和电源管理,唯一的缺陷是这种方法无法应用到Windows95下的Win32应用程序中。以下,我将介绍具体方法。