也可使用专业工具,可使用Usbview,网上可以随便下到。此工具也已上传到本帖附件中,usbview为微软开源工具,绿色、便捷。
1、 将usb设备连接到电脑上,在电脑上打开usbview工具。
2、尤其是config Descriptor,一定要选择。
3、然后就可以查看usb设备的基本信息了
#include <windows.h>#include <dbt.h>
#include <stdio.h>
#include <math.h>
LRESULT CALLBACK WndProc(HWND h, UINT msg, WPARAM wp, LPARAM lp)
{
if (msg == WM_DEVICECHANGE) {
if ((DWORD)wp == DBT_DEVICEARRIVAL) {
DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*) lp
if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME) {
int l = (int)(log(double(p->dbcv_unitmask)) / log(double(2)))
printf("啊……%c盘插进来了\n", 'A' + l)
}
} else if ((DWORD)wp == DBT_DEVICEREMOVECOMPLETE) {
DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*) lp
if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME) {
int l = (int)(log(double(p->dbcv_unitmask)) / log(double(2)))
printf("啊……%c盘被拔掉了\n", 'A' + l)
}
}
return TRUE
} else return DefWindowProc(h, msg, wp, lp)
}
int main() {
WNDCLASS wc
ZeroMemory(&wc, sizeof(wc))
wc.lpszClassName = TEXT("myusbmsg")
wc.lpfnWndProc = WndProc
RegisterClass(&wc)
HWND h = CreateWindow(TEXT("myusbmsg"), TEXT(""), 0, 0, 0, 0, 0,
0, 0, GetModuleHandle(0), 0)
MSG msg
while( GetMessage(&msg, 0, 0, 0) > 0 ) {
TranslateMessage(&msg)
DispatchMessage(&msg)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)