Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi cmd mit Befehl (https://www.delphipraxis.net/61106-cmd-mit-befehl.html)

fLaSh11 17. Jan 2006 06:29


cmd mit Befehl
 
kann mir jemand kurz helfen? wie kann ich den cmd (normal: ShellExecute) öffnen, das dort schon etwas eingegeben ist und sich dann auch gleich startet?

Matze 17. Jan 2006 06:37

Re: cmd mit Befehl
 
Moin, das geht so:

Delphi-Quellcode:
ShellExecute(0, 'open', 'cmd.exe', PAnsiChar('Hier Dateiname mit dazugehörigen Parametern etc.'), nil, SW_SHOW);
Nachtrag: Herzlich willkommen!

perle 17. Jan 2006 07:06

Re: cmd mit Befehl
 
Zitat:

Zitat von Matze
Moin, das geht so:

Delphi-Quellcode:
ShellExecute(0, 'open', 'cmd.exe', PAnsiChar('Hier Dateiname mit dazugehörigen Parametern etc.'), nil, SW_SHOW);

genau, und wenn du SW_HIDE statt SW_SHOW nimmst, dann siehst du auch nicht das kleine Fenster was kurz aufpoppt.

r2c2 17. Jan 2006 07:14

Re: cmd mit Befehl
 
Zu beachten is noch, dass cmd der Parameter /K bzw. /C übergeben werden muss, damit der Befehl auch ausgeführt wird...

mfg

Christian

fLaSh11 11. Feb 2006 15:05

Re: cmd mit Befehl
 
hmmmm es funktioniert einfach nicht:

Delphi-Quellcode:
var pcname,text:String;

pcname:=Edit1.Text;
text:=RichEdit1.Text;
ShellExecute(0, 'open', 'cmd.exe /C',PChar('net send '+pcname+' '+text), nil, SW_SHOW); //(bzw. SW_HIDE)
mit nil statt 'open' funktionierts auch nicht...

kann mir jemand helfen???

Waldteufel 11. Feb 2006 15:13

Re: cmd mit Befehl
 
Hi.

So gehts:
Delphi-Quellcode:
var
  pcname, text : String;
begin
  pcname := Edit1.Text;
  text := RichEdit1.Text;
  ShellExecute(Application.Handle, 'open', 'cmd.exe', PChar('/C net send ' + pcname + ' ' + text), nil, SW_SHOW);
end;

ManuMF 11. Feb 2006 15:24

Re: cmd mit Befehl
 
Hallo,

wenn du die Ausgabe der CMD noch auswerten willst, könnte dich RunCaptured interessieren.

Gruß,
ManuMF

Rotojoto 13. Feb 2006 18:42

Re: cmd mit Befehl
 
Hi
Ich hab auch mal eine Frage dazu:
Ich finde die Idee mit dem 'Shellexecute' ja gut, aber ich hab das Problem, dass ich bei diesem Code wie er von waldteufel da steht die Fehlermeldung erhalte 'zuviele Parameter'.
Ich weiß einfach nicht, wie man 'Shellexecute' am anfang deklariert. Kann mir da wer helfen?

Garfield 13. Feb 2006 22:11

Re: cmd mit Befehl
 
Zitat:

Zitat von Rotojoto
.. bei diesem Code wie er von waldteufel da steht die Fehlermeldung erhalte 'zuviele Parameter'.

Sechs Parameter sind richtig. http://msdn.microsoft.com/library/de...ellexecute.asp

PS: Schönen Gruß von Aken nach Dessau.

Rotojoto 16. Feb 2006 18:21

Re: cmd mit Befehl
 
Mhh, das war eigentlich gar nicht meine Frage, aber trotzdem Danke.

Mir geht es darum, dass ich das 'ShellExecute' ja bevor ich mit dem eigentlichen Code anfange deklarieren muss.

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', 'cmd.exe', PChar('mein Code'), nil, SW_SHOW);
So heißt ja die Zeile im Code. Wenn ich 'ShellExecute' nicht als Funktion deklariere, ist die Fehlermeldung
unbekannte Funktion. D.h. ich muss es am Anfang als Funktion deklarieren. Mein Code ist:
Delphi-Quellcode:
function Shellexecute(const Handle:HWND; item:string; system:PansiChar; windows:string; SW_SHOW:string):string;
Bitte nicht lachen, der ist einfach nur falsch. Aber ich weiß weder, was 'open' bzw. 'cmd.exe' noch 'nil', oder SW_SHOW vom Typ her sind. Ich würde also, falls das irgendwer weiß, gerne wissen, was für Typen (string, und so weiter) das sind.
Wenn ich als Funktion nur 'ShellExecute' schreibe, kommt die Fehlermeldung 'zuviele Parameter'.

Schönen Gruß von Dessau nach Aken zurück


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr.
Seite 1 von 2  1 2      

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