sto cercando di ottenere l'indirizzo MAC su Windows XP utilizzando questo codice:Ottenere indirizzo MAC sulle finestre in 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;
}
Il codice è stato suggerito qui: http://www.qtforum.org/post/42589/how-to-obtain-mac-address.html#post42589
Quali biblioteche devo includere per renderlo lavoro?.
il compilatore Windows e MSVC, è necessario sostituire l ' "interfaccia" variabile QNetworkInterface con qualcos'altro, altrimenti la compilazione fallisce. Vedi anche questo thread per la spiegazione: http://qt-project.org/forums/viewthread/19133 –
Funziona anche su Ubuntu – PedroMorgan
Quando WiFi non è connesso su Android, l'interfaccia diventa loopback e 'hardwareAddress()' legge come '00 : 00: 00: 00: 00: 00'. –