周立功一套USB开发套件中提供的一个示例VC工程工程中引入了一个DLL,
在主程序 中看到下面的一愕嘎消息处理函数:
afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData ); BOOL CTimeAndKeyDlg::OnDeviceChange( UINT nEventType, DWORD dwData )
{
……
}
搜索了,工程中再没有相关DeviceChange的任何其他东西,
它是由谁怎么调用呢?
【暂时没有硬件,无法跳入这个函数】是不是可能在DLL中SendMessage()调用呢?
SendMessage应该怎么写呢?
解决方案 »
- CListCtrl中文乱码,语言已设置成中文
- 如何实现:USB连接一硬件按钮,当按钮按下时触动程序(MFC)中的某个按钮?
- dll文件,是不是windows系统所独有的呀,在linux系统中,这种性质的文件是以什么形式体现的呢?
- 想做一个自动聊天系统,有做过的说说思路!!!
- 如何跨过程写内存?WriteProcessMemory()在Win2000下不管用
- 有关钩子的一个问题
- 各位帮个忙,在程序里面怎么调用notepad打开一个存在的文件
- MFC 中HICON 自定义的图标句柄需要显示销毁吗? 怎么销毁?
- 光标下移
- 《Windoes 网络编程技术>>源代码编译出错.求救
- 请大家介绍一本写ActiveX的好书
- 面试题,请求帮助.最好有例子.
afx_msg bool OnABC();
怎样用SendMessage调用它?
使用
::SendMessage(this->GetSafeHwnd(),WM_ABC);
不行啊!
BOOL CTimeAndKeyDlg::OnDeviceChange( UINT nEventType, DWORD dwData )
{
……
}
也是个函数啊,直接调用即可:
dlg.OnDeviceChange(……, ……);
{
MessageBox("Catched DeviceChange Message");
}然后添加消息影射。在CMydemoDlg.cpp文件的开头那一段里面:
BEGIN_MESSAGE_MAP(CMydemoDlg, CDialog)
//{{AFX_MSG_MAP(CISP1581_demoDlg)
……
//}}AFX_MSG_MAP
ON_WM_DEVICECHANGE() //加到这里!注意位置!
END_MESSAGE_MAP()