![]() |
Wie lasse ich ein anderes Programm laufen?
Hallo,
dies ist das erste Mal für mich... Ich programmiere mit Delphi 6.0 Proffesional seit zwei Wochen und schreibe schon "sehr beeindruckende" (Zitat: Mathematik-/Informatiklehrer). Jetzt zu meiner Frage: Wie kann ich mit Delphi auf ButtonClick (siehe unten) ein anderes Programm starten lassen? (In QuickBasic war gab es die Befehle "RUN" und "SHELL")
Delphi-Quellcode:
gez. TIM
procedure TForm1.Button1Click(Sender: TObject);
begin //ein Befehl, der einen anderen Programm startet end; |
Re: Wie lasse ich ein anderes Programm laufen?
Delphi-Quellcode:
Gruß,
uses ShellAPI;
ShellExecute(Application.Handle, nil, 'Programm', 'Parameter', 'Pfad', SW_SHOWNORMAL); ManuMF |
Re: Wie lasse ich ein anderes Programm laufen?
Nehmen wir an ich möchte "C:\Programme\project1.exe" starten; was muss ich an...
Zitat:
|
Re: Wie lasse ich ein anderes Programm laufen?
Hi QB-Tim. :hi:
Delphi-Quellcode:
Statt dem 2. Parameter nil könnte hier auch 'print' stehen, falls du eine Datei drucken willst, oder 'explore', wenn du einen Ordner im Explorer öffnen willst.
ShellExecute(Application.Handle, nil, 'C:\Programme\project1.exe', nil, 'C:\Programme', SW_SHOWNORMAL);
Statt SW_SHOWNORMAL wäre hier auch z.B. SW_HIDE möglich, damit die Anwendung im Hintergrund unsichtbar läuft. Wie du siehst, gibt es hier viel mehr Möglichkeiten als in QB. |
Re: Wie lasse ich ein anderes Programm laufen?
Hallo,
kleine Korrektur ;-) : wenn die Pfadangabe drin ist, muss sie nicht nochmals angegeben werden.
Delphi-Quellcode:
oder eben
ShellExecute(Application.Handle, nil, 'project1.exe', nil, 'C:\Programme', SW_SHOWNORMAL);
Delphi-Quellcode:
Gruß,
ShellExecute(Application.Handle, nil, 'C:\Programme\project1.exe', nil, nil, SW_SHOWNORMAL);
ManuMF |
Re: Wie lasse ich ein anderes Programm laufen?
@ManuMF: Bist du dir sicher? :gruebel:
Nehmen wir mal an, es existiert sowohl im aktuellen Verzeichnis als auch unter C:\Programme eine Datei namens project1.exe. Wird dann bei
Delphi-Quellcode:
die unter C:\Programme gestartet, oder die im aktuellen Arbeitsverzeichnis, aber mit dem Arbeitsverzeichnis C:\Programme?
ShellExecute(Application.Handle, nil, 'project1.exe', nil, 'C:\Programme', SW_SHOWNORMAL);
|
Re: Wie lasse ich ein anderes Programm laufen?
Eigentlich schon ;-)
Dann wird die EXE in C:\Programme gestartet, soweit ich weiß. Für das gestartete Programm ist das dann auch das Arbeitsverzeichnis. Gruß, ManuMF [edit]Ich hab es ausprobiert. Wenn die gewünschte Datei in einem anderen Verz. liegt als dem aktuellen, is es egal, ob man den Pfad als Pfad mitgibt oder Pfad leer lässt und als Namen mitgibt.[/edit] |
Re: Wie lasse ich ein anderes Programm laufen?
Kann ich eigentlich damit auch einen Wert für ParamStr(1) übergeben?
edit ähm ich meinte 1 ^^ /edit |
Re: Wie lasse ich ein anderes Programm laufen?
Zitat:
Code:
ShellExecute(Application.Handle, nil, 'Programm', [b]'Parameter'[/b], 'Pfad', SW_SHOWNORMAL);
|
Re: Wie lasse ich ein anderes Programm laufen?
Okay ;) Danke ^^
(hatte mir das schon irgendwie sowetwas gedacht :D ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 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 by Thomas Breitkreuz