如何实别出USB盘唯一的序列号? 如何实别出USB盘唯一的序列号? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 普通硬盘的你会得到吧?我写了一个程序,可以获得一台电脑上最多8个硬盘的序列号,在Windows2000和Windows98下都没有问题。 to zhouyong0371(小周周):逻辑序列号不但格式化后会变,更要命的是随时可以改写。但硬盘的物理序列号是不会变的。我想楼主指的是这个。 应该是唯一的不变的物理序号。懂WDM驱动程序的人肯定可以。我正在学,帮你查一查... GUID的中的G就是Global,是唯一的全局标识!GUID myUSBGUID;HDEVINFO info = SetupDiGetClassDevs((LPGUID) &ImyUSBGUID, NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE);if (info == INVALID_HANDLE_VALUE) { MessageBox("Error %d trying to open enumeration handle for USBGUID\n", GetLastError()); return NULL; }SP_INTERFACE_DEVICE_DATA ifdata;ifdata.cbSize = sizeof(ifdata)if (!SetupDiEnumDeviceInterfaces(info, NULL, (LPGUID) &Isoc1394GUID, num, &ifdata)){ SetupDiDestroyDeviceInfoList(info); return NULL;}DWORD ReqLen;SetupDiGetDeviceInterfaceDetail(info, &ifdata, NULL, 0, &ReqLen, NULL);PSP_INTERFACE_DEVICE_DETAIL_DATA detail = (PSP_INTERFACE_DEVICE_DETAIL_DATA) new char[ReqLen]);if (!detail){ SetupDiDestroyDeviceInfoList(info); break;} detail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); if (!SetupDiGetDeviceInterfaceDetail(info, &ifdata, detail, needed, NULL, NULL)) { SetupDiDestroyDeviceInfoList(info); delete ifDetail; return NULL; } char name[MAX_PATH]; strncpy(name, detail->DevicePath, sizeof(name)); free((PVOID) detail); SetupDiDestroyDeviceInfoList(info); 这个name就是唯一的GUID了!!!你试试吧! 人机交互,通过摄像头识别人的动作并作出反应,该怎么做 右键弹出菜单的位置问题 病毒变形 WriteFile和SetFilePointer如何使用啊?我总出错误! VC创建的ActiveX对象与脚本交互? 菜鸟求救啊! Pie()函数怎么用?要什么头文件?谢谢! MFC运行库包含那些文件? 怎样使一个组合框或按钮,在程序运行时设置可见不可见属性,或者可用不可用(显示为灰色)也行。 成都倍斯特保险代理有限公司 招聘 如何得到光标在一个字符串的位置? connect老是不成功
懂WDM驱动程序的人肯定可以。我正在学,帮你查一查...
HDEVINFO info = SetupDiGetClassDevs((LPGUID) &ImyUSBGUID, NULL,
NULL, DIGCF_PRESENT |
DIGCF_INTERFACEDEVICE);
if (info == INVALID_HANDLE_VALUE)
{
MessageBox("Error %d trying to open enumeration handle for USBGUID\n", GetLastError());
return NULL;
}SP_INTERFACE_DEVICE_DATA ifdata;
ifdata.cbSize = sizeof(ifdata)
if (!SetupDiEnumDeviceInterfaces(info, NULL, (LPGUID) &Isoc1394GUID,
num, &ifdata))
{
SetupDiDestroyDeviceInfoList(info);
return NULL;
}DWORD ReqLen;
SetupDiGetDeviceInterfaceDetail(info, &ifdata, NULL, 0, &ReqLen, NULL);
PSP_INTERFACE_DEVICE_DETAIL_DATA detail = (PSP_INTERFACE_DEVICE_DETAIL_DATA) new char[ReqLen]);
if (!detail)
{
SetupDiDestroyDeviceInfoList(info);
break;
} detail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);
if (!SetupDiGetDeviceInterfaceDetail(info, &ifdata, detail, needed, NULL, NULL))
{
SetupDiDestroyDeviceInfoList(info);
delete ifDetail;
return NULL;
} char name[MAX_PATH];
strncpy(name, detail->DevicePath, sizeof(name));
free((PVOID) detail);
SetupDiDestroyDeviceInfoList(info);
这个name就是唯一的GUID了!!!
你试试吧!