Com o BgInfo você pode chamar o WMI. Então, se você olhar para Win32_NetworkAdapter e pegar NetConnectionStatus, você receberá um número. Esse número representa seu estado atual. Veja a lista abaixo.
Você pode obter mais ideias e fontes de script em aqui e aqui .
Então,sevocêpesquisaroWMIpelasuaplacaderede,poderáobteralgoassim.(ObservequeestouusandooPowerShell,poisnãotenhoBgInfo.
Get-WmiObjectwin32_networkadapter-Filter{ProductName='Intel(R)82579LMGigabitNetworkConnection'}|selectNetConnectionStatusNetConnectionStatus-------------------2
Assim,pelomenosnoPowerShell,vocêpodeteralgoassim.
$ConnectionStatus=Get-WmiObjectwin32_networkadapter-Filter{ProductName='Intel(R)82579LMGigabitNetworkConnection'}|select-expandNetConnectionStatusswitch($ConnectionStatus){0{"Disconnected"}
1 {"Connecting"}
2 {"Connected"}
3 {"Disconnecting"}
4 {"Hardware not present"}
5 {"Hardware disabled"}
6 {"Hardware malfunction"}
7 {"Media disconnected"}
8 {"Authenticating"}
9 {"Authentication succeeded"}
10 {"Authentication failed"}
11 {"Invalid address"}
12 {"Credentials required"}
default {"Connection unknown"}
}
Meu VB é uma maneira enferrujada de ser capaz de derrubar isso rapidamente.