我试图用这个代码在Windows XP上获得MAC地址的Windows地址:获取MAC Qt中
QString getMacAddress()
{
QString macaddress="??:??:??:??:??:??";
#ifdef Q_WS_WIN
PIP_ADAPTER_INFO pinfo=NULL;
unsigned long len=0;
unsigned long nError;
if (pinfo!=NULL)
delete (pinfo);
nError = GetAdaptersInfo(pinfo,&len); //Have to do it 2 times?
if(nError != 0)
{
pinfo= (PIP_ADAPTER_INFO)malloc(len);
nError = GetAdaptersInfo(pinfo,&len);
}
if(nError == 0)
macaddress.sprintf("%02X:%02X:%02X:%02X:%02X:%02X",pinfo->Address[0],pinfo->Address[1],pinfo->Address[2],pinfo->Address[3],pinfo->Address[4],pinfo->Address[5]);
#endif
return macaddress;
}
的代码是在这里建议:http://www.qtforum.org/post/42589/how-to-obtain-mac-address.html#post42589
我应该包括哪些图书馆使它工作?。
在Windows和MSVC编译器上,应该用别的东西替换QNetworkInterface变量“interface”,否则编译失败。另请参阅以下主题以获取解释:http://qt-project.org/forums/viewthread/19133 –
在Ubuntu上工作也 – PedroMorgan
当Android没有连接WiFi时,接口变为环回并且'hardwareAddress()'读作'00 :00:00:00:00:00'。 –