Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14523858
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:27:47

下载本文示例代码
  相信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地址的方法
阅读(111) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~