每个人都希望每天都是开心的,不要因为一些琐事扰乱了心情还,闲暇的时间怎么打发,关注图老师可以让你学习更多的好东西,下面为大家推荐用VC实现QQ2004显示IP地址的方法,赶紧看过来吧!
【 tulaoshi.com - 编程语言 】
相信QQ2004大家玩过吧!其中对好友的IP和哪个地方的显示是不是很爽的啊。哪就跟我来让我看来看究竟。以下为实现原理。
首先载入Winsock动态库,代码如下:
int CIPAddressDlg::StartUp()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionReuqested=MAKEWORD(2,0);
err=WSAStartup(wVersionReuqested, &wsaData);
if(err!=0)
{
return err;
}
if(LOBYTE(wsaData.wVersion)!=2||HIBYTE(wsaData.wVersion)!=0)
{
WSACleanup();
return WSAVERNOTSUPPORTED;
}
return 0;
}
以下的GetLocalHostName()函数为现实获取计算机名称,
int CIPAddressDlg::GetLocalHostName(CString&sHostName)
{
char szHostName[256];
int nRectCode;
nRectCode=gethostname(szHostName,sizeofa(szHostName));
if(nRectCode!=0)
{
sHostName=_T("Not available");
return WSAGetLastError();
}
sHostName=szHostName;
return 0;
}
然后调用GetIPAddress来获取IP地址
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)int CIPAddressDlg::GetIPAddress(const CString& sHostName, CString&sIPAddress)
{
struct hostent FAR *lpHostEnt=gethostbyname(sHostName);
if(lpHostEnt==NELL)
{
sIPAddress=_T("");
return WSAGetLastError();
}
LPSTR lpAddr=lpHostEnt-h_adr_list[0];
if(lpAddr)
{
struct in_addr inAddr;
memmove (&inAddr,lpAddr, 4);
sIPAddress=inet_ntoa (inAddr);
if(sIPAddress.IsEmpty())
sIPAddress=_T("Not available");
}
return 0;
}
哈哈,一切就绪了,是不是很简单啊!
本程序是VC++6.0下运行通过。
来源:http://www.tulaoshi.com/n/20160219/1611620.html
看过《用VC实现QQ2004显示IP地址的方法》的人还看了以下文章 更多>>