Delphi编写Win7屏幕保护唤醒工具
来源:互联网 发布:电脑桌面远程控制软件 编辑:程序博客网 时间:2024/05/22 03:31
本工具网络下载地址:http://download.csdn.net/download/friendan/4637954
本工具完整Delphi7源码:http://download.csdn.net/download/friendan/4637961
写此程序的目的:
很多时候,我需要暂时离开电脑,不想关机,又想延长电脑屏幕的寿命,
所以我想到了屏幕保护。众所周知,在系统中设置了屏幕保护后,需要在指定
的一段时间内屏幕保护程序才能运行,而我的需求却是随时都可以启动屏幕保护
程序,因此有了写这款小程序的想法!...
程序的实现原理:
原理很简单啦,其实就是给系统发送一个广播消息,让系统启动屏幕保护程序就可以了。
发送消息,有两个API可以使用,一个是SendMessage(...),另一个是PostMessage(...),它们的
详细参数,有兴趣的朋友上网查下就可以了。
需要说明的是我在本程序中刚开始使用的API是SendMessage,结果一启动屏幕保护程序,
我的程序就卡死了,后来换成了PostMessage,程序不卡了,功能一切正常。
估计是因为SendMessage发送消息时,直到别的程序处理完消息才返回,
没返回就等待,从而使自身程序失去系统消息响应、卡死了。
而PostMessage发送消息时,不等待线程处理消息就返回,是异步消息模式,因此没有导致程序的卡死。
程序的主要代码如下:
本工具完整Delphi7源码:http://download.csdn.net/download/friendan/4637961
//程序截图如下:
写此程序的目的:
很多时候,我需要暂时离开电脑,不想关机,又想延长电脑屏幕的寿命,
所以我想到了屏幕保护。众所周知,在系统中设置了屏幕保护后,需要在指定
的一段时间内屏幕保护程序才能运行,而我的需求却是随时都可以启动屏幕保护
程序,因此有了写这款小程序的想法!...
程序的实现原理:
原理很简单啦,其实就是给系统发送一个广播消息,让系统启动屏幕保护程序就可以了。
发送消息,有两个API可以使用,一个是SendMessage(...),另一个是PostMessage(...),它们的
详细参数,有兴趣的朋友上网查下就可以了。
需要说明的是我在本程序中刚开始使用的API是SendMessage,结果一启动屏幕保护程序,
我的程序就卡死了,后来换成了PostMessage,程序不卡了,功能一切正常。
估计是因为SendMessage发送消息时,直到别的程序处理完消息才返回,
没返回就等待,从而使自身程序失去系统消息响应、卡死了。
而PostMessage发送消息时,不等待线程处理消息就返回,是异步消息模式,因此没有导致程序的卡死。
程序的主要代码如下:
//启动屏幕保护按钮procedure TForm1.Stx_LaunchClick(Sender: TObject);beginRunSSProc();end;////////////////////////////////////////////////////////////屏幕保护启动过程procedure TForm1.RunSSProc();begin//暂停一秒,给用户一点时间释放键盘和鼠标//否则有可能启动屏幕保护失败Sleep(1000);//暂时想不通,为什么Delphi可以直接调用以下这行代码//SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);PostMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);//经测试用以下这行代码也可以,//HWND_BROADCAST参数在Delphi中用wnd_Broadcast来代替//WM_SYSCOMMAND在Delphi中用什么来代替,暂时我还没知道//SC_SCREENSAVE是个宏,实为61760//SendMessage(wnd_Broadcast,WM_SYSCOMMAND,61760,0);end;
- Delphi编写Win7屏幕保护唤醒工具
- bcb/Delphi 屏保、屏幕保护
- winform制作简易屏幕保护工具
- win7自带屏幕录像工具
- android唤醒屏幕/保持屏幕唤醒
- android 屏幕保持唤醒
- Android唤醒屏幕
- android 屏幕保持唤醒
- android屏幕保持唤醒
- android 唤醒屏幕
- Android 屏幕保持唤醒
- android 唤醒屏幕
- android 屏幕保持唤醒
- 保持屏幕唤醒
- 解锁、唤醒屏幕
- Android 屏幕保持唤醒
- Android唤醒屏幕
- camera键唤醒屏幕
- 性能测试知多少---系统架构分析
- 温故而知新(一): “Incremental Backups in Oracle 10.2.0.5” Translation & Notes
- 使用SQL BAK Reader 小工具查看SQL Server备份文件内容(不需要打开SQL Server)
- alter ignore table add unique key
- SVN状态
- Delphi编写Win7屏幕保护唤醒工具
- Sql server 事务的两种用法
- JAVA中this用法小结
- 性能测试vs负载测试vs压力测试
- Travel备忘录
- raid基本知识
- 计数排序
- 自我定位
- JAVA连接Mysql数据驱动配置及demo