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

2021-06-18 03:35:31 字數 1509 閱讀 4455

最近因為專案有需要獲取本機的所有存在的網路連線名稱,在網上也找了資料,有好幾種方法,不過就只有一種是能夠達到我想要的要求

寫下來給大家參考下

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

void __fastcall mygetlanadaptername(char *szlanadaptername)

", 0,

key_read,

&hkey) != error_success)

return;

dword dwindex = 0;

dword dwbufsize = 256;

dword dwdatatype;

char szsubkey[256];

unsigned char szdata[256];

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

}regclosekey(hndiintkey);

}regclosekey(hsubkey);

} dwbufsize = 256;

} /* end of while */

regclosekey(hkey);

}

szlanadaptername即為網路連線的名稱 如

第二種方法是通過api:

void __fastcall getlanadaptername()

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

padapterinfo = padapterinfo->next;

}while(padapterinfo);

} delete padapterinfobkp;

}

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

第三種方法也是使用api:

void __fastcall getlanadaptername()

strinfo.empty();

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

heapfree(getprocessheap(),heap_zero_memory,plftable);

}

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

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

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

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

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

近期由於專案有須要獲取本機的全部存在的網路連線名稱,在網上也找了資料,有好幾種方法,只是就僅僅有一種是可以達到我想要的要求 寫下來給大家參考下 第一種方法 遍歷登錄檔來獲取 1 void fastcall mygetlanadaptername char szlanadaptername 2 60,...

VC獲得本機網路連線狀態

本機網路連線型別 成功 define net type ras dial up connect net 0x01 上網型別 採用ras撥號連線上網 0x01 define net type lan connect net 0x02 上網型別 採用網 過區域網上網 0x02 define net ty...

VC獲得本機網路連線狀態

msdn中定義了7種引數型別,但實際中wininet.h標頭檔案中只對四種型別的值進行了定義 7種型別 internet connection lan 區域網 internet connection modem 撥號上網 internet connection proxy internet conn...