Entwickler-Ecke
Windows API - Wann ist der Adobe Reader beendet ?
Doc_Foo - Fr 21.10.05 12:48
Titel: Wann ist der Adobe Reader beendet ?
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
jaenicke - 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:
http://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 - Fr 21.10.05 13:14
Naja, ein bisschen schon:
Luckie 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 - Fr 21.10.05 13:21
Titel: prozess beendet
Danke erstmal !!!
ich werds mal mit pView versuchen.
gruß
jaenicke - Fr 21.10.05 13:33
jasocul hat folgendes geschrieben: |
Naja, ein bisschen schon:
Luckie 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 - 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
jaenicke - 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 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!