mfc IP控件的使用

来源:互联网 发布:c语言栈的实现 编辑:程序博客网 时间:2024/04/30 06:49
  1. void CMyDlg::OnIPAddress()   
  2.  
  3.     // 此段代码:独立的获取本机IP地址和计算机名  
  4.     WORD wVersionRequested;   
  5.     WSADATA wsaData;   
  6.     char name[255];   
  7.     CString ip;   
  8.     PHOSTENT hostinfo;   
  9.     wVersionRequested MAKEWORD(2, 0);   
  10.       
  11.     if (WSAStartup(wVersionRequested, &wsaData) == 0)  
  12.       
  13.     
  14.        if(gethostname(name, sizeof(name)) == 0)   
  15.          
  16.         if((hostinfo gethostbyname(name)) != NULL)   
  17.           
  18.          ip inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list);   
  19.           
  20.            
  21.        WSACleanup( );   
  22.          
  23.       
  24.     // AfxMessageBox(name);//name里是本机名   
  25.     // AfxMessageBox(ip);    //ip中是本机IP   
  26.     m_IPAddress ip; // m_IPAddress是IP控件对应的变量,ip是Edit控件对应的变量  
  27.     // m_IP.SetAddress(255, 86, 255, 68); // 直接设置控件里显示的值  
  28.     // 本段代码:已知IP Address控件里显示的值,转换为CString格式  
  29.       
  30.       
  31.       
  32.       
  33.     // 此段代码:用获取的IP地址值,显示到对话框里IP Address控件中  
  34.       
  35.     m_IP.SetWindowText(ip); // 把IP地址(CString类型)直接显示到IP Address控件中  
  36.       
  37.     UpdateData(FALSE);  
  38.  




C/C++ code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//将CString   型IP地址在IPAddressCtrl中显示   
  CString   strIP="192.168.0.10";   
  DWORD   dwIP;   
  dwIP   =   inet_addr(strIP);   
  unsigned   char   *pIP   =   (unsigned   char*)&dwIP;   
  m_ipAddr.SetAddress(*pIP,   *(pIP+1),   *(pIP+2),   *(pIP+3));   
     
  //将IPAddressCtrl中的IP地址获得并转换成CString型   
  unsigned   char   *pIP;   
  CString   strIP;   
  DWORD   dwIP;   
  m_ipAddr.GetAddress(dwIP);   
  pIP   =   (unsigned   char*)&dwIP;   
  strIP.Format("%u.%u.%u.%u",*(pIP+3),   *(pIP+2),   *(pIP+1),   *pIP);

原创粉丝点击