Gut, ich hab mir jetzt also einen Thread dazu erstellt, in dem die Programme gestartet werden können. Hier die neuen Probleme
- Im Thread kann ich mit ShellExecuteAndWait() keine übergebene Datei (vom Typ string) aufrufen, da ShellExecuteAndWait() eine Var vom Typ PWideChar verlangt. Eine Typenumwandlung mit PWideChar() bringt nichts.
- Mit Sleep() hängt mein Programm genauso wie bei ShellExecuteAndWait() :-/
- Mir fällt keine Lösung ein, wie ich überprüfen könnte, dass der Thread noch existiert, wenn ShellExecuteAndWait() nicht geht. Ansonsten könnte man sowas machen ...
Delphi-Quellcode:
//Thread
ThreadGestartet:=True;
ShellExecuteAndWait();
ThreadGestartet:=False;
//Hauptprogramm
Thread.Create()
//Irgendwie warten (while-Schleife?)
if not uThread.ThreadGestartet then
MachWeiterMitDemLustigenProgramm;