VC++ 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);
}
總結
以上是生活随笔為你收集整理的VC++ ipaddress控件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mfc对话框隐藏
- 下一篇: CIPAddressCtrl类的使用(I