Windows在启动屏幕保护程序前会向当前激活的应用程序发WM_SYSCOMMAND消息。
当是如果当前应用程序没有激活,能用什么办法截获WM_SYSCOMMAND的消息?void CGgDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if((nID == SC_SCREENSAVE || nID == SC_MONITORPOWER))
{ return; }
else CDialog::OnSysCommand(nID, lParam);
}这段程序只有在该窗口激活的状态下才能截取SC_SCREENSAVE和SC_MONITORPOWER消息,进而阻止系统进入屏保和待机。
而我希望在该应用程序(已经运行开来的了)没有激活的状态下,截取系统的屏保和待机消息~
比方说我把应用程序最小化了,还能阻止屏保和待机……
希望大家帮忙指点,能提供详细的代码更好。谢谢
当是如果当前应用程序没有激活,能用什么办法截获WM_SYSCOMMAND的消息?void CGgDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if((nID == SC_SCREENSAVE || nID == SC_MONITORPOWER))
{ return; }
else CDialog::OnSysCommand(nID, lParam);
}这段程序只有在该窗口激活的状态下才能截取SC_SCREENSAVE和SC_MONITORPOWER消息,进而阻止系统进入屏保和待机。
而我希望在该应用程序(已经运行开来的了)没有激活的状态下,截取系统的屏保和待机消息~
比方说我把应用程序最小化了,还能阻止屏保和待机……
希望大家帮忙指点,能提供详细的代码更好。谢谢
解决方案 »
- vc++运动目标检测
- 程序运行报错,但又很奇怪!!!
- 一个关于头文件添加的基础问题
- 用Tcp过代理时,是不是一定要用Http封装?
- 如何在CStatic控件中创建一个子控件?
- 请问怎么用程序得到当前登陆用户的目录,如:C:\Documents and Settings\Administrator?
- 如何能像NetMeeting那样得到通过麦克输入声音的大小?请进
- ●●●为中国足球科学化发展开发一套球队管理系统!,参与有分!!!
- 定义消息的语句应该放在那个头文件?
- MFC重绘的问题求建议
- 怎样用windows API 实现截获系统屏保开启、屏保结束和系统待机的消息?
- 在线等我做了个DLL,调用时候程序中断了
if(message == WM_POWERBROADCAST && wParam == PBT_APMQUERYSUSPEND)用来截取待机的消息,进而操作是否阻止等功能,如果return BROADCAST_QUERY_DENY;就阻止系统进入待机。if(message == WM_POWERBROADCAST && wParam == PBT_APMRESUMEAUTOMATIC)用来截取待机激活的消息,进而操作待机激活后是否充电或其他功能。那么对于截取屏保消息和退出屏保的消息,应该怎么做?
还有关于PBT_APMxxxxxxxx等消息跟SC_MONITORPOWER等消息有什么区别?
最后进入待机后,用鼠标和键盘激活怎么做,是用钩子函数完成的吗?还是有其他方法?请大家帮忙指点迷津,互相学习。希望能提供详细的代码和注释,感激不尽!!