ipconfig als Rückgabewert



  • Hallo Leute,
    habe das folgende Problem:
    Ich muss in LabView eine C-Funktion einbinden die mir die Ausgabe zurückliefert, wenn man in DOS das Kommando ipconfig eingibt.

    Wie bekomme ich in einer C-Funktion dise ausgabe in eine Variable hinein?



  • pGL schrieb:

    Hallo Leute,
    habe das folgende Problem:
    Ich muss in LabView eine C-Funktion einbinden die mir die Ausgabe zurückliefert, wenn man in DOS das Kommando ipconfig eingibt.

    Wie bekomme ich in einer C-Funktion dise ausgabe in eine Variable hinein?

    Was benötigst du denn genau?
    Die Ausgabe von Kommandos irgendwo reinpipen, ist fast immer unnötig und auch schlecht.
    Was benötigst du denn für Informationen?



  • ich brauche die MAC Adresse in LabView, dafür gibt es aber kein Kommando.
    Deshalb könnte ich über eine C-Funktion die Ausgabe aus "ipconfig /all" in LabView laden und die entsprechende Zeile extrachieren.

    Die Adapterdaten in C dierekt zu lesen ist, glaube ich, um Welten komplizierter.



  • pGL schrieb:

    ich brauche die MAC Adresse in LabView, dafür gibt es aber kein Kommando.
    Deshalb könnte ich über eine C-Funktion die Ausgabe aus "ipconfig /all" in LabView laden und die entsprechende Zeile extrachieren.

    Die Adapterdaten in C dierekt zu lesen ist, glaube ich, um Welten komplizierter.

    Nunja gut könntest du schon... ist aber ziemlich schlechter Stil und auch nicht wirklich sicher. Stell dir mal vor die zerlegst die Ausgabe nach gewissen Zeichen oder Wörtern. Du testest das ganze in Deutsch und da funktionierts.
    Jetzt hat jemand als Sprache Englisch eingestellt und schon fliegt deine Stringzerlegung dir um die Ohren.

    In reinen ANSI C ist das nicht zu lösen, aber du kannst ja wieder die OS-APIs bemühen, die können das 🙂

    Windows:
    - http://support.microsoft.com/kb/118623/en-us

    - http://www.codeguru.com/Cpp/I-N/network/networkinformation/article.php/c5451
    -> Method Three: Use GetAdaptersInfo

    Und unter Linux funktioniert das ganze ohne SDKs, sondern mit den ioctl()
    - http://www.creatis.insa-lyon.fr/~malaterre/gdcm/getether/mac_addr_sys.c



  • Warum soll das unter LabVIEW nicht gehen?

    Das VI im Anhang ist standardmäßig in jeder LabVIEW Version dabei.

    Ups, hier kann man gar nichts uploaden. Na gut, auf jeden Fall ist es sehr sehr einfach in LabVIEW.

    Gruß, labviewer



  • Ok, dann habe ich in unserem Forum ein Thema erstellt:

    http://www.labviewforum.de/index.php?showtopic=6994

    labviewer



  • Danke,

    aber das wusste ich schon, es war nicht weiter schwer.
    Mein Problem lag aber bei LabView 5, wo dieses CMD Icon nur ein BOOL zurückgibt und kein String.

    Ich habe es mittlererweile über Dateiumleitung gelöst, danach lese ich die Datei aus und lösche sie anschliessend.



  • Ok, LV 5 ist schon Vergangenheit, sogar Steinzeit. Es gibt mitlererweile 6.1 zum kostenlosen Download.
    Aber gut, wenn es schon gelöst ist, ist es auch Ok.

    labviewer



  • Ich weiss, dass LV5 total veraltet ist, allerdings unterstützt LW6 und höher den ServerExplorer 1.0 nicht mehr, und dieser ist unerlässlich für mein Automatisierungssystem.

    Ich hab's auch mit LV6.1 ausprobiert bekomme aber ständig einen Fehler: Queue overflowed (ich arbeite mit LW + DSC) und muss den Rechner nach jedem Test (ca. 20 Min.) neu booten.


Anmelden zum Antworten