下载本文示例代码
相信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地址
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下运行通过。
相信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地址
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下运行通过。
下载本文示例代码
用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法用VC实现QQ2004显示IP地址的方法
阅读(101) | 评论(0) | 转发(0) |