![]() |
externe Applikation
Hallo,
Versuche jetzt seit einiger Zeit ein Programm zu schreiben, mit dem ich über einen Button eine bestimmte externe Applikation ausführen kann und anschließend, wenn sie gestartet ist abzufragen, ob sie läuft. Kann da jemand helfen? Komme damit nicht wirklich weiter. Danke Grüße force |
Re: externe Applikation
ShellExecute()
|
Re: externe Applikation
![]() ![]() ![]() Shellexecute wird immernoch sehr häufig verwendet, obwohl es eigentlich veraltet ist. Wenn du prüfen willst, ob der Prozess läuft, brauchst du dessen Handle, und das kriegst du nur auf die beiden anderen Arten, bei denen musst du dich allerdings mal mit den Parametern auseinandersetzen. Anlaufstelle für Fragen bezüglich dieser Windows-Funktionen ist die MSDN: ![]() ![]() |
Re: externe Applikation
Ich stimme zu das ShellExecute für die Aufgabe ungeeignet ist weil man keine Prozesshandle zurück bekommt. Aber wo steht das es veraltet ist? Im MSDN hab ich da auf die Schnelle nichts gefunden und die sollten es ja wissen.
|
Re: externe Applikation
Oh, da ist mir wohl was raugerutscht. Veraltet ist es wirklich nicht. Aber es ist nicht unbedingt für Programmstart gedacht sondern eher für das Öffnen irgendeiner Datei und Anderes (diese Interpretation ist nicht auf meinem Mist gewachsen).
|
Re: externe Applikation
Zitat:
|
Re: externe Applikation
![]() |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "VCL / WinForms / Controls" nach "Windows API / MS.NET Framework API" verschoben.
Hier gehts aber nicht im Komponenten... |
Re: externe Applikation
Hallo,
Danke für die vielen Antworten. Habe ein bisschen rumexperimentiert, bin jedoch nicht soviel weiter gekommen. Ich kann nun zwar was kompelieren, aber es tut nicht das, was es soll. Hier zwei Codebeispiele, die nicht funktionieren :roll: Sind jetzt zwar in Borland C++ Builder geschrieben, aber ist ziemlich das gleiche, habe vorher auch Borland Delphi benutzt.
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{ WinExec("C:\\lernen.exe", SW_NORMAL); }
Code:
Die \\ hinter dem C: und " statt ' sind in C++ normal.
void __fastcall TForm1::Button1Click(TObject *Sender)
{ ShellExecute(Handle,NULL,"C:\\lernen.exe",NULL, NULL, SW_MAXIMIZE); } Bei dem WinExec kann ich zwar sauber kompelieren, aber wenn ich dann den Button drücke, passiert nichts. Bei ShellExecute kann ich auch kompelieren und wenn ich dann den Button drücke, kann ich nur im Eventlog sehen, wie zich ZEilen durchlaufen, aber es passiert absolut garnichts. ShellApi ist eingebunden. Hoffe das noch jemand helfen kann. Danke Grüße force [edit=Phoenix]Delphi- in C-Tags geändert. Mfg, Phoenix[/edit] |
Re: externe Applikation
Es heisst kompilieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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