AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Shellexecute + Parameter starten

Ein Thema von SyntaxXx · begonnen am 30. Apr 2010 · letzter Beitrag vom 30. Apr 2010
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Shellexecute + Parameter starten

  Alt 30. Apr 2010, 08:31
Also und zwar habe ich jetzt ein Fenster wo ein button drauf ist.
Wenn ich auf diesen button klicke, öffne ich per Shellexecute die "CMD" (Konsole).

Jetzt öchte ich direkt auch noch einen Text dazus chreiben,w elcher sofort augeführt werden soll.
Jetzt dachte ich antürlich, mann könnte das per Parameter machen.

Also habe ich geschaut und bin nun auf folgendes Ergebnis gekommen:

Delphi-Quellcode:
procedure TForm2.Button7Click(Sender: TObject);
begin
ShellExecute(handle, nil, PWideChar('C:\Windows\system32\cmd.exe'), PWideChar('netstat -a'), nil, SW_Show);
end;
Wie ihr sehen könnt wollte ich, das sofort "netstat -a" ausgeführt wird.

Doch leider wenn ich das so starte, öffnet sich nur die Konsole.


Jetzt wollte ich fragen was dara falsch ist.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Shellexecute + Parameter starten

  Alt 30. Apr 2010, 08:49
Woher soll die CMD.exe denn wissen wie sie diese Parameter interpretieren soll?
Sie denkt natürlich erstmal die Parameter sind an sie geichtet und nicht daß sie es ausführen soll.

Tipp: "cmd /?" anschauen und nachsehn wie du CMD deinen Wunsch richtig mitteilst

"cmd" öffnen und darin "cmd /?" ausführen
$2B or not $2B
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Shellexecute + Parameter starten

  Alt 30. Apr 2010, 13:36
Vielen Dank, habs hin bekommen.

Hier noch für die anderen, die vielleicht das selbe Problem haben:

ShellExecute(handle, nil, PWideChar('C:\Windows\system32\cmd.exe'), PWideChar('cmd /K netstat -a'), nil, SW_Show);
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Shellexecute + Parameter starten

  Alt 30. Apr 2010, 14:01
Das "cmd" ist in den Parametern aber überflüssig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Shellexecute + Parameter starten

  Alt 30. Apr 2010, 16:50
Warum so umständlich und nicht gleich
ShellExecute(handle, nil, PWideChar('C:\Windows\system32\netstat.exe'), PWideChar('-a'), nil, SW_Show); Wobei man nie vergessen sollte: fest codierte Pfade sind pöhse
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Shellexecute + Parameter starten

  Alt 30. Apr 2010, 16:52
Vermutlich, weil bei den meisten Konsolenbefehlen sich die Konsole bei direktem Aufruf nach Abarbeitung wieder schließt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
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