获取本地IP地址,并在IP CONTROL控件中显示出来

简介: char sHostName[100]; gethostname(sHostName,sizeof(sHostName)); struct hostent FAR * lpHostEnt=gethostbyname(sHostName); if(lpHostEnt...

char sHostName[100];
 gethostname(sHostName,sizeof(sHostName));
 struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
 if(lpHostEnt==NULL)
 {
  MessageBox(_T("error"));
 }
 //获取IP
 LPSTR lpAddr=lpHostEnt->h_addr_list[0];
 if(lpAddr)
 {
  struct in_addr inAddr;
  memmove(&inAddr,lpAddr,4);

  CString str;
  str=inet_ntoa(inAddr);
  m_edit=str;
  UpdateData(0);


  DWORD  dw1=inet_addr(inet_ntoa(inAddr));
  WORD  wd1=LOWORD(dw1);//取高十六位
  WORD  wd2=HIWORD(dw1);//取低十六位
  BYTE  bte1=LOBYTE(wd1);
  BYTE  bte2=HIBYTE(wd1);
  BYTE  bte3=LOBYTE(wd2);
  BYTE  bte4=HIBYTE(wd2);

  m_ip.SetAddress(bte1,bte2,bte3,bte4);

 //m_ip.SetAddress(inet_addr(inet_ntoa(inAddr)));
  

 }

 

取出的IP地址,先转化为CString,紧接着转化为DWORD。如果这时候直接将DWORD在IP CONTROL中显示出来的话,将是一个不正确顺序的IP,低位和高位的顺序完全相反。只有将里面的数据取出,放在BYTE里,然后按照从低到高的顺序在IP CONTROL中显示出来,才能正确的显示本地IP。

该程序在VS2008.NET SP1环境下调试通过。

目录
相关文章
|
虚拟化 Windows 网络协议
Qt 5.7 获取本机IP地址
Qt 获取本机IP地址
7701 0
|
7天前
|
JavaScript 前端开发 C#
C# webbrowser控件设置代理IP访问网站
C# webbrowser控件设置代理IP访问网站
|
网络架构
显示ip地址的命令(查看本地电脑的IP地址的方法)
显示ip地址的命令(查看本地电脑的IP地址的方法)
3828 0
|
JavaScript
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
130 0
(最方便兼容各种js)拿到路径全部信息(hash,host,hostname,href,origin,pathname,port,protocol)以及跳转路由
Qt实用技巧:QLineEdit限制只能输入Ip地址,且一直显示ip地址分段的“.”
Qt实用技巧:QLineEdit限制只能输入Ip地址,且一直显示ip地址分段的“.”
Qt实用技巧:QLineEdit限制只能输入Ip地址,且一直显示ip地址分段的“.”
|
网络协议 数据安全/隐私保护
群晖设置固定IP (Fix IP)的方法
群晖设置固定IP (Fix IP)的方法
群晖设置固定IP (Fix IP)的方法
Euraka配置instanceid显示ip
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80464707 ...
892 0
|
C#
C# 设置IP地址及设置自动获取IP
原文:C# 设置IP地址及设置自动获取IP 1.添加引用"system.Management" 2.添加using System.Management using System; using System.
2538 0