社区
Windows Server
帖子详情
PostMessage(),让程序关闭,这个WM_SYSCOMMAND应该怎么写啊?
benying
2005-06-26 05:23:27
UINT nID, LPARAM lParam
怎么填啊,不知道怎么表述,大家指教一下
或者可以解释一下原理,或者有更好的办法,
...全文
98
2
打赏
收藏
PostMessage(),让程序关闭,这个WM_SYSCOMMAND应该怎么写啊?
UINT nID, LPARAM lParam 怎么填啊,不知道怎么表述,大家指教一下 或者可以解释一下原理,或者有更好的办法,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zkxz
2005-06-26
打赏
举报
回复
在MSDN中查看WM_SYSCOMMAND的帮助有详细的说明。
具体请到VC开发版去问问!
tarim
2005-06-26
打赏
举报
回复
关注
Delphi
程序
控制
关闭
显示器.rar
Delphi
程序
控制
关闭
显示器,不过我很好奇Delphi真能
关闭
显示器么?如果是用Delphi截断视频信号的输出,让显示器黑屏,这倒是有可能哦,但是让Delphi直接
关闭
显示器,有点不太可能吧?看了看代码,原来是这样: begin //
关闭
显示器
PostMessage
(Application.Handle,
WM
_
SYS
COMMAND
,SC_MONITORPOWER,1); //打开显示器:
PostMessage
(Application.Handle,
WM
_
SYS
COMMAND
,SC_MONITORPOWER,0); end;
SCREENSAVE, 屏保
OPENGL ,SCREENSAVE, 利用OpebGL设计的屏保,使用glut工具
UCMESS:Utility to Close Monitor or Enter Screen Saver
Utility to Close Monitor or Enter Screen Saver v1.0.0.1 Release Date:2009 06 19 Program Name:UCMESS Author:Lawrence Don E-mail:LawrenceDon@163.com Support Web: lawrencedon.blog.hexun.com 下载地址:http://sites.google.com/site/downloadcenterforldsstudio/Home/UCMESS.rar?attredirects=0 UCMESSc.exe:直接双击该
程序
将
关闭
显示器,在CMD窗口中执行该
程序
时可以加参数cm或ss。 UCMESSc.exe cm
关闭
屏幕; UCMESSc.exe ss 进入屏幕保护
程序
; 可以将CloseMonitor.cmd,EnterScreenSaver.cmd的快捷方式放到桌面,双击CloseMonitor.cmd将
关闭
显示器,双击EnterScreenSaver.cmd 将进入屏幕保护
程序
。 UCMESS.exe:直接双击该
程序
会跳出一窗口,点击"Close Monitor"按钮将
关闭
显示器,点击"Enter Screen Saver"按钮将进入屏幕保护
程序
。 文件MD5信息: File name MD5 value UCMESSc.exe 89c43352b6d5db291f810387dcaa5e55 UCMESS.exe 94f65e0a550d76971d1614bdd93cfffe CloseMonitor.cmd 6d7c807cb6291456d45dee7fa4390504 EnterScreenSaver.cmd 37343733f2ed02f05e2a69f201f19394 网上有一个名为CloseMonitor.exe的
程序
,我在2006年就用到它了,不过一直没关心它的实现原理是什么,最近又用到这个
程序
的时候,特地将其的 实现原理研究了一下,原来如此简单。 CloseMonitor.exe用的是SendMessage(HWND_BROADCAST,
WM
_
SYS
COMMAND
,SC_MONITORPOWER,2),这种
写
法可能导致
程序
没法结束并一直留在进程队列中, 因为The SendMessage function sends the specified message to a window or windows. It calls the window procedure for the specified window and does not return until the window procedure has processed the message. 我用的方法是
PostMessage
(HWND_BROADCAST,
WM
_
SYS
COMMAND
,SC_MONITORPOWER,1);
PostMessage
(HWND_BROADCAST,
WM
_
SYS
COMMAND
,SC_MONITORPOWER,2) 首先我用了
PostMessage
的方法,The
PostMessage
function places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message. 该方法被调用之后会马上返回,从而不会 造成
程序
一直无法结束。另外我两次
PostMessage
最后的一个参数分别为1和2(1:the display is going to low power; 2:the display is being shut off) 这样基本可以保证大多数的屏幕是可以被关掉的。 另外我添加了一个新的功能:
PostMessage
(HWND_BROADCAST,
WM
_
SYS
COMMAND
, SC_SCREENSAVE, 0);即进入屏幕保护
程序
。 在UCMESS.exe中我用GetSafeHwnd()取代HWND_BROADCAST,这样可以避免有时关屏幕会出现开关好几次的问题。 针对这个
程序
的问题请访问我的博客lawrencedon.blog.hexun.com,给我留言,或回复我的文章:Utility to Close Monitor or Enter Screen Saver v1.0.0.1
易语言发送消息
关闭
显示器.rar
易语言发送消息
关闭
显示器.rar
VC++6.0一个定时
关闭
显示器和计时器的小
程序
VC++6.0一个定时
关闭
显示器和计时器的小
程序
Windows Server
6,871
社区成员
177,938
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章