- 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地址值,显示到对话框里IP Address控件中 -
-
m_IP.SetWindowText(ip); // 把IP地址(CString类型)直接显示到IP Address控件中 -
-
UpdateData(FALSE); - }
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);
|