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++ 程序,要怎么写?谢谢!
{
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++ 程序,要怎么写?谢谢!
#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 这里类型不对? 谢谢!