Hallo
Vielleicht kann mir jemand die grundsätzlich mögliche Vorgangsweise erläutern .. auch ob sowas überhaupt geht.
Mit meinem Programm kann ich einen ganzen Verzeichniszweig ausdrucken. Jeder Verzeichniswechsel erzeugt einen Ausdruck auf andersfärbiges Papier aus einem zweiten Schacht.
Beim Programmstart wird das Start-Verzeichnis in ein Array eingelesen und dann abgearbeitet. Soweit so gut, funktioniert auch gut mit xls, doc, pdf, jpg, gif usw..
Hier im Prinzip:
verzeichnis rekursiv in array schreiben
do while 1 to verzeichnisarray_letzter_Eintrag
falls neues Verzeichnis -> zwischenblattdruck
+1 zeile im Array
falls Verzeichnis -> loop, andernfalls
ausdruck mit shellexecutewait("sumatrapdf.exe" ...)
+1 zeile im Array (für nächste datei oder verzeichnis)
enddo verzeichnisarray
* EOF
Alles anzeigen
Wie muß ich vorgehen um Meldungen (= Meldungsfenster wie "Im Batchmodus können keine PDF/a gedruckt werden" o.ä.) vom shellexecutierten Programm (aka SumatraPDF) abzufragen, die auftauchen KÖNNEN aber nicht mÜSSEN, (zwecks Log-Datei-Eintrag) und zu bestätigen, damit der Ausdruck - der meist über Nacht erfolgt - nicht an dieser Stelle stehen bleibt und das Meldefenster auf eine Benutzeraktion wartet?
Ein ähnliches Problem tritt auf wenn Excel ausgedruckt wird, aber noch kein Druckbereich definiert wurde.
Ich muß shellexecutewait verwenden, da sonst die Reihenfolge der Dokumente innerhalb eines Verzeichnisses nicht stimmt.
Meinem Verständnis nach müßte ein Task im Hintergrund auf solche Meldungsfenster lauern, dann ein OK absetzen und einen Eintrag in der Log-Datei vornehmen. Aber wie unterscheide ich solche Meldefenster programmtechnisch von einem Programmfenster das ich in der Zwischenzeit gestartet habe (und das nicht unter dem Kontext meines Druckprogrammes läuft)? Wie sieht das Programmtechnisch aus?
Danke für jede Hilfe
LG