ShellExecuteA()
-
Moin.
Ich benutze wie oben gesagt die Funktion.
Beispiel:ShellExecuteA(NULL,NULL,"notepad.exe","C:\tester.txt",NULL,SW_SHOWNORMAL); hNotePad = FindWindow("NotePad",NULL);
Wie man am Code sieht, starte ich Notepad und danach suche ich das Fenster vom Notepad.
Wenn aber NotePad etwas länger braucht zum starten, findet die Funktion FindWindow(), das Fenster nicht.Wie kann ich das so machen, das mein Programm wartet bis NotePad fertig gestartet ist???
-
Was mir jetzt so spontan einfällt...
ne Schleife die du solange durchläufst bis du einen Handle hast...
oder
evtl. über den Programmhandle den du von ShellExecute zurückbekommst...
-
Hier ein alternativer Ansatz:
(Ausführung mit CreateProcess)
http://www.bytesandmore.de/rad/cpp/snipp/sc03025.php
-
das hat nix mit dem builder zu tun, sondern ist WinAPI...
wenn du ein Handle auf den erzeugten Prozess willst, dann entweder wie beschrieben mit CreateProcess oder ShellExecuteEx.
beispiele dazu findest du zu hauf im WinAPI-Forum...
warum rufst du eigentlich ShellExecuteA auf und nicht ShellExecute???
-
@Sunday
Das hat Borland automatisch reingeschrieben.
Wenn ich ShellExecute schreibe und dann das ( schreibe, setzt der das A hin. KA, warum