1、建立乙個對話方塊應用程式,載入windows socket的動態連線庫,方法為在對話方塊的initdialog函式中增加如下**:
word wversionrequested;
wsadata wsadata;
int err;
wversionrequested = makeword(2,0);
err = wsastartup(wversionrequested,&wsadata);
if(err != 0)
if(lobyte(wsadata.wversion != 2) || hibyte(wsadata.wversion) != 0)
2、在對話方塊上增加兩個編輯框資源,並為其增加成員變數,名稱分別為m_shostname;m_sipaddress,型別為cstring。
3、新增兩個私有函式,分別用來獲取主機名和ip,函式如下
int ctestwinsockdlg::getlocalhostname(cstring& shostname)
shostname = szhostname;
return 0;
}int ctestwinsockdlg::getipaddress(const cstring& shostname,cstring& sipaddress)
lpstr lpaddr = lphostent->h_addr_list[0];
if(lpaddr)
}return 0;
}4、在initdialog函式中加入如下**,主機名和ip就會顯示在對話方塊的編輯框中;
int nretcode;
nretcode = getlocalhostname(m_shostname);
nretcode = getipaddress(m_shostname,m_sipaddress);
updatedata(false);
獲取主機名與主機IP位址
說明 structhostent define h addr h addr list 0 h name 位址的正式名稱。h aliases 空位元組 位址的預備名稱的 指標。h addrtype 位址型別 通常是 af inet。h length 位址的位元長度。h addr list 零位元組 主...
VC 獲取機器的Ip和主機名
利用winsock獲取主機名和ip位址其實很簡單,主要使用的函式就是gethostname和gethostbyname.首先,使用gethostname char name,int namelen 獲取主機名,name為儲存主機名的buf,namelen為制定的buf的長度。然後使用gethostb...
在cmd中獲取ip位址和主機名
將下面的檔案放到乙個bat檔案當中,以管理員身份執行。echo off setlocal enabledelayedexpansion rem 獲取本機的ip位址 區域網 echo please wait for f tokens 2 delims b in ipconfig find i ip d...