Forum: Win32/Win64 API (native code)
by RaSoWa1,
7. Aug 2016
Hallo,
ich viel probiert und getestet und verwende jetzt folgenden Code:
function ExecAndWait2(Filename, Params: String; WindowState: Word = SW_SHOWNORMAL): Integer;
const
cError = -1;
cWait = 0;
cNoWait = -2;
var
ShExecInfoW : SHELLEXECUTEINFOW;
ExitInfo : PExitThreadDebugInfo;
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
Dies funktioniert nur bei einer normalen EXE. Da liefert mir ShellExecute auch das entsprechende .hProcess für WaitForSingleObject.
Bei einer WindowsApp (z.B.: Foto-App) funktioniert dies leider nicht. Auch in der Registry finde ich nichts, wie ich die App erkennen und starten kann.
FindExecutable findet leider auch nur EXE-Dateien, keine Apps.
Da hast du natürlich Recht.
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
Eine neue Delphi-Version kostet noch viel viel mehr. Soviel will ich nicht für mein Hobby ausgeben. Für neue Projekt werde ich wahrscheinlich Visual Studio verwenden. Ich schnuppere gerade mal. Aber wir schweifen ab.
Gruß
Klaus
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
Nee, geht leider auch nicht. Wenn ich nur den Dateinamen übergebe liefert "CreateProcess" false und es passiert leider auch nichts. Die Anwendung wird nicht einmal gestartet.
Dank.
Gruß Klaus
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
Ich bin nur ein Hobby-Programmierer und verdiene damit kein Geld, deshalb scheiden kostenpflichtige Komponeneten aus.
Danke trotzdem für den Rat.
Gruß Klaus
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
"ShellExecuteAndWait" kenne und nutze ich schon. Dies funktioniert leider nur mit "normalen" Anwendungen (z.B. eine .txt öffnet mit NotePad.exe und wartet auf Beendigung. Aber eine jpg-Datei wird mit der Foto-App zwar geöffnet aber das warten funktioniert nicht. Es wird leider kein .hProcess zurück gegeben.
Forum: Win32/Win64 API (native code)
by RaSoWa1,
4. Aug 2016
Hallo,
ich möchte unter Windows 10 aus einem Delphi 2010-Programm heraus Dateien mit der zugewiesenen Standard-App öffnen und warten bis diese Standard-App (z.B. die Foto-App) wieder geschlossen wird.
Eine Datei mit einer bekannten Anwendung öffnen und warten mache ich mit "CreateProcess" und "WaitForInputIdle". Das funktioniert.
Um die Datei mit der zugewiesenen Standard-App zu öffnen...