Einzelnen Beitrag anzeigen

SISven

Registriert seit: 15. Okt 2003
10 Beiträge
 
#1

CreateProcess > WaitFor..."komplett geladen" &g

  Alt 24. Mai 2004, 09:45
Tschuldigung für den "tollen" Titel - mir fiehl nix Besseres ein.

Mein Ziel:
Ich möchte ca. 15.000 Dateien sequentiell mit der zugehörigen 'exe' öffnen. Ist die Anwendung
komplett gestartet soll sie auch gleich schon wieder geschlossen werden. Ist ein Fehler beim
Öffnen dieser Datei aufgetreten, soll dieser mitgeloggt werden.
Das Ganze soll eine Art "FileChecker" für Datensicherungen auf CD sein. Es soll also auf korrupte
Dateien überprüft werden.

Wat soll ma sonst machen, wenn man kein anderes BackUp mehr hat. Dumm
gelaufen!!!

WENN IHR EINEN ANDEREN LÖSUNGSWEG KENNT ALS ALLE DATEIEN ABKLAPPERN - DANN HER DAMIT!!!

Meine Probleme:

1. Wie kriege ich mit ob die gestartete Anwendung fertig geladen ist und "keine" CPU-Auslastung
mehr hervorruft?

2. Wie komme ich an event. Fehlermeldungen von z.B. Word, Excel, Acrobat,...u.s.w. ran?
z.B.: "Die Datei ist beschädigt...bla,bla,bla."

Mein bisheriger Ansatz:

CreateProcess(...AppName und FileName...);

Delphi-Quellcode:
        repeat

          iReturn := MsgWaitForMultipleObjects(1,
                                               ProcessInfo.hProcess,
                                               FALSE,
                                               1000,
                                               QS_ALLEVENTS);

          if iReturn <> (WAIT_OBJECT_0) then
            Application.ProcessMessages;

        until iReturn = (WAIT_OBJECT_0);
Auf Events warten und selbst PostMessage(WM_CLOSE) oder sowas senden, wenn die Anwendung "oben" ist.

Tja - und für das Fehlerabfangen hab ich noch gar keinen blassen Schimmer. Schön wärs natürlich wenn die eigentliche Fehlermeldung der Anwendung erst gar nicht angezeigt wird.


Meine teuflischste Vorstellung ist überhaupt gar nichts sichtbar zu machen. Also die Anwendung auch nicht anzeigen. Wenn sowas ginge - dat wär schon der Hammer!


OS: Win 2000/XP Pro (sollte auf beiden laufen - muss aber net)
Dev: Delphi 7.0 Pro
  Mit Zitat antworten Zitat