QQ登录

只需一步,快速开始

上位机MFC如何获得本地计算机的IP地址

[ 复制链接 ]
可以事先通过函数gethostname获得主机名。再使用主机名获得计算IP,调用函数gethostbyname就好。
下面是关键代码,可以在自己工程中测试。
  1. #include <Winsock2.h>
  2. #pragma comment (lib,"Ws2_32.lib")
  3. void CGkbc8Dlg::OnButton1()
  4. {
  5.         //初始化WinSock
  6.         WSADATA WSAData;
  7.         if (WSAStartup(MAKEWORD(2,0), &WSAData) != 0)
  8.         {
  9.                 return;
  10.         }
  11.        
  12.         //获得本地计算机主机名称
  13.         CString strName = _T("");
  14.         gethostname(strName.GetBuffer(1024), 1024);
  15.         strName.ReleaseBuffer();

  16.         //获得本地计算机信息
  17.         struct hostent* pHostEnt = gethostbyname(strName);
  18.         if (pHostEnt == NULL)
  19.         {
  20.                 return;
  21.         }

  22.         //获得本地计算机IP地址
  23.         CString strText = _T("");
  24.         strText += _T("本地计算机的IP地址:\n");
  25.         int n = 0;
  26.         while (pHostEnt->h_addr_list[n] != NULL)
  27.         {
  28.                 CString strTemp = _T("");
  29.                 strTemp.Format(_T("%d.%d.%d.%d\n"),
  30.                 (pHostEnt->h_addr_list[n][0] & 0x00FF),
  31.                 (pHostEnt->h_addr_list[n][1] & 0x00FF),
  32.                 (pHostEnt->h_addr_list[n][2] & 0x00FF),
  33.                 (pHostEnt->h_addr_list[n][3] & 0x00FF));
  34.                 strText += strTemp;
  35.                 n++;
  36.         }
  37.         AfxMessageBox(strText);

  38.         //清理WinSock
  39.         WSACleanup();               
  40. }
复制代码

  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索