CSharp, einzelnen Netzwerk-Adapter, Namen+Status auslesen und in Lable anzeigen.
Hallo liebe Community,
ich habe ein kleines Problem, ich bin recht neu in C# und muss aber ein Projekt gestallten.
Ich möchte in einem Programm ein bestimmten Netzwerkadapter auslesen und deren Namen und den OperationalStatus angzeigen lassen.
folgendes habe ich bis jetzt versucht:
Ich bin mir auch nicht sicher ob ich überhaut die Auswahl richtig gemacht habe.
Im folgenden Bsp. kann ich mir alle via Console anzeigen lassen.
Ich muss das Ganze aber in eine WindowsForm packen und nur den einzelnen Ethernet bzw. Wifi Adapter anzeigen und darstellen.
Ich habe das ganze auch in Powershell gemacht, aber ich möchte das Ganze, gerne in C# machen.
Bitte um Hilfe,
Danke
ich habe ein kleines Problem, ich bin recht neu in C# und muss aber ein Projekt gestallten.
Ich möchte in einem Programm ein bestimmten Netzwerkadapter auslesen und deren Namen und den OperationalStatus angzeigen lassen.
folgendes habe ich bis jetzt versucht:
public void networkadapder()
{
NetworkInterface verbindungen = NetworkInterface.GetAllNetworkInterfaces();
verbindungen.Where(ethernet => ethernet.OperationalStatus == OperationalStatus.Up)
.Where(bez => bez.Name == "Ethernet");
// hier soll die Anweisung zum übergeben an das Lable hin. Entweder IF oder Switch ......
if (????)
{
lb_eth_aktivitaet.Text = ("Status: ihre Ethernetschnittstelle ist aktiv! ");
lb_eth_aktivitaet.ForeColor = System.Drawing.Color.Green;
}
}
Ich bin mir auch nicht sicher ob ich überhaut die Auswahl richtig gemacht habe.
Im folgenden Bsp. kann ich mir alle via Console anzeigen lassen.
tatic void Main(string args)
{
NetworkInterface verbindungen = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in verbindungen)
//"adapter" kann auch durch einen beliebigen anderen namen ersetzt werden, muss aber im folgenden Code angepasst werden
{
Console.WriteLine("Name: {0}", adapter.Name == "Ethernet");
Console.WriteLine(" Operational status ...................... : {0}", adapter.OperationalStatus);
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
}
//Console.WriteLine();
Console.ReadKey();
}
Ich muss das Ganze aber in eine WindowsForm packen und nur den einzelnen Ethernet bzw. Wifi Adapter anzeigen und darstellen.
Ich habe das ganze auch in Powershell gemacht, aber ich möchte das Ganze, gerne in C# machen.
function inettest {
#LAN(RJ45) Verbindungstest
##########################
$eth = Get-NetAdapter | Where-Object { $_.Name -eq "Ethernet" } | Select-Object Status |Select-Object -Last 1| Select -ExpandProperty "Status"
#echo $eth
switch -Wildcard($eth)
{
"Up*" {Funktion1 ;break}
"Disconnected*" {Funktion2;break}
default {echo "geht nicht"}
}
}
Bitte um Hilfe,
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 360580
Url: https://administrator.de/forum/csharp-einzelnen-netzwerk-adapter-namen-status-auslesen-und-in-lable-anzeigen-360580.html
Ausgedruckt am: 13.05.2025 um 10:05 Uhr
2 Kommentare
Neuester Kommentar
Servus ConfusedByte,
Beispiel zu deinem Wunsch (Variante LINQ):
Aufruf mit Name der Verbindung als Parameter
Infos was du listen willst kannst du natürlich beliebig erweitern. Ein Case auf den OperationalStatus ist ja eigentlich auch kein Hexenwerk.
Leider wird nicht klar was du da sonst noch willst, bzw. mir ist jetzt nicht ganz klar was du nicht verstehst.
Grüße Uwe
Beispiel zu deinem Wunsch (Variante LINQ):
public void ShowNetworkConnectionInfo(string strName) {
try {
NetworkInterface iface = NetworkInterface.GetAllNetworkInterfaces().Where(x => x.Name == strName).Single<NetworkInterface>();
string data = string.Format("Name: {0}\r\nStatus: {1}", iface.Name, iface.OperationalStatus.ToString());
MessageBox.Show(data);
} catch (System.Exception ex) {
MessageBox.Show(ex.Message);
}
}
ShowNetworkConnectionInfo(@"Ethernet");
switch(iface.OperationalStatus){
case OperationalStatus.Up:
MessageBox.Show("Jucheee, Connection is UP!");
break;
case OperationalStatus.Down:
MessageBox.Show("Och nö, Connection is down!");
break;
default:
MessageBox.Show("Status ist: " + iface.OperationalStatus.ToString());
break;
}
Leider wird nicht klar was du da sonst noch willst, bzw. mir ist jetzt nicht ganz klar was du nicht verstehst.
Grüße Uwe