Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Moinsen @all,

ich muss für die Arbeit einen Konsolenanwendung schreiben. Hauptbestandteil ist die MAC-Adresse auszulesen und sie in einem String speichern (dient später zur Vergleichzwecke). Ich möchte den 'ipconfig /all'- Output auslesen, diesen in einem String speichern und dann den String vergleichen. Das Problem ist wie lese ich den Output und wie parse (durchsuche) ich den String.

Bin dankbar für jede Antwort!

Mfg,

foxxx

P.S.: ich nutze DEV-C++ und darf kein .NET - Framework nutzen oder MFC

Bearbeitet von foxxx
Geschrieben

Thx,

jo ich weiss, dass das nicht die feine Art ist, aber bei den "Three Ways ..." kommen alle MAC#S raus. Auch die virtuellen. Da wir auf den Kisten auch VM-Ware laufen haben und noch so andere MAC's (wie Wlan und BT) eignet sich das Beispiel nich. Bei den Output kann ich bis zu nem bestimmten Punkt parsen und dann dort mir die Information holen mit nem festen String vergleichen und dann die Funktionen loslassen (automatisch).

Mfg,

foxxx

Geschrieben

Ich wette irgendwie gibts da auch ne Möglichkeit herauszufinden ob die physikalisch oder virtuell ist. (Ich glaub die physikalischen werden auch bei ipconfig zu erst angezeigt und müssten demnach auch in den Funktionen zu erst angezeigt werden)

Wie auch immer, die andere (dreckige) Möglichkeit, die mir noch einfallen würde, wäre die Ausgabe von ipconfig in eine temporäre Datei umzuleiten und dort dann jeweils die benötigten MACs auslesen.

Danach natürlich die Datei wieder löschen.

Geschrieben

hmm ...

geht das umletien nicht in einem string und denn dann iregendwie durchsuchen?

bzw wie leite den output in einer datei und wie tu ich die datei dann mit nem konstanten string vergleichen???:confused:

mfg,

foxxx

Geschrieben
hmm ...

geht das umletien nicht in einem string und denn dann iregendwie durchsuchen?

bzw wie leite den output in einer datei und wie tu ich die datei dann mit nem konstanten string vergleichen???:confused:

mfg,

foxxx

Unter *nixen geht das ganz einfach mit einer Pipe. Unter Windows laut Wikipedia auch.

Geschrieben

sorry war nicht zuhause bis heute. super vielen dank für die schnellen antworten. ich werde mich am we hinsetzen und testen. mal noch eine frage: wie kann ich eine datei(ihren inhalt) parsen und ein fragment aus deren inhalt extrahieren und an einem string übergeben?

mfg,

foxxx

Geschrieben (bearbeitet)
hmm ...

geht das umletien nicht in einem string und denn dann iregendwie durchsuchen?

bzw wie leite den output in einer datei und wie tu ich die datei dann mit nem konstanten string vergleichen???:confused:

mfg,

foxxx

Ok, ich komm nit aus deiner Programmierecke, aber unter VB.NET wär es so:



        Dim oInfo As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo("ipconfig", "/all")

        oInfo.UseShellExecute = False

        oInfo.ErrorDialog = False

        oInfo.CreateNoWindow = True

        oInfo.RedirectStandardOutput = True


        Dim p As Process = System.Diagnostics.Process.Start(oInfo)

        Dim oReader As System.IO.StreamReader = p.StandardOutput

        RichTextBox1.Text = oReader.ReadToEnd()

        oReader.Close()


Dann wäre die gesamte Ausgabe der Shell in der Richtextbox, kein Fenster ploppt auf...

Vielleicht hilfts dir ja :D

Bearbeitet von SoL_Psycho
  • 3 Wochen später...
Geschrieben

thx @all!

ihr habt mir sehr geholfen. ich habe 'ipconfig /all' in einer datei umgeleitet und diese wiederrum in einem string geladen. dann hab ich sechs konstante variable erstellt und diese mit dem string verglichen. stand der inhalt einer konstanten variable in dem string, so werden bestimmte anweisungen erfüllt.

mfg und danke nochmal an alle,

foxxx

  • 2 Monate später...
Geschrieben

du hättest auch die Datei in eine Listbox laden können und dann jede Zeile auf einen bestimmten SubString durchsuchen lassen ( zB. "physikalische Adresse") ....

achja .. die Listbox dann natürlich visible auf false setzen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...