|
@@ -60,29 +60,29 @@ CSystemStatus::~CSystemStatus()
|
|
|
}
|
|
|
|
|
|
|
|
|
-//初始化
|
|
|
+//鍒濆�鍖�
|
|
|
void CSystemStatus::SystemInit(DWORD object)
|
|
|
{
|
|
|
PDH_STATUS state;
|
|
|
state = PdhOpenQuery(NULL, NULL, &m_Query);
|
|
|
|
|
|
- if (object&SYSSTATE_CPU_USAGE) //CPU使用率
|
|
|
+ if (object&SYSSTATE_CPU_USAGE) //CPU浣跨敤鐜�
|
|
|
state = PdhAddCounter(m_Query, _T("\\Processor(_Total)\\% Processor Time"), NULL, &m_CpuTotal);
|
|
|
- if (object&SYSSTATE_DISK_READ) //磁盘读速度
|
|
|
+ if (object&SYSSTATE_DISK_READ) //纾佺洏璇婚€熷害
|
|
|
state = PdhAddCounter(m_Query, _T("\\PhysicalDisk(_Total)\\Disk Read Bytes/sec"), NULL, &m_DiskRead);
|
|
|
- if (object&SYSSTATE_DISK_WRITE) //磁盘写速度
|
|
|
+ if (object&SYSSTATE_DISK_WRITE) //纾佺洏鍐欓€熷害
|
|
|
state = PdhAddCounter(m_Query, _T("\\PhysicalDisk(_Total)\\Disk Write Bytes/sec"), NULL, &m_DiskWrite);
|
|
|
- if (object&SYSSTATE_NET_DOWNLOAD)//网络下载速度
|
|
|
+ if (object&SYSSTATE_NET_DOWNLOAD)//缃戠粶涓嬭浇閫熷害
|
|
|
state = PdhAddCounter(m_Query, _T("\\Network Interface(killer E2200 Gigabit Ethernet Controller)\\Bytes Received/sec"), NULL, &m_NetDownload);
|
|
|
- if (object&SYSSTATE_NET_UPLOAD) //网络上传速度
|
|
|
+ if (object&SYSSTATE_NET_UPLOAD) //缃戠粶涓婁紶閫熷害
|
|
|
state = PdhAddCounter(m_Query, _T("\\Network Interface(killer E2200 Gigabit Ethernet Controller)\\Bytes Sent/sec"), NULL, &m_NetUpload);
|
|
|
|
|
|
state = PdhCollectQueryData(m_Query);
|
|
|
- Sleep(500); //这里要有延时不然结果相当不准确
|
|
|
+ Sleep(500); //杩欓噷瑕佹湁寤舵椂涓嶇劧缁撴灉鐩稿綋涓嶅噯纭�
|
|
|
state = PdhCollectQueryData(m_Query);
|
|
|
}
|
|
|
|
|
|
-//获取网络下载速度(K/s)
|
|
|
+//鑾峰彇缃戠粶涓嬭浇閫熷害锛圞/s锛�
|
|
|
double CSystemStatus::GetSystemNetDownloadRate()
|
|
|
{
|
|
|
PDH_FMT_COUNTERVALUE counterVal;
|
|
@@ -93,7 +93,7 @@ double CSystemStatus::GetSystemNetDownloadRate()
|
|
|
return NetDownload;
|
|
|
}
|
|
|
|
|
|
-//获取网络上传速度
|
|
|
+//鑾峰彇缃戠粶涓婁紶閫熷害
|
|
|
double CSystemStatus::GetSystemNetUploadRate()
|
|
|
{
|
|
|
PDH_FMT_COUNTERVALUE counterVal;
|
|
@@ -104,7 +104,7 @@ double CSystemStatus::GetSystemNetUploadRate()
|
|
|
return NetUpload;
|
|
|
}
|
|
|
|
|
|
-//获取系统当前磁盘读速率(K/s)
|
|
|
+//鑾峰彇绯荤粺褰撳墠纾佺洏璇婚€熺巼(K/s)
|
|
|
double CSystemStatus::GetSystemDiskReadRate()
|
|
|
{
|
|
|
PDH_FMT_COUNTERVALUE counterVal;
|
|
@@ -115,7 +115,7 @@ double CSystemStatus::GetSystemDiskReadRate()
|
|
|
return dbDiskRead;
|
|
|
}
|
|
|
|
|
|
-//获取系统当前磁盘写速率
|
|
|
+//鑾峰彇绯荤粺褰撳墠纾佺洏鍐欓€熺巼
|
|
|
double CSystemStatus::GetSystemDiskWriteRate()
|
|
|
{
|
|
|
PDH_FMT_COUNTERVALUE counterVal;
|
|
@@ -126,17 +126,17 @@ double CSystemStatus::GetSystemDiskWriteRate()
|
|
|
return dbDiskWrite;
|
|
|
}
|
|
|
|
|
|
-//获取CPU使用值
|
|
|
+//鑾峰彇CPU浣跨敤鍊�
|
|
|
double CSystemStatus::GetSystemCpuCurrentUsage()
|
|
|
{
|
|
|
PDH_FMT_COUNTERVALUE counterVal;
|
|
|
- // CPU时间,注意必须加上PDH_FMT_NOCAP100参数,否则多核CPU会有问题
|
|
|
+ // CPU鏃堕棿锛屾敞鎰忓繀椤诲姞涓奝DH_FMT_NOCAP100鍙傛暟锛屽惁鍒欏�鏍窩PU浼氭湁闂��
|
|
|
PDH_STATUS lStatus = PdhGetFormattedCounterValue(m_CpuTotal, PDH_FMT_DOUBLE| PDH_FMT_NOCAP100, NULL, &counterVal);
|
|
|
if(ERROR_SUCCESS != lStatus) return -1;
|
|
|
return counterVal.doubleValue;//PDH_INVALID_ARGUMENT PDH_INVALID_DATA
|
|
|
}
|
|
|
|
|
|
-//反初始化
|
|
|
+//鍙嶅垵濮嬪寲
|
|
|
void CSystemStatus::SystemUnInit()
|
|
|
{
|
|
|
if (m_CpuTotal){
|
|
@@ -167,7 +167,7 @@ void CSystemStatus::SystemUnInit()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// 获取系统所有硬盘使用情况
|
|
|
+// 鑾峰彇绯荤粺鎵€鏈夌‖鐩樹娇鐢ㄦ儏鍐�
|
|
|
void CSystemStatus::GetSystemDiskStatus(ULONGLONG& AllDiskTotal, ULONGLONG& AllDiskFree)
|
|
|
{
|
|
|
int DType = 0;
|
|
@@ -181,7 +181,7 @@ void CSystemStatus::GetSystemDiskStatus(ULONGLONG& AllDiskTotal, ULONGLONG& AllD
|
|
|
ULONGLONG i64TotalBytes;
|
|
|
ULONGLONG i64FreeBytes;
|
|
|
|
|
|
- //枚举磁盘数量
|
|
|
+ //鏋氫妇纾佺洏鏁伴噺
|
|
|
DWORD DiskInfo = GetLogicalDrives();
|
|
|
while (DiskInfo){
|
|
|
if (DiskInfo & 1){
|
|
@@ -201,7 +201,7 @@ void CSystemStatus::GetSystemDiskStatus(ULONGLONG& AllDiskTotal, ULONGLONG& AllD
|
|
|
}
|
|
|
int nRet = GetLogicalDriveStrings(DSLength, (LPTSTR)DStr);
|
|
|
|
|
|
- //枚举磁盘名称
|
|
|
+ //鏋氫妇纾佺洏鍚嶇О
|
|
|
for (int i = 0;i < DSLength / 4; i++){
|
|
|
TCHAR strDisk[3] = {0};
|
|
|
_stprintf(strDisk, _T("%c:"), DStr[si]);
|
|
@@ -217,7 +217,7 @@ void CSystemStatus::GetSystemDiskStatus(ULONGLONG& AllDiskTotal, ULONGLONG& AllD
|
|
|
nTempFree += (ULONGLONG)i64FreeBytesToCaller / 1024 / 1024 / 1024;
|
|
|
}
|
|
|
else{
|
|
|
- OutputDebugString(_T("设备未准备..."));
|
|
|
+ OutputDebugString(_T("璁惧�鏈�噯澶�..."));
|
|
|
}
|
|
|
si += 4;
|
|
|
}
|
|
@@ -227,7 +227,7 @@ void CSystemStatus::GetSystemDiskStatus(ULONGLONG& AllDiskTotal, ULONGLONG& AllD
|
|
|
delete[] DStr;
|
|
|
}
|
|
|
|
|
|
-// 获取系统各个硬盘使用情况
|
|
|
+// 鑾峰彇绯荤粺鍚勪釜纭�洏浣跨敤鎯呭喌
|
|
|
void CSystemStatus::GetSystemDiskStatus(std::vector<EACHDISKSTATUS> &vectorDisk)
|
|
|
{
|
|
|
int DType = 0;
|
|
@@ -241,7 +241,7 @@ void CSystemStatus::GetSystemDiskStatus(std::vector<EACHDISKSTATUS> &vectorDisk)
|
|
|
ULONGLONG i64TotalBytes;
|
|
|
ULONGLONG i64FreeBytes;
|
|
|
|
|
|
- //枚举磁盘数量
|
|
|
+ //鏋氫妇纾佺洏鏁伴噺
|
|
|
DWORD DiskInfo = GetLogicalDrives();
|
|
|
while (DiskInfo){
|
|
|
if (DiskInfo & 1){
|
|
@@ -262,7 +262,7 @@ void CSystemStatus::GetSystemDiskStatus(std::vector<EACHDISKSTATUS> &vectorDisk)
|
|
|
int nRet = GetLogicalDriveStrings(DSLength, (LPTSTR)DStr);
|
|
|
|
|
|
EACHDISKSTATUS diskstatus;
|
|
|
- //枚举磁盘名称
|
|
|
+ //鏋氫妇纾佺洏鍚嶇О
|
|
|
for (int i = 0;i < DSLength / 4; i++){
|
|
|
TCHAR strDisk[3] = {0};
|
|
|
_stprintf(strDisk, _T("%c:"), DStr[si]);
|
|
@@ -284,7 +284,7 @@ void CSystemStatus::GetSystemDiskStatus(std::vector<EACHDISKSTATUS> &vectorDisk)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OutputDebugString(_T("设备未准备..."));
|
|
|
+ OutputDebugString(_T("璁惧�鏈�噯澶�..."));
|
|
|
}
|
|
|
si += 4;
|
|
|
}
|
|
@@ -292,7 +292,7 @@ void CSystemStatus::GetSystemDiskStatus(std::vector<EACHDISKSTATUS> &vectorDisk)
|
|
|
delete[] DStr;
|
|
|
}
|
|
|
|
|
|
-//获取系统当前磁盘状态
|
|
|
+//鑾峰彇绯荤粺褰撳墠纾佺洏鐘舵€�
|
|
|
void CSystemStatus::GetSystemCurrentDiskStatus(ULONGLONG& TatolMB, ULONGLONG& FreeCaller)
|
|
|
{
|
|
|
BOOL bResult = FALSE;
|
|
@@ -316,9 +316,9 @@ void CSystemStatus::GetSystemCurrentDiskStatus(ULONGLONG& TatolMB, ULONGLONG& Fr
|
|
|
_stprintf(szDisk, _T("%c:"), strDirve[0]);
|
|
|
bResult = GetDiskFreeSpaceEx(
|
|
|
szDisk,
|
|
|
- (PULARGE_INTEGER)&ui64FreeBytesToCaller, //用户可用的磁盘空间
|
|
|
- (PULARGE_INTEGER)&ui64TotalBytes, //磁盘总共的空间
|
|
|
- (PULARGE_INTEGER)&ui64FreeBytes); //磁盘空闲的空间.以上都是字节为单位。
|
|
|
+ (PULARGE_INTEGER)&ui64FreeBytesToCaller, //鐢ㄦ埛鍙�敤鐨勭�鐩樼┖闂�
|
|
|
+ (PULARGE_INTEGER)&ui64TotalBytes, //纾佺洏鎬诲叡鐨勭┖闂�
|
|
|
+ (PULARGE_INTEGER)&ui64FreeBytes); //纾佺洏绌洪棽鐨勭┖闂�.浠ヤ笂閮芥槸瀛楄妭涓哄崟浣嶃€�
|
|
|
if (bResult){
|
|
|
nTempTotal = ui64TotalBytes / 1024 / 1024 / 1024;
|
|
|
nTempFree = ui64FreeBytesToCaller / 1024 / 1024 / 1024;
|
|
@@ -327,7 +327,7 @@ void CSystemStatus::GetSystemCurrentDiskStatus(ULONGLONG& TatolMB, ULONGLONG& Fr
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//获取系统当前磁盘使用率
|
|
|
+//鑾峰彇绯荤粺褰撳墠纾佺洏浣跨敤鐜�
|
|
|
double CSystemStatus::GetSystemCurrentDiskUsage()
|
|
|
{
|
|
|
BOOL bResult = FALSE;
|
|
@@ -350,9 +350,9 @@ double CSystemStatus::GetSystemCurrentDiskUsage()
|
|
|
_stprintf(szDisk, _T("%c:"), strDirve[0]);
|
|
|
bResult = GetDiskFreeSpaceEx(
|
|
|
szDisk,
|
|
|
- (PULARGE_INTEGER)&ui64FreeBytesToCaller, //用户可用的磁盘空间
|
|
|
- (PULARGE_INTEGER)&ui64TotalBytes, //磁盘总共的空间
|
|
|
- (PULARGE_INTEGER)&ui64FreeBytes); //磁盘空闲的空间.以上都是字节为单位。
|
|
|
+ (PULARGE_INTEGER)&ui64FreeBytesToCaller, //鐢ㄦ埛鍙�敤鐨勭�鐩樼┖闂�
|
|
|
+ (PULARGE_INTEGER)&ui64TotalBytes, //纾佺洏鎬诲叡鐨勭┖闂�
|
|
|
+ (PULARGE_INTEGER)&ui64FreeBytes); //纾佺洏绌洪棽鐨勭┖闂�.浠ヤ笂閮芥槸瀛楄妭涓哄崟浣嶃€�
|
|
|
if (bResult){
|
|
|
double TempNum = ((ui64TotalBytes / 1024 / 1024 / 1024)-(ui64FreeBytesToCaller/ 1024 / 1024 / 1024))* 100.0 / (ui64TotalBytes/ 1024 / 1024 / 1024);
|
|
|
return TempNum;
|
|
@@ -360,7 +360,7 @@ double CSystemStatus::GetSystemCurrentDiskUsage()
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-//物理内存和使用
|
|
|
+//鐗╃悊鍐呭瓨鍜屼娇鐢�
|
|
|
BOOL CSystemStatus::GetPhysicalMemoryState(ULONGLONG& totalPhysMem, ULONGLONG& physMemUsed)
|
|
|
{
|
|
|
MEMORYSTATUSEX memInfo;
|
|
@@ -371,7 +371,7 @@ BOOL CSystemStatus::GetPhysicalMemoryState(ULONGLONG& totalPhysMem, ULONGLONG& p
|
|
|
return TRUE;
|
|
|
}
|
|
|
|
|
|
-//机器物理内存容量(总可用内存)
|
|
|
+//鏈哄櫒鐗╃悊鍐呭瓨瀹归噺(鎬诲彲鐢ㄥ唴瀛�)
|
|
|
double CSystemStatus::GetTotalPhysicalMemory()
|
|
|
{
|
|
|
MEMORYSTATUSEX memInfo;
|
|
@@ -382,7 +382,7 @@ double CSystemStatus::GetTotalPhysicalMemory()
|
|
|
return fTemptotal;
|
|
|
}
|
|
|
|
|
|
-//机器物理内存容量(空闲内存)
|
|
|
+//鏈哄櫒鐗╃悊鍐呭瓨瀹归噺(绌洪棽鍐呭瓨)
|
|
|
double CSystemStatus::GetTotalPhysicalMemoryFree()
|
|
|
{
|
|
|
MEMORYSTATUSEX memInfo;
|
|
@@ -393,7 +393,7 @@ double CSystemStatus::GetTotalPhysicalMemoryFree()
|
|
|
return fTemMemFree;
|
|
|
}
|
|
|
|
|
|
-//机器物理内存使用(已使用内存)
|
|
|
+//鏈哄櫒鐗╃悊鍐呭瓨浣跨敤(宸蹭娇鐢ㄥ唴瀛�)
|
|
|
double CSystemStatus::GetTotalPhysicalMemoryUsed()
|
|
|
{
|
|
|
MEMORYSTATUSEX memInfo;
|
|
@@ -404,7 +404,7 @@ double CSystemStatus::GetTotalPhysicalMemoryUsed()
|
|
|
return fTemMemUsed;
|
|
|
}
|
|
|
|
|
|
-//机器物理内存使用率
|
|
|
+//鏈哄櫒鐗╃悊鍐呭瓨浣跨敤鐜�
|
|
|
double CSystemStatus::GetPhysicalMemoryUsage()
|
|
|
{
|
|
|
MEMORYSTATUSEX memInfo;
|
|
@@ -414,45 +414,45 @@ double CSystemStatus::GetPhysicalMemoryUsage()
|
|
|
return MemUsage;
|
|
|
}
|
|
|
|
|
|
-//获取网卡信息(在获取网速时需要用到网卡描述)
|
|
|
+//鑾峰彇缃戝崱淇℃伅锛堝湪鑾峰彇缃戦€熸椂闇€瑕佺敤鍒扮綉鍗℃弿杩帮級
|
|
|
void CSystemStatus::GetNetCardInfo(std::vector<NETCARDINFO> &vectorNetCard)
|
|
|
{
|
|
|
|
|
|
NETCARDINFO NetCardInfo;
|
|
|
|
|
|
PIP_ADAPTER_INFO pIpAdapterInfo = new IP_ADAPTER_INFO();
|
|
|
- //得到结构体大小,用于GetAdaptersInfo参数
|
|
|
+ //寰楀埌缁撴瀯浣撳ぇ灏�,鐢ㄤ簬GetAdaptersInfo鍙傛暟
|
|
|
unsigned long stSize = sizeof(IP_ADAPTER_INFO);
|
|
|
- //调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量;其中stSize参数既是一个输入量也是一个输出量
|
|
|
+ //璋冪敤GetAdaptersInfo鍑芥暟,濉�厖pIpAdapterInfo鎸囬拡鍙橀噺;鍏朵腑stSize鍙傛暟鏃㈡槸涓€涓�緭鍏ラ噺涔熸槸涓€涓�緭鍑洪噺
|
|
|
int nRel = GetAdaptersInfo(pIpAdapterInfo,&stSize);
|
|
|
- //记录网卡数量
|
|
|
+ //璁板綍缃戝崱鏁伴噺
|
|
|
int netCardNum = 0;
|
|
|
- //记录每张网卡上的IP地址数量
|
|
|
+ //璁板綍姣忓紶缃戝崱涓婄殑IP鍦板潃鏁伴噺
|
|
|
int IPnumPerNetCard = 0;
|
|
|
if (ERROR_BUFFER_OVERFLOW == nRel)
|
|
|
{
|
|
|
- //如果函数返回的是ERROR_BUFFER_OVERFLOW
|
|
|
- //则说明GetAdaptersInfo参数传递的内存空间不够,同时其传出stSize,表示需要的空间大小
|
|
|
- //这也是说明为什么stSize既是一个输入量也是一个输出量
|
|
|
- //释放原来的内存空间
|
|
|
+ //濡傛灉鍑芥暟杩斿洖鐨勬槸ERROR_BUFFER_OVERFLOW
|
|
|
+ //鍒欒�鏄嶨etAdaptersInfo鍙傛暟浼犻€掔殑鍐呭瓨绌洪棿涓嶅�,鍚屾椂鍏朵紶鍑簊tSize,琛ㄧず闇€瑕佺殑绌洪棿澶у皬
|
|
|
+ //杩欎篃鏄��鏄庝负浠€涔坰tSize鏃㈡槸涓€涓�緭鍏ラ噺涔熸槸涓€涓�緭鍑洪噺
|
|
|
+ //閲婃斁鍘熸潵鐨勫唴瀛樼┖闂�
|
|
|
delete pIpAdapterInfo;
|
|
|
- //重新申请内存空间用来存储所有网卡信息
|
|
|
+ //閲嶆柊鐢宠�鍐呭瓨绌洪棿鐢ㄦ潵瀛樺偍鎵€鏈夌綉鍗′俊鎭�
|
|
|
pIpAdapterInfo = (PIP_ADAPTER_INFO)new BYTE[stSize];
|
|
|
- //再次调用GetAdaptersInfo函数,填充pIpAdapterInfo指针变量
|
|
|
+ //鍐嶆�璋冪敤GetAdaptersInfo鍑芥暟,濉�厖pIpAdapterInfo鎸囬拡鍙橀噺
|
|
|
nRel=GetAdaptersInfo(pIpAdapterInfo,&stSize);
|
|
|
}
|
|
|
if (ERROR_SUCCESS == nRel)
|
|
|
{
|
|
|
- //输出网卡信息
|
|
|
- //可能有多网卡,因此通过循环去判断
|
|
|
+ //杈撳嚭缃戝崱淇℃伅
|
|
|
+ //鍙�兘鏈夊�缃戝崱,鍥犳�閫氳繃寰�幆鍘诲垽鏂�
|
|
|
while (pIpAdapterInfo)
|
|
|
{
|
|
|
- ++netCardNum; //网卡数量
|
|
|
+ ++netCardNum; //缃戝崱鏁伴噺
|
|
|
|
|
|
- NetCardInfo.Name=pIpAdapterInfo->AdapterName; //网卡名称
|
|
|
- NetCardInfo.Description=pIpAdapterInfo->Description;//网卡描述
|
|
|
+ NetCardInfo.Name=pIpAdapterInfo->AdapterName; //缃戝崱鍚嶇О
|
|
|
+ NetCardInfo.Description=pIpAdapterInfo->Description;//缃戝崱鎻忚堪
|
|
|
|
|
|
- switch(pIpAdapterInfo->Type)//网卡类型
|
|
|
+ switch(pIpAdapterInfo->Type)//缃戝崱绫诲瀷
|
|
|
{
|
|
|
case MIB_IF_TYPE_OTHER:break;
|
|
|
case MIB_IF_TYPE_ETHERNET:break;
|
|
@@ -462,7 +462,7 @@ void CSystemStatus::GetNetCardInfo(std::vector<NETCARDINFO> &vectorNetCard)
|
|
|
case MIB_IF_TYPE_LOOPBACK:break;
|
|
|
case MIB_IF_TYPE_SLIP:break;
|
|
|
}
|
|
|
- //网卡MAC地址
|
|
|
+ //缃戝崱MAC鍦板潃
|
|
|
char tempchar[4];
|
|
|
for (DWORD i = 0; i < pIpAdapterInfo->AddressLength; i++)
|
|
|
if (i < pIpAdapterInfo->AddressLength-1)
|
|
@@ -483,15 +483,15 @@ void CSystemStatus::GetNetCardInfo(std::vector<NETCARDINFO> &vectorNetCard)
|
|
|
|
|
|
}
|
|
|
|
|
|
- //网卡IP地址
|
|
|
- //可能网卡有多IP,因此通过循环去判断
|
|
|
+ //缃戝崱IP鍦板潃
|
|
|
+ //鍙�兘缃戝崱鏈夊�IP,鍥犳�閫氳繃寰�幆鍘诲垽鏂�
|
|
|
IP_ADDR_STRING *pIpAddrString =&(pIpAdapterInfo->IpAddressList);
|
|
|
do
|
|
|
{
|
|
|
- //cout<<"该网卡上的IP数量:"<<++IPnumPerNetCard<<endl;
|
|
|
- //cout<<"IP 地址:"<<pIpAddrString->IpAddress.String<<endl;
|
|
|
- //cout<<"子网地址:"<<pIpAddrString->IpMask.String<<endl;
|
|
|
- //cout<<"网关地址:"<<pIpAdapterInfo->GatewayList.IpAddress.String<<endl;
|
|
|
+ //cout<<"璇ョ綉鍗′笂鐨処P鏁伴噺锛�"<<++IPnumPerNetCard<<endl;
|
|
|
+ //cout<<"IP 鍦板潃锛�"<<pIpAddrString->IpAddress.String<<endl;
|
|
|
+ //cout<<"瀛愮綉鍦板潃锛�"<<pIpAddrString->IpMask.String<<endl;
|
|
|
+ //cout<<"缃戝叧鍦板潃锛�"<<pIpAdapterInfo->GatewayList.IpAddress.String<<endl;
|
|
|
|
|
|
NetCardInfo.Local_IP=pIpAddrString->IpAddress.String;
|
|
|
|
|
@@ -512,7 +512,7 @@ void CSystemStatus::GetNetCardInfo(std::vector<NETCARDINFO> &vectorNetCard)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//获取操作系统信息
|
|
|
+//鑾峰彇鎿嶄綔绯荤粺淇℃伅
|
|
|
void CSystemStatus::GetOsInfo(std::string& strOSName, std::string& strOSArch)
|
|
|
{
|
|
|
// get os name according to version number
|
|
@@ -520,7 +520,7 @@ void CSystemStatus::GetOsInfo(std::string& strOSName, std::string& strOSArch)
|
|
|
OSVERSIONINFOEX osvi;
|
|
|
SYSTEM_INFO si;
|
|
|
|
|
|
- /** 因受系统限制,该接口获取的操作系统版本从8.1开始不对 Gifur@2023724]*/
|
|
|
+ /** 鍥犲彈绯荤粺闄愬埗锛岃�鎺ュ彛鑾峰彇鐨勬搷浣滅郴缁熺増鏈�粠8.1寮€濮嬩笉瀵� Gifur@2023724]*/
|
|
|
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
|
|
|
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
|
|
|
GetVersionEx((LPOSVERSIONINFO)&osvi);
|
|
@@ -618,7 +618,7 @@ void CSystemStatus::GetOsInfo(std::string& strOSName, std::string& strOSArch)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//获取CPU硬件信息
|
|
|
+//鑾峰彇CPU纭�欢淇℃伅
|
|
|
void CSystemStatus::GetCpuInfo(std::string &CPUinfo)
|
|
|
{
|
|
|
int cpuInfo[4] = {-1};
|
|
@@ -635,13 +635,13 @@ void CSystemStatus::GetCpuInfo(std::string &CPUinfo)
|
|
|
__cpuid(cpuInfo, 0x80000004);
|
|
|
memcpy(cpu_freq, cpuInfo, sizeof(cpuInfo));
|
|
|
|
|
|
- std::string manufacture=cpu_manufacture;//制造商
|
|
|
- std::string type=cpu_type; //型号
|
|
|
- std::string freq=cpu_freq; //频率
|
|
|
+ std::string manufacture=cpu_manufacture;//鍒堕€犲晢
|
|
|
+ std::string type=cpu_type; //鍨嬪彿
|
|
|
+ std::string freq=cpu_freq; //棰戠巼
|
|
|
CPUinfo=manufacture+type+freq;
|
|
|
}
|
|
|
|
|
|
-//获取CPUid
|
|
|
+//鑾峰彇CPUid
|
|
|
void CSystemStatus::GetCPUid(std::string &CPUid)
|
|
|
{
|
|
|
unsigned long s1,s2,s3,s4;
|
|
@@ -686,7 +686,7 @@ BOOL CSystemStatus::GetHDSerial(std::string &HDSerial)
|
|
|
ZeroMemory(&in , sizeof(in));
|
|
|
ZeroMemory(&out , sizeof(out));
|
|
|
|
|
|
- //搜索四个物理硬盘,取第一个有数据的物理硬盘
|
|
|
+ //鎼滅储鍥涗釜鐗╃悊纭�洏锛屽彇绗�竴涓�湁鏁版嵁鐨勭墿鐞嗙‖鐩�
|
|
|
for (int j=0; j<4; j++)
|
|
|
{
|
|
|
sprintf(szhd, "\\\\.\\PhysicalDrive%d",j);
|
|
@@ -727,7 +727,7 @@ BOOL CSystemStatus::GetHDSerial(std::string &HDSerial)
|
|
|
s[20] = 0;
|
|
|
ChangeByteOrder(s, 20);
|
|
|
|
|
|
- //删除空格字符
|
|
|
+ //鍒犻櫎绌烘牸瀛楃�
|
|
|
int ix = 0;
|
|
|
for (ix=0; ix<20; ix++)
|
|
|
{
|