Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde (https://www.delphipraxis.net/170555-pruefen-ob-netsh-befehl-mittels-shellexecute-wirklich-ausgefuehrt-wurde.html)

Helmi 22. Sep 2012 20:20

Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde
 
Hallo,

mittels ShellExecute führe ich netsh aus
Delphi-Quellcode:
      //"netsh" direkt über ShellExecuteA laden
      ShellExecuteA(Application.Handle, nil, const_netsh, PAnsiChar(S_Parameter), nil, SW_HIDE);
In
Delphi-Quellcode:
S_Parameter
steht z. B. drin:
Delphi-Quellcode:
interface ip set address "LAN-Verbindung" DHCP
Es wird auch ausgeführt - nur wie könnt ich prüfen ob es auch wirklich ausgeführt wurde? - z. B. um eine
Meldung anzeigen zu lassen?

jensw_2000 23. Sep 2012 01:50

AW: Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde
 
Lies die Interface Konfiguration doch einfach noch einmal mit
Code:
interface ip show config "LAN-Verbindung"
aus.
Beispiel-Funktionen zum umleiten von Command-Line Ausgaben gibt es in der Code-Lib.

... Oder Du versuchst den ErrorLevel (ReturnCode) auszuwerten.
http://www.delphipraxis.net/126563-s...ute-error.html

Dalai 23. Sep 2012 03:58

AW: Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde
 
Zitat:

Zitat von jensw_2000 (Beitrag 1184014)
... Oder Du versuchst den ErrorLevel (ReturnCode) auszuwerten.

Dem schließe ich mich an, denn netsh gibt Errorlevel 1 zurück, wenn irgendwas nicht passt.

Oder geht es darum, herauszufinden, ob die Änderung auf der NIC erfolgreich war? Dann musst du wohl oder übel vorher und nach dem Setzen die Einstellung(en) lesen und die beiden "Datensätze" vergleichen. Allerdings würde ich dafür kein Fremdprogramm wie netsh verwenden sondern API-Funktionen (keine Ahnung, welche man dafür braucht, aber da findet man sicher etwas).

MfG Dalai

hathor 23. Sep 2012 05:49

AW: Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde
 
netsh ist KEIN Fremdprogramm: es gehört zu WINDOWS!

netsh.exe ist die Command shell, die u.a. netshell.dll aufruft.

Dalai 23. Sep 2012 08:58

AW: Prüfen ob netsh-Befehl mittels ShellExecute wirklich ausgeführt wurde
 
Zitat:

Zitat von hathor (Beitrag 1184018)
netsh ist KEIN Fremdprogramm: es gehört zu WINDOWS!

Vielleicht habe ich mich unglücklich ausgedrückt, ich meinte externes Programm (völlig egal, ob fremd oder bei Windows dabei). Ich dachte, das wäre klargeworden, wenn ich von API-Funktionen schreibe, die man stattdessen verwenden könnte oder sollte.

MfG Dalai


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz