探測網路芳鄰 |
答題得分者是:RaynorPao
|
hclai
一般會員 發表:1 回覆:1 積分:0 註冊:2003-07-14 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 如何在區域網路內察知網路上的各個PC是否開放的網路芳鄰且分享了何種資料夾?權限為何? (PS:由於區域網路的路由器已將NetBEUI協定關閉,因此只能用TCP/IP搜尋方式才找的到!)hclai 你好: 先試試看 Win32 API NetShareEnum, WNetEnumResource 可不可以用呢?? class="code"> 以下是範例程式碼(並沒有實際測試過) void __fastcall TForm1::Button1Click(TObject *Sender) { Memo1->Clear(); HANDLE hEnum; DWORD dwRet=0; NETRESOURCE nr[100]; DWORD dwSize=100*sizeof(NETRESOURCE); DWORD dwEntries=0; // dwRet=WNetOpenEnum(RESOURCE_CONTEXT, RESOURCETYPE_DISK, 0, NULL, &hEnum); dwRet=WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, NULL, &hEnum); if(dwRet!=NO_ERROR) { ShowMessage("WNetOpenEnum error code = " IntToStr(dwRet)); return; } ZeroMemory(&nr, dwSize); dwRet=WNetEnumResource(hEnum, &dwEntries, &nr, &dwSize); if(dwRet!=NO_ERROR) { ShowMessage("WNetEnumResource error code = " IntToStr(dwRet)); return; } ShowMessage(IntToStr(dwEntries)); for(int i=0; i<(int)dwEntries; i ) { Memo1->Lines->Add(IntToStr(i) " - " nr[i].lpRemoteName); Application->ProcessMessages(); } WNetCloseEnum(hEnum); } -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/07/16 10:21:20
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
hclai
一般會員 發表:1 回覆:1 積分:0 註冊:2003-07-14 發送簡訊給我 |
|
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |