重複的:C# - How do I check for a network connectionC#檢查活性調制解調器連接
您好,2008
VS SP1
我使用下面的代碼來測試使用用戶是否連接無線或局域網連接。即電纜插入,或無線關閉。代碼工作正常。然而,如果你能發現任何潛在的問題或者你知道更好的方法,我會有興趣瞭解更多。
但是,客戶希望我們檢查用戶是否使用調制解調器連接。正如您從我的源代碼中所看到的,我正在尋找以「本地連接」或「無線網絡連接」開始的連接。還行吧。
但是,問題是調制解調器名稱可能是任何東西,因爲當用戶使用'新連接嚮導'設置他們的調制解調器連接時,他們可以調用這個任何東西。所以如果我的switch語句我不知道要找什麼。
任何建議將是最有益的,
// Checks if Network is either connected by LAN or Wireless
public bool IsNetworkConnected()
{
NetworkInterface[] networkCards = NetworkInterface.GetAllNetworkInterfaces();
bool connected = false;
// Loop through to find the one we want to check for connectivity.
// Connection can have different numbers appended so check that the
// network connections start with the conditions checked below.
foreach (NetworkInterface nc in networkCards)
{
// Check LAN
if (nc.Name.StartsWith("Local Area Connection"))
{
if (nc.OperationalStatus == OperationalStatus.Up)
{
connected = true;
}
}
// Check for Wireless
if (nc.Name.StartsWith("Wireless Network Connection"))
{
if (nc.OperationalStatus == OperationalStatus.Up)
{
connected = true;
}
}
}
return connected;
}
可能重複[C# - 如何檢查網絡連接](http://stackoverflow.com/questions/520347/c-how-do-i-check-for-a-network-connection) – Espo 2011-03-03 10:40:07