阅读:1217回复:8
请教
请问当U盘插上和拔下时,我的后台程序如何知道?
|
|
沙发#
发布于:2002-11-06 09:40
monitor WM_DEVICECHANGE message by your program
|
|
板凳#
发布于:2002-11-06 12:07
说具体点行吗?
谢谢 |
|
地板#
发布于:2002-11-06 12:16
去DDK和DS的sample里面找代码。
|
|
|
地下室#
发布于:2002-11-06 12:22
1 Add function into mainfrm.cpp
afx_msg BOOL CMainFrame::OnDeviceChange( UINT nEventType, DWORD dwData ) { // do things we want return 1; } 2. add to message table(mainfrm.cpp). ON_WM_DEVICECHANGE() BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_DEVICECHANGE() //}}AFX_MSG_MAP END_MESSAGE_MAP() 3. mainfrm.h -> add to function table. //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData ); //}}AFX_MSG |
|
5楼#
发布于:2002-11-06 18:27
谢谢了,是不是所有USB设备插上都产生这个消息?如何区分是我的U盘?
另想问如何监视系统消息? 谢谢 [编辑 - 11/6/02 by jjw57] |
|
6楼#
发布于:2002-11-07 09:12
谢谢了,是不是所有USB设备插上都产生这个消息?如何区分是我的U盘? 可以打檫,使用 就是你的, 本 |
|
7楼#
发布于:2002-11-07 21:12
谢谢
我按您的例子试了以下,可MessageBox(NULL,\"dd\",NULL,MB_OK);为何出不来? 1 Add function into mainfrm.cpp afx_msg BOOL CMainFrame::OnDeviceChange( UINT nEventType, DWORD dwData ) { // do things we want if(nEventType == DBT_DEVICEARRIVAL) { MessageBox(NULL,\"dd\",NULL,MB_OK); } return 1; } 2. add to message table(mainfrm.cpp). ON_WM_DEVICECHANGE() BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_DEVICECHANGE() //}}AFX_MSG_MAP END_MESSAGE_MAP() 3. mainfrm.h -> add to function table. //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg BOOL OnDeviceChange( UINT nEventType, DWORD dwData ); //}}AFX_MSG 为甚麽插上U盘时没有反映? 还有就是这个函数是不是只能在主框架中使用,而不能在对话框中使用? 有一个例子吗? 谢谢 |
|
8楼#
发布于:2004-01-09 15:02
请问如何知道是U盘还是USB硬盘等等?谢谢
|
|