我們在和伺服器進行通訊時,有時需要上傳本機相關資訊:賬號、ip、mac、硬碟序列號、cpu等等資訊,關於獲取這些資訊的方式有:
qnetworkinte***ce【這個主要是獲取ip位址和mac位址等資訊】
這裡總結下在獲取mac位址時,實際的場景中有虛擬機器,自己專案的需求是:優先取物理機,且最多取兩個(一般的個人pc也就兩個:有線網絡卡和無線網絡卡),如果沒有物理機網絡卡,然後再取虛擬網絡卡(非物理網絡卡),關鍵**如下:
qstring mainwindow::getmacaddress(bool deletecolon)
process->deletelater();
});process->start("ls", qstringlist()<<"/sys/devices/virtual/net/");
//等待process執行結束
process->waitforfinished();
int maccount = nets.count();
qstring strmacaddr = "";
for (int i = 0; i < maccount; i++) else
}if (physicsmacdevices.size() == 2)
break;
}if (!physicsmacdevices.isempty())
if (!virtualmacdevices.isempty())
qdebug() << "return macaddr" << macaddr;
return macaddr;
}
獲得MAC位址
void getmac out char pszbuffer,dword nbuffersize 第二次呼叫getadaptersaddresses 獲取實際想獲取的資訊.if dwretval getadaptersaddresses af inet,0,null,paddresses,outbu...
獲得ip和mac位址
using system.runtime.interopservices dllimport iphlpapi.dll private static extern intsendarp int32 dest,int32 host,refint64 mac,refint32 length dllimp...
獲得本機IP和MAC位址
用c 獲得本機ip和 mac類為管理物件的集合,上例中由檢索物件返回管理物件集合賦值給它.using system using system.collections.generic using system.text using system.net using system.management ...