全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:7731
推到 Plurk!
推到 Facebook!

取得網路卡的相關設定

 
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-23 20:34:20 IP:61.221.xxx.xxx 未訂閱
1.此篇文章的目的為何??
  主要的目的在示範如何取得電腦中所有網路卡的相關設定    2.是否有完整的範例 Project (包含 Source Code) 可以下載??
  http://delphi.ktop.com.tw/loadfile.php?TOPICID=12339099&CC=275961    3.該如何操作這個範例??
  (1)下載及解壓縮檔案 GetAdaptersInfo1.zip,並執行檔案 GetAdaptersInfo1.exe
  (2)按「Start」Button 即可看到執行的結果    4.此範例可以在哪一個作業系統執行??
  (1)理論上在 Windows 9X/ME/NT/2000/XP/2003 都可以執行,不過目前只有在
     Windows 2000 實際測試過,有興趣的會員,也請幫忙測試看看
  (2)不過有關讀取 DNS 相關設定的功能,根據 M$DN 中的說明,只能用在
     Windows 2000 以後的作業系統    5.有沒有相關的參考文件??
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getadaptersinfo.asp
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getperadapterinfo.asp    6.如果寫得不好,或是有不對的地方,請大家多多指教
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-19 21:56:49 IP:61.62.xxx.xxx 未訂閱
Hi, 包子兄, 弟看了一下你的程式, 發現有一點點小錯誤, 就是在使用 GetAdaptersInfo 及 GetPerAdapterInfo 這兩個 API 時, 您都使用了預設的大小, 這樣對於更多的網卡時, 會有不足緩衝區配置的問題(也就是第一個 if 的部分發生回傳 ERROR_BUFFER_OVERFLOW 的現象, 造成無法取得網卡的資訊), 弟稍微修改了一下程式, 使您的程式更為完整且正確. 也就是在使用之前, 先取得需要的緩衝區大小, 再配置充足的記憶體空間後, 取得完整的結構, 並秀出在畫面上, 請您笑納!!    另請參考弟的一篇使用 GetAdaptersInfo 資料: http://delphi.ktop.com.tw/topic.php?topic_id=43937    其實有很多 API 都會有這樣子的用法, 這也是因為 windows 使用 C 語言開發的關係, 所以會有許多類似這種 case 的 api 哦~  更新程式碼請連結:
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-19 23:43:26 IP:61.221.xxx.xxx 未訂閱
引言: Hi, 包子兄, 弟看了一下你的程式, 發現有一點點小錯誤, 就是在使用 GetAdaptersInfo 及 GetPerAdapterInfo 這兩個 API 時, 您都使用了預設的大小, 這樣對於更多的網卡時, 會有不足緩衝區配置的問題(也就是第一個 if 的部分發生回傳 ERROR_BUFFER_OVERFLOW 的現象, 造成無法取得網卡的資訊), 弟稍微修改了一下程式, 使您的程式更為完整且正確. 也就是在使用之前, 先取得需要的緩衝區大小, 再配置充足的記憶體空間後, 取得完整的結構, 並秀出在畫面上, 請您笑納!! 另請參考弟的一篇使用 GetAdaptersInfo 資料: http://delphi.ktop.com.tw/topic.php?topic_id=43937 其實有很多 API 都會有這樣子的用法, 這也是因為 windows 使用 C 語言開發的關係, 所以會有許多類似這種 case 的 api 哦~ 更新程式碼請連結: >< face="Verdana, Arial, Helvetica"> timhuang 你好: 謝謝你的指正,能夠讓此範例更完善,加惠更多的網友!!對於 Win32 API 的使 用觀念,小弟我曾在這篇文章裡面解說;而我曾經發表過的所有範例,也都是以 最簡單的方式來撰寫,因此只考慮正常的情況,對於流程控管、錯誤處理...等 這些產品化的工作,則是留給有需要的網友的功課,這是他們應該自己完成的事 情,至於最後能夠修改到什麼樣的程度,就看每個人的功力了!! src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
cogi698
一般會員


發表:2
回覆:3
積分:1
註冊:2004-07-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-15 10:01:01 IP:220.130.xxx.xxx 未訂閱
包子兄你好,小弟將下載的程式使用BCB6 complier則沒問題,但用BCB5 complier則出現了下列的messages: [Linker Error] Unresolved external 'GetAdaptersInfo' referenced from C:\DOCUMENTS AND SETTINGS\NEOYU\桌面\GETADAPTERSINFO1\UNIT1.OBJ [Linker Error] Unresolved external 'GetPerAdapterInfo' referenced from C:\DOCUMENTS AND SETTINGS\NEOYU\桌面\GETADAPTERSINFO1\UNIT1.OBJ 可以請教一下,如何才能使程式在BCB5上正確的complier 謝謝!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-09-10 18:16:12 IP:122.124.xxx.xxx 未訂閱
排版亂了,重貼一次
1.此篇文章的目的為何??
主要的目的在示範如何取得電腦中所有網路卡的相關設定

2.是否有完整的範例 Project (包含 Source Code) 可以下載??
http://delphi.ktop.com.tw/loadfile.php?TOPICID=12339099&CC=275961

3.該如何操作這個範例??
(1)下載及解壓縮檔案 GetAdaptersInfo1.zip,並執行檔案 GetAdaptersInfo1.exe
(2)按「Start」Button 即可看到執行的結果

4.此範例可以在哪一個作業系統執行??
(1)理論上在 Windows 9X/ME/NT/2000/XP/2003 都可以執行,不過目前只有在
Windows 2000 實際測試過,有興趣的會員,也請幫忙測試看看

(2)不過有關讀取 DNS 相關設定的功能,根據 M$DN 中的說明,只能用在
Windows 2000 以後的作業系統


5.有沒有相關的參考文件??
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getadaptersinfo.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/getperadapterinfo.asp
系統時間:2024-11-25 4:43:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!