![]() |
ShellExecute wird erst nach Programmende ausgeführt
Hallo,
ich habe ein Problem im Zusammenhang mit ShellExecute. Mit folgender zeile möchte ich in einer Konsolenanwedung eine andere exe öffnen.
Delphi-Quellcode:
Dies klappt allerdings seit neustem nicht mehr. Warum das so ist kann ich nicht sagen, ich habe absolut keine Ahnung.
ShellExecute(0, PChar('open'), PChar(SetupPath), PChar(''), PChar(''), SW_SHOW);
Das Problem ist, dass die Exe erst gestartet wird nachdem das Konsolenprogramm geschlossen wurde... Der Code der nach dem Aufruf steht klappt aber wunderbar. Es wird nur kurz der Zeiger für Hintergrundaktivität angezeigt und dann macht das Programm ganz normal weiter... Bzw auch nicht weil ich darauf warte, dass der Prozess gestartet wurde, was aber ja nicht der Fall ist. Schließe ich nun das Programm, so wird sofort meine Exe gestartet... :( Ich habe keinerlei Ahnung was da schief läuft... Als Rückgabewert von ShellExecute bekomme ich 42. Vielleicht kann mir ja jemand helfen :) gruß Crosspost DF: ![]() |
Re: ShellExecute wird erst nach Programmende ausgeführt
Wird nur eine bestimmte Exe nicht angezeigt oder ist es bei allen so? Und funktioniert es, wenn du diese Zeile in ein leeres Projekt einfügst?
|
Re: ShellExecute wird erst nach Programmende ausgeführt
Hmm... Nein mit dieser Datei klappt es einfach nicht. Kann das vielleicht am Handle liegen? Ich übergebe ja praktisch keins...
Mit einer anderendatei klappts. Im leeren projekt nicht. |
Re: ShellExecute wird erst nach Programmende ausgeführt
Okay... :?
In einem VCl-Projekt klappts... :( naja muss ich wohl VCL nehmen... |
Re: ShellExecute wird erst nach Programmende ausgeführt
![]() Ok, jetzt zu meiner hilfe:
Code:
So mach's ich immer, sollte futzen. Shellapi in uses nicht vergessen :wink:
ShellExecute(0, nil, PChar('C:\programm.exe'), nil, nil, SW_SHOWNORMAL);
Mist zu spät :wall: |
Re: ShellExecute wird erst nach Programmende ausgeführt
Zitat:
|
Re: ShellExecute wird erst nach Programmende ausgeführt
Code:
Das futzt immer, nich nur bei VCL (bei mir zumindest :mrgreen: )
ShellExecute(0, nil, PChar('C:\programm.exe'), nil, nil, SW_SHOWNORMAL);
|
Re: ShellExecute wird erst nach Programmende ausgeführt
Zitat:
Zitat:
Naja bekommt mein Chef halt ein VCL Programm statt einer Konsole. ;) ehrlich gesagt habe ich nämlich nicht wirklich Lust da jetzt auf große Fehlersuche zu gehen, da das Programm was ich starte mir schon genug Sorgen bereitet ;) Trotzdem danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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