各位:请指教一下如何获得网卡,硬盘,硬件序列号(不看硬件)
谢谢,满意者定有分相送。。
谢谢,满意者定有分相送。。
解决方案 »
- VC++ 中MFC出现这种错误该怎么办??
- 如何编程实现Enhanced Host Controller设备的停用?
- 子进程和多线程各适用于哪种情况?
- 如何把这些数据绑定到树形控件CTreeCtrl上?
- 如何用JMAIL发送一封邮件??
- 关于用户界面线程
- 自建一个ppp连接,如何获取我的网卡上tcp、ip层的数据流量?
- 急!为什么listbox水平滚动条不能够拖动?
- 如何取出,char A_02[2][6]中 "abce2"的值???
- 请教小问题(见笑了)
- SOS!!!!!进来吧!为什么VC调用DELPHI的DLL总是出错误,知道者出来说句话吧!
- directsound播放动态buffer的问题?跟者有分
//bus.
HDEVINFO hPciDevInfo = SetupDiGetClassDevs(NULL,REGSTR_KEY_PCIENUM,0,
DIGCF_PRESENT | DIGCF_ALLCLASSES ); if (hPciDevInfo == INVALID_HANDLE_VALUE) return ;// Show all related device in the PCI set
DisplayDriverDsp(hPciDevInfo);void CTestDlg::DisplayDriverDsp(HDEVINFO hDevInfo)
{
SP_DEVINFO_DATA DeviceInfoData;
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); TCHAR buffer[MAX_PATH];
ZeroMemory(buffer, MAX_PATH); HKEY hCurKey;
CString strConstKey;
HKEY hRootKey = HKEY_LOCAL_MACHINE;
if (bIsNt)
strConstKey = "SYSTEM\\CurrentControlSet\\Control\\Class\\";
else
strConstKey = "SYSTEM\\CurrentControlSet\\Services\\Class\\"; /*DWORD dwI, dwValueType;
TCHAR szValueName[MAX_PATH];
TCHAR szValueData[MAX_PATH];
ZeroMemory(szValueName, MAX_PATH);
ZeroMemory(szValueData, MAX_PATH);
DWORD dwVNameSize, dwVDataSize;
dwVNameSize = MAX_PATH;
dwVDataSize = MAX_PATH;*/ for (DWORD i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)
{
SetupDiGetDeviceRegistryProperty(hDevInfo, &DeviceInfoData,
SPDRP_DRIVER, NULL,
(PBYTE)buffer, MAX_PATH, NULL);
CString strKey = strConstKey;
strKey += buffer;
if (ERROR_SUCCESS != ::RegOpenKey(hRootKey, (LPCSTR)strKey, &hCurKey))
{
TRACE("%d", GetLastError());
return;
}
// Get the driver description
DWORD dwType = REG_SZ;
if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "DriverDesc", NULL,
&dwType, (LPBYTE)szValueData, &dwVDataSize))
return; // Get provider name
if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "ProviderName", NULL,
&dwType, (LPBYTE)szValueData, &dwVDataSize))
return; // Retrieve version: if (ERROR_SUCCESS != ::RegQueryValueEx(hCurKey, "Ver", NULL,
&dwType, (LPBYTE)szValueData, &dwVDataSize))
return;
} // for
}