MFC中IPADDRESS控件的使用

23 篇文章 0 订阅

MFC中IPADDRESS控件的使用

void CMyDlg::OnIPAddress()   
{  
    // 此段代码:独立的获取本机IP地址和计算机名  
    WORD wVersionRequested;   
    WSADATA wsaData;   
    char name[255];   
    CString ip;   
    PHOSTENT hostinfo;   
    wVersionRequested = MAKEWORD(2, 0);   
      
    if (WSAStartup(wVersionRequested, &wsaData) == 0)  
    {   
    
       if(gethostname(name, sizeof(name)) == 0)   
       {   
        if((hostinfo = gethostbyname(name)) != NULL)   
        {   
         ip = inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list);   
        }   
       }     
       WSACleanup( );   
    }      
      
    // AfxMessageBox(name);//name里是本机名   
    // AfxMessageBox(ip);    //ip中是本机IP   
    m_IPAddress = ip; // m_IPAddress是IP控件对应的变量,ip是Edit控件对应的变量  
    // m_IP.SetAddress(255, 86, 255, 68); // 直接设置控件里显示的值  
    // 本段代码:已知IP Address控件里显示的值,转换为CString格式  
    /* 
    // 下面代码实现:把IP Address控件里的值转化为 CString格式 
    unsigned char *pIP;    
    CString strIP;    
    DWORD dwIP;    
    m_IP.GetAddress(dwIP); // m_IP为IP Address控件对应的变量    
    pIP = (unsigned   char*)&dwIP;    
    strIP.Format("%u.%u.%u.%u",*(pIP+3),   *(pIP+2),   *(pIP+1),   *pIP); 
    MessageBox(strIP);*/  
    /*  
    // 下面代码实现:把IP Address控件里的值转化为 CString格式 
    BYTE f0, f1, f2, f3; 
    m_IP.GetAddress(f0, f1, f2, f3); 
    CString m_addr; 
    m_addr.Format("%d%s%d%s%d%s%d", f0, ".", f1, ".", f2, ".", f3); 
    MessageBox(m_addr);*/  
    /* 
    // 下面代码实现:把IP Address控件里的值转化为 CString格式 
    BYTE IPByte[4]; 
    m_IP.GetAddress(IPByte[0], IPByte[1], IPByte[2], IPByte[3]); 
    CString strIP = ""; 
    char temp1[10], temp2[10], temp3[10], temp4[10]; 
    itoa(IPByte[0], temp1, 10); 
    itoa(IPByte[1], temp2, 10); 
    itoa(IPByte[2], temp3, 10); 
    itoa(IPByte[3], temp4, 10); 
    strIP += temp1; 
    strIP += "."; 
    strIP += temp2; 
    strIP += "."; 
    strIP += temp3; 
    strIP += "."; 
    strIP += temp4; 
    MessageBox(strIP);*/  
    /* 
    // 下面代码实现:把IP Address控件里的值转化为 CString格式 
    CString strx; 
    m_IP.GetWindowText(strx); 
    MessageBox(strx);*/  
    // 此段代码:用获取的IP地址值,显示到对话框里IP Address控件中  
    /* CString strIP; 
    GetDlgItemText(IDC_EDIT_IPAddress, strIP); 
    m_IP.SetWindowText(strIP);*/  
    m_IP.SetWindowText(ip); // 把IP地址(CString类型)直接显示到IP Address控件中  
      
    UpdateData(FALSE);  
} 


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值