MFC控件 CIPAddressCtrl



码农的我,今天做了个小工具,主要是启动第三方软件,然后根据启动软件的标题来做出对应的处理的功能。


当然,也用到了CIPAddressCtrl这个控件。

对此控件,不胜了解,所以查了一些资料,供我和大家一起学习。。。


CIPAddressCtrl m_addr;

获取IP地址:

DWORD dwValue ;

m_addr.GetAddress(dwValue); //大家都知道。。嘿嘿

当是如何把dwValue转换成常规的xxx.xxx.xxx.xxx字符串地址呢?

方法一:

m_addr.GetWindowsText().... // 这样可以直接获取IP地址

方法二:

unsigned char* pip;

pip = (unsigned char*)&dwValue;

strAddr.Format("%u.%u.%u.%u", *(pip+3), *(pip+2), *(pip+1), *pip);


设置IP地址:

m_addr.SetAddress(dwValue);

当我们拿到的是一个字符串时,如xxx.xxx.xxx.xxx

可以用 dwValue = inet_addr(strip);





看到这,如果想知道为什么strAddr.Format("%u.%u.%u.%u", *(pip+3), *(pip+2), *(pip+1), *pip);成立的话,我们在一起深入探讨探讨。。。


首先,我们大家都知道IP最大的为:255.255.255.255 好吧。

255 = 2的8次方-1 即:8个比特(bit),1字节, IP总共有4个字节;

而DWORD 就是 Double Word的意思,每个word为2个字节的长度, 所有DWORD=4字节。


所有 IP长度=DWORD长度,每个字节表示一个255

如下图:











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值