我写了一个全局的钩子,在钩子里我用SENDMESSAGE 发送了一个 WM_SYSCOMMAND 消息,但我不知道在我的程序中哪里捕获这个消息.我在OnSysCommand,PreTranslateMessage,DefWindowProc 里都捕获不到这个消息,我的是一个对话框程序,我的意图是用全局钩子在屏保启动前捕获WM_SYSCOMMAND中wParam为SC_SCREENSAVE消息,然后发送给我的对话框程序,然后我的程序就会做一些处理,
先谢谢大家了
先谢谢大家了
解决方案 »
- CDateTimeCtrl控件设置下了月历背景色失败是怎么回事?求指教
- VC串口通信:用CSerialPort类实现的串口通信,如何实现PC端每隔一段时间给单片机发送数据
- VC 里面Debug版本和Release版本调试效果不一样是怎么回事?
- 初学com 求一个最初级的例子来入门
- 怎么样可以获取指定目录中被选中文件的文件名?
- IIS怎么回事,服务端可以不用accept吗
- SDI 工程,如何在 CMainFrame 中能够访问、操作 C***Doc 中的变量?
- 关于 int Apimain() 的关闭问题
- 代码如何实现“显示器亮度调节”
- MFC的COMBOBOX问题
- 服务端为什么会这样呢 ?
- 探讨vckbase的一个例子(类VC界面)中的问题?
LRESULT SendMessage(
HWND hWnd, // handle to destination window
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
在hWnd填上你想要收到该消息的窗口句柄,然后在改窗口句柄所在的程序处理WM_SYSCOMMAND消息就可以了。
HWND FindWindow(
LPCTSTR lpClassName, // class name
LPCTSTR lpWindowName // window name
);
FindWindow获得对话框句柄
sendMessage()
dlg中
PeekMessage()