獲取當前電腦全部網路連線名字

2022-07-29 10:30:18 字數 1779 閱讀 5744

近期由於專案有須要獲取本機的全部存在的網路連線名稱,在網上也找了資料,有好幾種方法,只是就僅僅有一種是可以達到我想要的要求

寫下來給大家參考下

第一種方法:遍歷登錄檔來獲取

1

void __fastcall mygetlanadaptername(char *szlanadaptername)2"

,60,

7key_read,

8 &hkey) !=error_success)

9return;10

11 dword dwindex = 0

;12 dword dwbufsize = 256;13

dword dwdatatype;

14char szsubkey[256

];15 unsigned char szdata[256

];16

17while(regenumkeyex(hkey, dwindex++, szsubkey, &dwbufsize, null, null, null, null) ==error_success)

1838}39

}40}41

regclosekey(hndiintkey);42}

43regclosekey(hsubkey);44}

45 dwbufsize = 256

;46 } /*

end of while

*/47

regclosekey(hkey);

48 }

szlanadaptername即為網路連線的名稱 如

另外一種方法是通過api:

1

void

__fastcall getlanadaptername()211

if( getadaptersinfo(padapterinfo, &uladapterinfosize) ==error_success )

1219 padapterinfo = padapterinfo->next;

20 }while

(padapterinfo);21}

22delete

padapterinfobkp;

23 }

adaptername 也能得到網路連線的名稱 如 介面卡描寫敘述如:realtek rtl8139(a) pci fast ethernet adapter

第三種方法也是使用api:

1

void

__fastcall getlanadaptername()220

strinfo.empty();

21for(uint i=0;inumadapters;i++)

2234

35heapfree(getprocessheap(),heap_zero_memory,plftable);

36 }

szname即為網路連線的名稱,如 "本地連線","本地連線1"...後面通過api函式獲取須要增加以下標頭檔案

1 #include 2 #include 3

#pragma comment( lib, "iphlpapi.lib" )

4#pragma comment( lib, "mprapi.lib" )

當然, 我須要的是獲取網路連線的顯示名字,所以選擇第三種方法

adaptmap.index=padapterinfo->index進行匹配

VC獲取當前電腦所有網路連線名字

最近因為專案有需要獲取本機的所有存在的網路連線名稱,在網上也找了資料,有好幾種方法,不過就只有一種是能夠達到我想要的要求 寫下來給大家參考下 第一種方法 遍歷登錄檔來獲取 void fastcall mygetlanadaptername char szlanadaptername 0,key re...

linux 下獲取當前網路連線狀態的兩種方法

include include include include include include include include define ethtool glink 0x0000000a get link status ethtool value typedef enum inte ce sta...

Qt應用層獲取網路連線狀態

背景 專案需要實時監測網線的插拔狀態,方法有很多,分為兩大塊。輪詢 可以輪詢cat sys class net eth0 carrier的值,連線時為1,斷開時為0。或者輪詢使用shell檢視ifconfig中對應網絡卡的狀態是否running,但是輪詢的方法非常耗費資源,需要開啟乙個全域性定時器。...