char szLocalName[256];//定义本机名称存储数组
WSADATA wsaData;//定义套接字存储变量
if (WSAStartup(MAKEWORD(2, 0), &wsaData) == 0)
{
if (gethostname(szLocalName, sizeof(szLocalName)) != 0)
{
sLocalName = _T("获取失败");
WSACleanup();
return GetLastError();
}
else
{
sLocalName = szLocalName;//用sLocalName变量存储获得的计算机名称
struct hostent FAR * lpHostEnt = gethostbyname(sLocalName);
if (lpHostEnt == NULL)
{
sIpAddress = _T("");
WSACleanup();
return GetLastError();
}
LPSTR lpAddr = lpHostEnt->h_addr_list[0];//获取IP地址
if (lpAddr)
{
struct in_addr inAddr;
memmove(&inAddr, lpAddr, 4);
sIpAddress = inet_ntoa(inAddr);//转换为标准格式
if (sIpAddress.IsEmpty())
{
sIpAddress = _T("获取失败");
WSACleanup();
return 1;
}
}
}
}
WSACleanup();//清空套接字初始化变量
return 0;
获取到之后可以通过指定edit控件将所需内容显示出来