VC中怎么注册USB设备怎么弄啊

zhf_198647 2010-11-03 08:15:36
建立了ON_WM_DEVICECHANGE()消息响应,但USB拔插nEventType总是7

好像是要注册设备,该怎么注册设备啊,添加注册设备函数吗?
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
HUSTCKLK 2011-12-30
  • 打赏
  • 举报
回复
多谢,对我很有参考价值
zhf_198647 2010-11-04
  • 打赏
  • 举报
回复
呵呵,差不多了,结贴
guoxuqu 2010-11-03
  • 打赏
  • 举报
回复
在stdafx.h中开始处加上#define WINVER 0x0500
在你声明InitListenUSB()的前面定义

static const GUID GUID_DEVINTERFACE_LIST[] = {
{ 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } },
{ 0x53f56307, 0xb6bf, 0x11d0, { 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b } },
{ 0x4D1E55B2, 0xF16F, 0x11CF, { 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 } },
{ 0xad498944, 0x762f, 0x11d0, { 0x8d, 0xcb, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c } }};

增加头文件
#include <dbt.h>
#include <comdef.h>
zhf_198647 2010-11-03
  • 打赏
  • 举报
回复
LS先谢谢了,自己添加函数然后在窗体初始化是调用吗?
guoxuqu 2010-11-03
  • 打赏
  • 举报
回复
BOOL InitListenUSB()
{
HDEVNOTIFY hDevNotify = NULL;
DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory( ¬ificationFilter, sizeof(NotificationFilter) );
NotificationFilter.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
NotificationFilter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
for(int i=0; i<sizeof(GUID_DEVINTERFACE_LIST)/sizeof(GUID); i++)
{
NotificationFilter.dbcc_classguid = GUID_DEVINTERFACE_LIST[i];
hDevNotify = RegisterDeviceNotification(this->GetSafeHwnd(), ¬ificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE);
if( !hDevNotify ) {
AfxMessageBox(CString("Can't register device notification: ")
+ _com_error(GetLastError()).ErrorMessage(), MB_ICONEXCLAMATION);
return FALSE;
}
}
return TRUE;
}
zhf_198647 2010-11-03
  • 打赏
  • 举报
回复
试了一下,出现了一堆未定义的错误,
上网查了下好像要装PSDK才行,是么??

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧