Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#7
  Alt 5. Apr 2003, 17:10
@Chris,
vielen Dank für Dein Beispiel, währenddessen habe ich den Holzhammer ausgepackt und erhöhe mal während der ShellExecuteEx-Phase die Proirität meines Programms:

Delphi-Quellcode:
         SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
         TRY
            IF ShellExecuteEx(@ShExecInfo) THEN
               BEGIN
                  aHandle := ShExecInfo.HProcess;
                  WaitForSingleObject(ShExecInfo.hProcess, 0);
                  Application.ProcessMessages;
                  IF CloseIt = FALSE THEN
                     BEGIN
                        CloseHandle(aHandle);
                        Exit;
                     END;
               END
            ELSE
               ShowMessage('Fehler beim Öffnen');
            Application.ProcessMessages;
         FINALLY
            SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS);
         END;
Es scheint zu funktionieren, allerdings werde ich Dein obiges Beispiel aufnehmen und mal versuchen anzupassen, da Deine Lösung (und Chewies Idee mit den Threads) natürlich viel eleganter ist!
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat