VC中獲取主機名和IP位址的方法

2021-04-13 02:22:58 字數 938 閱讀 1988

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...