怎樣搜索區域網路的電腦 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
怎樣搜索區域網路的電腦作者:JiShiPing(季世平) 資料來源: http://www.ccrun.com/ 在一個區域網路上,網路編程IP相關問題 1.怎麼搜索區域網路上的電腦? 2.怎樣通過一個電腦的IP位址獲得其網路卡MAC位址? 例如,我的電腦為A,局域網上的有另外一台電腦為B,怎樣在A上通過B的IP位址獲取B的網路卡MAC位址? 如何編程用C++Builder編程實現? //------------來自JiShiPing(JSP季世平)的代碼:---------------#include < winnetwk.h > #include < winsock2.h > //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { TStrings *netList=new TStringList(); TListItem *NewItem; // ListView1- >Items- >Clear(); Screen- >Cursor=crHourGlass; // EnumNetResource(netList,NULL,RESOURCE_GLOBALNET,RESOURCETYPE_ANY); for(int i=0;i//------獲取某主機的IP地址,如果主機名為空,則返回本機的名和IP地址--------- //AnsiString gethostip(AnsiString &host) AnsiString __fastcall TForm1::gethostip(AnsiString &host) { WSADATA wsaData; AnsiString IP; WSAStartup(MAKEWORD(2,0),&wsaData); if(host.IsEmpty()) { char hostname[128]; if(gethostname(hostname,128)!=0) return AnsiString( " "); host=hostname; } try { struct hostent *hp=gethostbyname(host.c_str()); if(WSAGetLastError()==WSAHOST_NOT_FOUND) { IP= "無法獲取 "; return IP; } else IP=inet_ntoa(*(struct in_addr*)hp- >h_addr_list[0]); } catch(...) { IP= " "; } WSACleanup(); return IP; }網路志工聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]--- |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |