service中RegisterDeviceNotification的问题
用以下代码在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盘的盘符
问题点数:100、回复次数:3Top
1 楼neilxp(紫金港忙人)回复于 2005-01-07 16:10:51 得分 100
up
我也很想知道,有例子最好了Top
2 楼zhangqu_980371(能坚持一辈子的东西太少)回复于 2005-01-07 17:13:59 得分 0
还有就是网卡(网线插上自动识别)Top
3 楼laitudeo(vlord)回复于 2005-01-15 09:34:54 得分 0
upTop




