Autor Beitrag
Doc_Foo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Fr 21.10.05 12:48 
Hallo und Hilfe !


ich habe ein programm, das eine PDF-Liste druckt
(mit dem Adobe Reader).
ich verwende nicht shellExceute sondern .print von einer PDf
-Komponente.

Wie kann ich herausFinden, dass der Anwender den Reader geschlossen hat ?
( oder Ihn nach Vorschau/Druck selbst schließen ? )


bin fuer jeden Hinweis dankbar !



gruß

Doc Foo

_________________
If weniger then more;
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 21.10.05 12:58 
Ähnliches wurde schonmal hier angesprochen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 21.10.05 13:04 
Eine Möglichkeit wäre, mit FindWindow nach dem Fenster zu suchen, das nach dem Aufruf geöffnet wird. Sobald es nicht mehr gefunden werden kann, wurde es geschlossen.

Eine andere Methode ist, den Adobe Reader (AcroRd32.exe) in der Liste der offenen Prozesse zu suchen.
Das geht mit pview von Assarbad, was du hier in der Liste inklusive Source findest: assarbad.net/en/stuff

Dabei merkt man aber nicht, wenn nur das Dokument INNERHALB des Adobe Readers geschlossen wird, weil noch andere Dokumente offen waren und der User diese weiter offen behält...
Aber du hast ja nur danach gefragt, wie man herausfindet, dass er geschlossen wird... :wink:
Trotzdem hier noch ein Hinweis: Am Titel des Adobe Fensters kann man das herausfinden...

//EDIT: @jasocul: Na ja, da steht aber nicht sonderlich viel Interessantes, vor allem keine Details...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 21.10.05 13:14 
Naja, ein bisschen schon:
user profile iconLuckie hat geschrieben:
Zitat:
Erstell dir eine Prozessliste, wie das geht findest du im Forum oder auf meiner Seite und vergleiche mit der vorherigen...

Ist natürlich keine fertige Lösung, aber das war auch nicht verlangt, oder? :wink:
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Fr 21.10.05 13:21 
Titel: prozess beendet
Danke erstmal !!!

ich werds mal mit pView versuchen.

gruß

_________________
If weniger then more;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 21.10.05 13:33 
user profile iconjasocul hat folgendes geschrieben:
Naja, ein bisschen schon:
user profile iconLuckie hat geschrieben:
Zitat:
Erstell dir eine Prozessliste, wie das geht findest du im Forum oder auf meiner Seite und vergleiche mit der vorherigen...

Ist natürlich keine fertige Lösung, aber das war auch nicht verlangt, oder? :wink:

Das bisschen unterstreiche ich doppelt! :lol:
Danach auf die Idee zu kommen, nach AcroRd32.exe zu suchen, ist nicht unbedingt selbstverständlich, und der Vergleich der Listen wie dort angesprochen an sich bringt in diesem Fall nicht viel...
Aber egal, Hauptsache er kriegts hin... :wink:
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Fr 21.10.05 14:12 
Titel: Prozess beendet
Hallo,

könnt Ihr mir noch einen Tip ( mit einem 'p' ! ) geben,
wie ich die ProzessListe bekomme und nach 'AcroRd32.exe' suche ?


ich muss wohl irgendwie
GetModuleFilenameEx(Prozesshandle, ModulHandle, PrName, SizeOf(PrName));
verwenden...


danke und gruss

Doc_Foo

_________________
If weniger then more;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 24.10.05 09:58 
Hast du eigentlich überhaupt gelesen, was ich geschrieben habe???

Da habe ich einen Link angegeben, wo ein Programm im Sourcecode liegt! Und dort wird genau das gemacht! Da musst du noch nichtmal was selber schreiben, du rufst einfach eine Methode auf, die dir die laufenden Prozesse zurückgibt!!!

Sieh dir einfach mal in dem Quelltext, also in der .dpr-Datei meine ich, die Methode Refreshlist an!
Doc_Foo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 51

Win2000
D5
BeitragVerfasst: Mo 24.10.05 12:41 
Titel: prozess beendet !
Jo,

aber in dem beitrag "prozessListe erstellen" muss man
noch "optimieren".
Aber ich habs mit anderem Bsp. HINGEKRIEGT.

Danke trotzdem !

gruß

Doc Foo

_________________
If weniger then more;