Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Firefox Druckfenster - OK bestätigen (https://www.delphipraxis.net/146153-firefox-druckfenster-ok-bestaetigen.html)

patty00 14. Jan 2010 15:54


Firefox Druckfenster - OK bestätigen
 
Hallo, ich möchte per delphi ein html dokument ausdrucken, welches aber online-inhalte besitzt.
wenn ich das über IE ausdrucken lasse fehlen diese.

deswegen habe ich in die html ein javascript eingebaut, die den druckdialog bei firefox öffnet.
diesen möchte ich nun von delphi aus bestätigen(sprich ok drücken)

Das fenster heist "Drucken", ist aber weder im Taskmanager noch in der Taskleiste sichtbar...
ich habe mal versucht mit diesem Code weiter zu kommen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: THandle;
  btn: THandle;

begin
  wnd := FindWindow(nil, 'Drucken'); // sucht das Fenster
  if wnd <> 0  then       showmessage('Fenster gefunden'); //Fenster gefunden?
  btn := FindWindowEx(wnd, 0, 'TButton', 'OK'); // sucht den Button
  If btn <> 0 then SendMessage(btn, BM_CLICK, 0, 0); // führt den Klick auf dem Button aus
end;
funktioniert aber nicht, da er das fenster nicht findet...war ja auch nicht anders zu erwarten..

ich habe über google was über child-windows gefunden...da wurde ich dann aber mit tonnen an quellcode fast erschlagen

kann mir jemand helfen?

Der.Kaktus 14. Jan 2010 16:26

Re: Firefox Druckfenster - OK bestätigen
 
Hallo,

such mal in der DP nach "Winspy" unseres Moderators "Toms"..vielleicht hilft es weiter ;-)

patty00 14. Jan 2010 17:09

Re: Firefox Druckfenster - OK bestätigen
 
ich bin jetzt mit winspy auf den druckdialog gegangen und habe dann auf code erstellen geklickt.
der müsste ja dann ein showmessage ausgeben, wenn er den handle vom "Drucken" Fenster gefunden hat, das handle vom firefox fenster kann ich ausgeben, aber nicht das des druckdialogs....
help pls..^^

Der.Kaktus 14. Jan 2010 17:12

Re: Firefox Druckfenster - OK bestätigen
 
Zitat:

Zitat von patty00
ich bin jetzt mit winspy auf den druckdialog gegangen und habe dann auf code erstellen geklickt.
der müsste ja dann ein showmessage ausgeben, wenn er den handle vom "Drucken" Fenster gefunden hat, das handle vom firefox fenster kann ich ausgeben, aber nicht das des druckdialogs....
help pls..^^

habe gerade nachgelesen..Firefox hat "Java" integriert (Programmiersprache)..da sieht es schlecht aus..habe ich auch schon versucht an Java-Programme Keys zu senden..vergebens. :(

BUG 14. Jan 2010 17:14

Re: Firefox Druckfenster - OK bestätigen
 
Quick&Dirty:
[Ok] ist doch Default, evtl. reicht es aus, einfach einmal [Enter] an das Fenster zu senden.

// Edit:
AFAIK malt Firefox wie Java seine Benutzeroberfläche selbst.
Es sind also keine Windowssteuerelemente.

MfG,
Bug

Der.Kaktus 14. Jan 2010 17:15

Re: Firefox Druckfenster - OK bestätigen
 
Zitat:

Zitat von BUG
Quick&Dirty:
[Ok] ist doch Default, evtl. reicht es aus, einfach einmal [Enter] an das Fenster zu senden.

MfG,
Bug

..bekommst bei Java kein Fensterhandle raus(mir nicht bekannt zumindestens) ;-)

patty00 14. Jan 2010 17:20

Re: Firefox Druckfenster - OK bestätigen
 
hmm ich hab jetzt mit winspy einfachmal direkt den code erstellen lassen, der mir den button-handle findet...damit hatts funktioniert^^

das dielog handle findet er nicht, aber den des buttons...fragt mich nicht wie.. XD

Der.Kaktus 14. Jan 2010 17:24

Re: Firefox Druckfenster - OK bestätigen
 
Zitat:

Zitat von patty00
hmm ich hab jetzt mit winspy einfachmal direkt den code erstellen lassen, der mir den button-handle findet...damit hatts funktioniert^^

das dielog handle findet er nicht, aber den des buttons...fragt mich nicht wie.. XD

:thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz