using System.Management;public string GetNetCardMacAddress()
      {
            ManagementClass mc;
            ManagementObjectCollection moc;
            mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            moc = mc.GetInstances();
            string str = "";
            foreach (ManagementObject mo in moc)
            {
                if ((bool)mo["IPEnabled"] == true)
                    str = mo["MacAddress"].ToString();            }
            return str;
     }这是 C# 的程序
要把它变为 WIN32 下的 C++ 程序,要怎么写?谢谢!

解决方案 »

  1.   

    wmi 不是 c++ 的东西吧貌似没办法
      

  2.   

    #include "stdio.h" 
    #include "windows.h" 
    #include "Iphlpapi.h" 
    #pragma comment(lib, "Iphlpapi.lib") 
    void main() 

    int i; 
    IP_ADAPTER_INFO pAdapterInfo; 
    ULONG len = sizeof(pAdapterInfo); if(GetAdaptersInfo(&pAdapterInfo, &len) != ERROR_SUCCESS) 

    printf("GetAdaptersInfo ERROR!\n"); 

    else 

    printf("AdapterName: %s\n", pAdapterInfo.Address); 
    printf("Description: %s\n", pAdapterInfo.Description); 
    printf("IP Address : %s\n", pAdapterInfo.IpAddressList.IpAddress.String); 
    printf("IP Mask : %s\n", pAdapterInfo.IpAddressList.IpMask.String); 
    printf("Gateway IP : %s\n", pAdapterInfo.GatewayList.IpAddress.String); 
    getchar(); 

    } 为什么 pAdapterInfo.Address 打印的是空啊 
    是不是 %s\n 这里类型不对? 谢谢!