![]() |
DOS cmd befehle
Hallo!
Gibt es eine Möglichkeit Dos Befehle, die man auch in der cmd.exe verwenden kann in Delphi zu benutzen? Mfg Xenonz |
Re: DOS cmd befehle
Such mal nach "%ComSpec% /C"
|
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Internet / LAN / ASP.NET" nach "Sonstige Fragen zu Delphi" verschoben.
Das ist eindeutig keine Frage zu Netzwerk usw. Bitte etwas genauer auf die Spartenbeschreibung achten. |
Re: DOS cmd befehle
wenn du die gleichen befehle in delphi wie in der cmd.exe ausfüren willst versuchs mal mit
Delphi-Quellcode:
das 1 am ende legt fest ob der befehl auch angezeigt wird. bei 0 wird er versteckt ausgeführt, was aber z.B. bei taskmgr nicht sehr nützlich ist.
windows.WinExec(pchar('der befehl'),1);
droppi |
Re: DOS cmd befehle
Nimm aber bitte statt WinExec Shellexecute. WinExec ist nur noch wegen der Kompatibilität zu 16-Bit Programmen vorhaqnden und von Microsoft für obsolet erklärt worden. Unter Vista wird es diese API Funktion nicht mehr geben, da keine 16-Bit Programme mehr unterstützt werden laut Microsoft.
|
Re: DOS cmd befehle
Zitat:
|
Re: DOS cmd befehle
Dankeschön!
Also windows.WinExec(pchar('der befehl'),1); funktioniert wunderbar! Jetzt zu shellexecute: Ich habe ShellApi eingebunden aber dieser Fehler kommt: Incompatible Types 'HWND' and 'PChar' Was muss ich da noch machen? Also meine Zeile sieht so aus: shellexecute(pchar('der befehl'),1); |
Re: DOS cmd befehle
|
Re: DOS cmd befehle
Eigentlich wollte ich nur wissen wie man einen normalen Dos Befehl ausführt wie
windows.WinExec(pchar('der befehl'),1); nur mit shellexecute. Kannst du mir sagen wie man das macht? Sonst muss ich das alles durchsuchen von Microsoft... |
Re: DOS cmd befehle
Schade. Kann mir jemand anhand des Beispiels net send sagen wie man ShellExecute verwendet?
|
Re: DOS cmd befehle
Das zweite Ergebnis von
![]() ![]() Zitat:
|
Re: DOS cmd befehle
Danke!!!
Wie könnte man das jetzt auf net send beziehen? |
Re: DOS cmd befehle
So:
Delphi-Quellcode:
Voraussetzung ist, dass der Nachrichtendienst auch gestartet ist. Und wenn du das Ergebnis abwarten musst (bei net send eher nicht), dann suche nach ShellExecuteAndWait hier in der DP.
procedure TDemoForm.SendButtonClick(Sender: TObject);
var netexe, params: string; begin netexe := GetEnvironmentVariable('windir') + '\system32\net.exe'; params := '* "who is general failure?"'; ShellExecute(Handle, 'open', PAnsiChar(netexe), PAnsiChar(params), nil, SW_HIDE); end; marabu |
Re: DOS cmd befehle
Aha...
Also noch ein paar Fragen: 1. was bedeutet handle an dieser Stelle und was könnte man dort noch schreiben? 2. was bedeutet pansichar? Dass er als Parameter eine Variabke vom Typ char verwenden soll? 3. wie 1. nur nil 4. Kann man anstatt SW_HIDE auch einfach False oder 0 eingeben? |
Re: DOS cmd befehle
Zitat:
Zitat:
Zitat:
Zuguterletzt hat CMD.EXE soviel mit DOS zu tun wie belgisches "Bier" mit Bier. |
Re: DOS cmd befehle
Zitat:
Was ist ein Fensterhandle? Danke für die Antwort! |
Re: DOS cmd befehle
Zitat:
![]() Zitat:
Du solltest die definitiv Andreas Koschs Buch besorgen oder Luckies Win32-Tutorials durchstöbern! |
Re: DOS cmd befehle
OK Tut mir Leid :cry:
Aber nur noch 1: Was macht das nil? |
Re: DOS cmd befehle
Zitat:
Zitat:
|
Re: DOS cmd befehle
Zitat:
Wie kann man das Ergebnis sehen oder wie kann man das Ergebnis in Delphi auslesen? <> |
Re: DOS cmd befehle
|
Re: DOS cmd befehle
Zitat:
Das ist für interne Befehle Und wie, wenn die Befehle extern sind z.B. msconfig Das Fenster wird also als extern angezeigt und nicht in dos Fenster |
Re: DOS cmd befehle
Geht nicht.
|
Re: DOS cmd befehle
Zitat:
Ich möchte nur den Befehl msconfig von delphi an dos senden. Ich meine nicht, das msconfig in Delphi integrieren oder den Inhalt fangen :mrgreen: <> |
Re: DOS cmd befehle
Zitat:
![]() |
Re: DOS cmd befehle
man sollte Taktaky mal darauf hinweisen, dass msconfig eine exe-Datei ist (msconfig.exe) ;)
|
Re: DOS cmd befehle
Zitat:
Wenn ich den Befehl an dos sende, dann soll dos den Pfad von der Anwendung selbe suchen und nicht ich :mrgreen: |
Re: DOS cmd befehle
Es gibt kein Delphi für DOS. Versuch es mal mit Turbo Pascal. :twisted:
|
Re: DOS cmd befehle
Zitat:
|
Re: DOS cmd befehle
ist zwar schon uralt, aber das lässt sich mit "cmd /C ..." oder "cmd /k ..." lösen. Schau doch einfach mal unter "cmd /?" wenn du nochmal hier vorbeikommst.
rollstuhlfahrer |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 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