VC中怎么注册USB设备怎么弄啊 建立了ON_WM_DEVICECHANGE()消息响应,但USB拔插nEventType总是7好像是要注册设备,该怎么注册设备啊,添加注册设备函数吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL InitListenUSB(){ HDEVNOTIFY hDevNotify = NULL; DEV_BROADCAST_DEVICEINTERFACE NotificationFilter; ZeroMemory( &NotificationFilter, 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(), &NotificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE); if( !hDevNotify ) { AfxMessageBox(CString("Can't register device notification: ") + _com_error(GetLastError()).ErrorMessage(), MB_ICONEXCLAMATION); return FALSE; } } return TRUE; } 试了一下,出现了一堆未定义的错误,上网查了下好像要装PSDK才行,是么?? 在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> 做模拟登录,求教一个字符串拼接问题。 int &x,和int& x,一样的,还是不一样?仅仅只是一个习惯? 数据库高手过来看看把。在线等。 如何在定长输出时右对齐,并且不够的部分以特定字符填充? 100分求助,请问谁有串口调试助手的源代码,不要那种用控件做的,多谢了啊 视频捕捉及物体移动的判断 如何改变永久改变背景色? DuplicateHandle有什么用 视频上画图 请教右键问题 将本机和服务器的端口/IP编码进序号 是什么意思? 为什么我点击editcontrol焦点不在edit框上?
{
HDEVNOTIFY hDevNotify = NULL;
DEV_BROADCAST_DEVICEINTERFACE NotificationFilter;
ZeroMemory( &NotificationFilter, 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(), &NotificationFilter, DEVICE_NOTIFY_WINDOW_HANDLE);
if( !hDevNotify ) {
AfxMessageBox(CString("Can't register device notification: ")
+ _com_error(GetLastError()).ErrorMessage(), MB_ICONEXCLAMATION);
return FALSE;
}
}
return TRUE;
}
上网查了下好像要装PSDK才行,是么??
在你声明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>