用以下代码在ATL工程新建的service中的ServiceMain函数中注册了通知,没有错误日志,不知怎么接受消息
DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory( &NotificationFilter, sizeof(NotificationFilter) );
NotificationFilter.dbcc_size =
sizeof(DEV_BROADCAST_DEVICEINTERFACE);
NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
NotificationFilter.dbcc_classguid = GUID_DEVINTERFACE_USB_DEVICE; HANDLE hDevNotify = RegisterDeviceNotification( (HANDLE)m_hServiceStatus,
&NotificationFilter,
1
); if(!hDevNotify)
{ DWORD dwError=GetLastError();
LogEvent(_T("RegisterDeviceNotification failed: %u."),dwError);
return ;
}在run函数中用
MSG msg;
while (GetMessage(&msg, 0, 0, 0))
{
if (msg.message)//仅仅用来监测是否有消息
{
LogEvent(_T("usb"));
continue;
}
if (WM_DEVICECHANGE==msg.message)
{
MessageBox(0,_T("usb"),NULL,MB_OK);
LogEvent(_T("usb"));
continue;
} DispatchMessage(&msg);
}
没有收到过我的u盘插入删除消息
还有一个问题:如果接收到消息,如何得到插入u盘的盘符
DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory( &NotificationFilter, sizeof(NotificationFilter) );
NotificationFilter.dbcc_size =
sizeof(DEV_BROADCAST_DEVICEINTERFACE);
NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
NotificationFilter.dbcc_classguid = GUID_DEVINTERFACE_USB_DEVICE; HANDLE hDevNotify = RegisterDeviceNotification( (HANDLE)m_hServiceStatus,
&NotificationFilter,
1
); if(!hDevNotify)
{ DWORD dwError=GetLastError();
LogEvent(_T("RegisterDeviceNotification failed: %u."),dwError);
return ;
}在run函数中用
MSG msg;
while (GetMessage(&msg, 0, 0, 0))
{
if (msg.message)//仅仅用来监测是否有消息
{
LogEvent(_T("usb"));
continue;
}
if (WM_DEVICECHANGE==msg.message)
{
MessageBox(0,_T("usb"),NULL,MB_OK);
LogEvent(_T("usb"));
continue;
} DispatchMessage(&msg);
}
没有收到过我的u盘插入删除消息
还有一个问题:如果接收到消息,如何得到插入u盘的盘符
解决方案 »
- vc读取网页的都有哪些方法,哪个相对好点?
- checklistbox 中插入bitmap
- classwizard 里没有的消息怎么加响应函数?
- 类的成员函数可以赋给函数指针吗?(如果可以,举个例子)
- 请教各位!怎样在vc++中实现像金山词霸那样设置热键的功能?比如:用户按下Ctrl + Alt + A,在edit中就能添加上Ctrl + Alt + A?
- 请问怎么获得CF卡(等其它卡)插入读卡器的消息?谢谢
- 用MFC写的程序需要MFC的库文件?
- 高分求一个16进制的算法
- 关于WINDOWS程序设计的问题
- 如何在理图象时用画笔去多层图象时提高速度.例如100层,就是用比较快的读写像素.由于多层,也会变慢的.源程序或相关程序或建议(龙星)2
- jpeg隐藏exe程序
- 98下用内核对像实现应用程序的单个实例
我也很想知道,有例子最好了