000
23.05.2006, 20:09 Uhr
muck2000
|
Hallo,
ich habe zwei Netzwerkkarten in meinem Rechner und folgende Funktion:
C++: |
CString CMAGDlg::GetMACAddress(int adapternumber) { int nAdapterCount = 0; ULONG ip; ULONG buflen; PIP_ADAPTER_INFO pAdInfo = NULL; PIP_ADAPTER_INFO pAdInfo_c = NULL;
buflen = 0; GetAdaptersInfo(pAdInfo, &buflen); pAdInfo = (struct _IP_ADAPTER_INFO *)new UCHAR[buflen+1]; pAdInfo_c = pAdInfo; if (GetAdaptersInfo(pAdInfo, &buflen) == ERROR_SUCCESS) { do { ip = inet_addr(pAdInfo->IpAddressList.IpAddress.String); if ((ip != 0)&&(ip != 0x7f000001)) { nAdapterCount++; if ((nAdapterCount == adapternumber)||(adapternumber == 0)) { if (pAdInfo->AddressLength != 0) { CString macstr; for (int i = 0; i < (int)pAdInfo->AddressLength; i++) { CString temp; temp.Format(_T(" %02X"), pAdInfo->Address[i]); macstr += temp; } delete pAdInfo; return macstr; } } } } while ((pAdInfo->Next != NULL)&&((pAdInfo = pAdInfo->Next) != pAdInfo)); } delete pAdInfo_c; return _T(""); }
|
und egal welche "adapternummer" (0 oder 1) ich übergebe, er ließt mir nur die MAC-Adresse der einen Netzwerkkarte aus. Deaktivier ich diese kommt die MAC-Adresse der anderen. Ich find nicht raus wo der Wurm drin ist.
Im Voraus vielen Dank.
Gruss Sven -- Nimm das Leben nicht so ernst, da es eine Sache ist aus der Du eh nicht lebend raus kommst! |