請教,MFC怎樣獲取硬體資訊,包括CPU,硬碟,網卡等。謝謝!
uj5u.com熱心網友回復:
1.wmi2. cmd systeminfo
輸出類似
OS 名稱: Microsoft Windows XP Professional
OS 版本: 5.1.2600 Service Pack 3 Build 2600
OS 制造商: Microsoft Corporation
OS 配置: 獨立作業站
OS 構件型別: Multiprocessor Free
注冊的所有人: 微軟用戶
注冊的組織: 微軟公司
產品 ID: 71481-610-8134005-21407
初始安裝日期: 2011-01-02, 21:50:55
系統啟動時間: 3 天 1 小時 11 分 8 秒
系統制造商: BIOSTAR Group
系統型號: H61MHB
系統型別: X86-based PC
處理器: 安裝了 1 個處理器。
[01]: x86 Family 6 Model 58 Stepping 9 GenuineIntel ~2594 Mhz
BIOS 版本: ALASKA - 1072009
Windows 目錄: C:\WINDOWS
系統目錄: C:\WINDOWS\system32
uj5u.com熱心網友回復:
就是API函式的問題
uj5u.com熱心網友回復:
奉勸樓主不要把有限的生命浪費在無限的加密解密死回圈中!uj5u.com熱心網友回復:
可以通過WMI來獲取~~uj5u.com熱心網友回復:
想知道,在win10下,怎么獲取固態硬碟的ID?uj5u.com熱心網友回復:
百度搜相關關鍵字。uj5u.com熱心網友回復:
請教smwhotjay:能不能說得詳細點,謝謝了!
uj5u.com熱心網友回復:
/******************************************************************
* Function Name: GetLocalMac
* Function: 獲取本機MAC地址
* Input Parameters: NULL
* OutPut Parameters: NULL
* Return Value: 本機MAC地址
********************************************************************/
CString CFlyCheckImageApp::GetLocalMac()
{
CString strMacTemp;
ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
PIP_ADAPTER_INFO pAdapterInfo = (IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
if(pAdapterInfo == NULL)
return NULL;
if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW)
{
free(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *)malloc(ulOutBufLen);
if (pAdapterInfo == NULL)
return NULL;
}
if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == NO_ERROR)
{
for(PIP_ADAPTER_INFO pAdapter = pAdapterInfo; pAdapter != NULL; pAdapter = pAdapter->Next)
{
// 確保是有線物理網卡
if(pAdapter->Type != MIB_IF_TYPE_ETHERNET || pAdapter->Type == 71 || strstr(pAdapter->Description,"Bluetooth") >0)
continue;
if(pAdapter->AddressLength != 6)
continue;
strMacTemp.Format("%02X:%02X:%02X:%02X:%02X:%02X",
int (pAdapter->Address[0]),
int (pAdapter->Address[1]),
int (pAdapter->Address[2]),
int (pAdapter->Address[3]),
int (pAdapter->Address[4]),
int (pAdapter->Address[5]));
break;
}
}
free(pAdapterInfo);
return strMacTemp;
}
uj5u.com熱心網友回復:
char vendor_serialnumber[0x14] = { 0 };
char* SoftAuther::GetCpuID()
{
std::array<int, 4> cpui;
__cpuid(cpui.data(), 0x0);
int nIds_ = cpui[0];
std::vector<std::array<int, 4>> data_; //保存遍歷到的所有cpui的值
for (int i=0;i<=nIds_;++i)
{
__cpuidex(cpui.data(), i, 0);
data_.push_back(cpui);
}
//reinterpret_cast<int*>(vendor) //*reinterpret_cast<int*>(vendor)
//索引0 0+4 0+8的值構成了CPU芯片的名稱
char vendor[0x20] = { 0 };
*reinterpret_cast<int*>(vendor) = data_[0][1];
*reinterpret_cast<int*>(vendor + 4) = data_[0][3];
*reinterpret_cast<int*>(vendor + 8) = data_[0][2];
std::string vendor_ = vendor;
sprintf_s(vendor_serialnumber, sizeof(vendor_serialnumber), "%08X", data_[1][0]);
return vendor_serialnumber;
}獲取cpuid
uj5u.com熱心網友回復:
你想要的這些我剛做完,覺得有用可以看看https://blog.csdn.net/github_37567324
uj5u.com熱心網友回復:
你想要的這些我剛做完,覺得有用可以看看https://blog.csdn.net/github_37567324轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/72241.html
標籤:硬件/系統
下一篇:關于資料庫撰寫
