C++: Получить MAC-адрес сетевых адаптеров на Vista?

Как сказал Джо Паттен, панды упрощают работу, вы можете конвертировать свой словарь в информационный фрейм, делать свои вещи и затем преобразовывать их обратно в словарь, если хотите:

import pandas as pd
from sklearn.preprocessing import MinMaxScaler

ser = pd.Series(METTS_MARK) #I am using your METTS_MARK

ser.replace('NaN',0,inplace=True)
ser.drop(index="email_address",inplace=True) #to make everything numerical so we can scale, you can add it back later

df = pd.DataFrame(ser)

scaler = MinMaxScaler()
df[0] = scaler.fit_transform(df)

после того, как вы закончите :

newDict = df[0].to_dict()
11
задан yesraaj 21 October 2008 в 13:40
поделиться

4 ответа

Вы могли использовать WMIService? Я использовал его для получения MAC-адреса машины в дни перед Vista все же.

2
ответ дан 3 December 2019 в 05:36
поделиться

Это даст Вам список всех MAC-адресов на Вашем компьютере. Это будет работать со всеми версиями Windows также:

void getdMacAddresses(std::vector<std::string> &vMacAddresses;)
{
    vMacAddresses.clear();
    IP_ADAPTER_INFO AdapterInfo[32];       // Allocate information for up to 32 NICs
    DWORD dwBufLen = sizeof(AdapterInfo);  // Save memory size of buffer
    DWORD dwStatus = GetAdaptersInfo(      // Call GetAdapterInfo
    AdapterInfo,                 // [out] buffer to receive data
    &dwBufLen);                  // [in] size of receive data buffer

    //No network card? Other error?
    if(dwStatus != ERROR_SUCCESS)
        return;

    PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo;
    char szBuffer[512];
    while(pAdapterInfo)
    {
        if(pAdapterInfo->Type == MIB_IF_TYPE_ETHERNET)
        {
            sprintf_s(szBuffer, sizeof(szBuffer), "%.2x-%.2x-%.2x-%.2x-%.2x-%.2x"
                , pAdapterInfo->Address[0]
                , pAdapterInfo->Address[1]
                , pAdapterInfo->Address[2]
                , pAdapterInfo->Address[3]
                , pAdapterInfo->Address[4]
                , pAdapterInfo->Address[5]
                );
            vMacAddresses.push_back(szBuffer);
        }
        pAdapterInfo = pAdapterInfo->Next;

    }
}
19
ответ дан 3 December 2019 в 05:36
поделиться

GetAdaptersInfo () является официальным методом, он перечисляет все адаптеры даже, которые разъединяются.
См., что это сообщение, например, кодирует codeguru

0
ответ дан 3 December 2019 в 05:36
поделиться

Можно использовать WMI и на XP и на Vista, онлайн существует много примеров. например: Используйте инструментарий управления Windows (WMI) для получения MAC-адреса

-1
ответ дан 3 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: