線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2000
推到 Plurk!
推到 Facebook!

取得網路芳鄰中的連線名稱

尚未結案
luckfox
一般會員


發表:34
回覆:40
積分:24
註冊:2002-10-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-22 22:09:07 IP:218.32.xxx.xxx 未訂閱
試過幾個API,GetIfTable,GetAdapterInfo都無法取得網路芳鄰中網路連線的名稱以及相關資訊,請問有沒有方法可以獲得呢?
axsoft
版主


發表:681
回覆:1056
積分:969
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-23 12:06:46 IP:61.218.xxx.xxx 未訂閱
引言: 試過幾個API,GetIfTable,GetAdapterInfo都無法取得網路芳鄰中網路連線的名稱以及相關資訊,請問有沒有方法可以獲得呢? luckfox您好: 請試試WNetEnumResource API及http://www.yesky.com/SoftChannel/72342371928834048/20030120/1649195.shtml
<textarea class="cpp" rows="10" cols="60" name="code">Unit1.H //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include #include #include #include //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TListBox *ListBox1; TButton *Button1; void __fastcall FormCreate(TObject *Sender); void __fastcall Button1Click(TObject *Sender); private: // User declarations void __fastcall EnumNetRes(NETRESOURCE* nr); public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif Unit1.cpp //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { } //--------------------------------------------------------------------------- void __fastcall TForm1::EnumNetRes(NETRESOURCE* nr) { HANDLE hEnum; if(WNetOpenEnum(RESOURCE_GLOBALNET,RESOURCETYPE_ANY, RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_CONNECTABLE, nr,&hEnum) != NO_ERROR) return; DWORD Count = -1; DWORD BufferSize = 0; DWORD ReturnVal = 0; NETRESOURCE *NetRes=(NETRESOURCE *)new char[1024]; ZeroMemory(NetRes, sizeof(NETRESOURCE)); for(;;) { ReturnVal = WNetEnumResource(hEnum, &Count, NetRes, &BufferSize); if(ReturnVal == ERROR_MORE_DATA) { Count = -1; delete [] NetRes; NetRes = (NETRESOURCE*)new char[BufferSize]; ZeroMemory(NetRes, sizeof(NETRESOURCE)); ReturnVal = WNetEnumResource(hEnum, &Count, NetRes, &BufferSize); } if(ReturnVal != NO_ERROR) break; for(unsigned int i = 0; i < Count; i ) { ListBox1->Items->Add(NetRes[i].lpRemoteName); Application->ProcessMessages(); if((NetRes[i].dwUsage & RESOURCEUSAGE_CONTAINER) == RESOURCEUSAGE_CONTAINER) EnumNetRes(&NetRes[i]); } if(ReturnVal == ERROR_NO_MORE_ITEMS) { delete [] NetRes; WNetCloseEnum(hEnum); } } delete [] NetRes; WNetCloseEnum(hEnum); } //-------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { EnumNetRes(NULL); } </textarea>


/*生活是一種藝術,用心生活享受生活*/

發表人 - axsoft 於 2004/07/23 12:09:31
編輯記錄
taishyang 重新編輯於 2007-09-10 11:26:39, 註解 無‧
taishyang 重新編輯於 2007-09-10 11:30:11, 註解 無‧
taishyang 重新編輯於 2007-09-10 11:30:58, 註解 無‧
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-24 22:06:50 IP:211.162.xxx.xxx 未訂閱
不好意思,插個花: 看看這篇文章如何,討論的很激烈哦,或許對您會有所啓迪: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=53666    ================================= 人生在勤,不索何獲 業精於勤荒於嬉,行成於思毀於隨 臨淵羡魚不如退而結網
------
人生在勤,不索何获?
系統時間:2024-05-03 0:13:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!