![]() |
mit Delphi Faxen über Fritz-Box
Hallo,
ich will mit Delphi Faxe über die Fritzbox verschicken. Der FritzFax-Drucker ist installiert, und ich kann die Telefonnummer in die Registry eintragen und über TPrinter rausschicken. Nun habe ich folgendes Problem: Die Fritz-Fax-Software öffnet bei jedem Druckauftrag einen Bestätigungsdialog, womit eine Automatisierung nicht möglich ist. Man muss immer ok drücken. Kann mir jemand sagen, wie ich diesen Dialog abschalten kann? Habe in den Registry-Parametern keinen für mich plausiblen Parameter gefunden. |
AW: mit Delphi Faxen über Fritz-Box
Kannst Du nicht auf das Handle des Dialogs zugreifen und bestätigen?
Hatte da mal irgendwas für ein anderes Programm mit "enum & FindWindow" gemacht. EDIT: Schau mal hier ![]()
Delphi-Quellcode:
{
Example how to search for a window that contains the word "notepad" and maximize it. Beispiel, wie man ein Fenster "notepad" findet und es anschliessend maximiert. } procedure TForm1.Button1Click(Sender: TObject); var h: hwnd; begin h := FindWindowByTitle('notepad'); if h <> 0 then // if we found notepad ShowWindow(h, SW_MAXIMIZE) else ShowMessage('not found.'); end; |
AW: mit Delphi Faxen über Fritz-Box
hi,
das wäre die Notlösung. Abschalten wäre besser. |
AW: mit Delphi Faxen über Fritz-Box
Hi,
ich habe sowas vor ewigen Zeiten mal gemacht. Mit ok bestätigen muss ich da nichts, es öffnet sich lediglich das FritzFax-Übersichtsfenster. Hier der Auszug aus dem Code: Block1:
Delphi-Quellcode:
Block2:regist:=TRegistry.Create; regist.rootkey:=HKEY_CURRENT_USER; regist.openkey('SOFTWARE\AVM\Fritz! 2.0\Fritz!',true); //bei true wird Schlüssel erzeugt, wenn er noch nicht existiert regist.writestring('SendMergePath',''); // Stand mal auf : C:\Dokumente und Einstellungen\"UserName"\Lokale Einstellungen\Anwendungsdaten\FRITZ!\Tmp00000 regist.CloseKey; regist.free;
Delphi-Quellcode:
Block3:
function StartFritzFax:boolean;
var WindowHandle : THandle; WindowName : String; i : integer; begin WindowName:='FRITZ!fax'; WindowHandle := FindAWindow(WindowName, ''); result:=false; if WindowHandle<>0 then result:=true else begin OpenProgram(Application.handle,'FriFax32',''); i:=0; repeat WindowHandle := FindAWindow(WindowName, ''); inc(i); if WindowHandle=0 then Sleep(1000) else begin result:=true; SendMessage(WindowHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0) end; until (WindowHandle<>0) or (i>5); end; end;
Delphi-Quellcode:
Ich habe das aus meinem Code rausgezogen und hoffentlich alle relevanten Teile erwischt. Die Blöcke werden in der Reihenfolge ausgeführt, Block3 ggf. mehrfach. Ich hoffe, das hilft Dir weiter.DocName:='Name des Dokuments'; regist:=TRegistry.Create; regist.rootkey:=HKEY_CURRENT_USER; regist.openkey('\Software\VB and VBA Program Settings\FRITZ!fax\Print',true); //bei true wird Schlüssel erzeugt, wenn er noch nicht existiert regist.writestring(DocName,FaxNr); regist.openkey('\Software\VB and VBA Program Settings\FRITZ!fax\SendTime',true); // Zeitversetzt senden if (rgSend.ItemIndex=1) or ((SendDateTime<>0) and (FaxSpinEdit1.Value>0)) then begin SendDateTimeX:=DateTimeToStr(SendDateTime); regist.writestring(DocName,SendDateTimeX); if FaxSpinEdit1.Value>0 then SendDateTime:=IncMinute(SendDateTime,FaxSpinEdit1.Value); end; regist.free; printer.Title:=DocName; Printer.BeginDoc; DoPrint; //eigentlicher Druck Printer.EndDoc; sleep(1000); |
AW: mit Delphi Faxen über Fritz-Box
Hallo Katja,
und wie hast Du es hinbekommen, dass der Dialog mit dem OK-Button nicht mehr erscheint ? |
AW: mit Delphi Faxen über Fritz-Box
hier hab ich was gefunden:
![]() Wenn in der Registry für den Dokumentnamen eine Faxnummer hinterlegt ist, fragt Fritz!Fax nicht mehr nach der Rufnummer, sondern nutzt die hinterlegte. Danach wird der Registryeintrag automatisch gelöscht. Also brauchst Du einen batch, der als erstes das Dokumentname/Faxnummer-Paar in die Registry einträgt und dann das Dokument druckt. Lösung: In Registry unter HKEY_CURRENT_USER\Software\VB and VBA Program Settings\FRITZ!fax\Print eine Zeichnfolge eintragen. Der Name der Zeichenfolge ist der Name des Druckjobs, der Wert ist die Rufnummer und hier: ![]() *--- Beginn Doku ---* Um das Faxmodul von FRITZ!32 direkt aus Office-Applikationen (z.B. Berichtsfunktionen von MS Access Datenbanken) anzusprechen, können Sie in der Registry zwei Einträge vom Typ Zeichenkette verwenden. Damit wird der Dokumenttitel und die Rufnummer an den FRITZ!fax Drucker übergeben. Ergänzen Sie zunächst den Zweig H_KEY_CURRENT_USER\SOFTWARE um den Schlüssel VB and VBA Program Settings. Damit wird der Zugriff durch Office-Programme sichergestellt. Danach muss der Schlüssel noch eindeutig auf FRITZ!fax und den Druckprozeß bezogen werden. Der Schlüssel für ein einmaliges Fax lautet: HKCU\Software\VB and VBA Program Settings\FRITZ!fax\Print und der Schlüssel für den Serienfaxversand lautet: HKCU\Software\VB and VBA Program Settings\FRITZ!fax\Serienbrief In dem jeweils gewünschten Schlüssel einen Wert vom Typ Zeichenkette setzen. Der Name des Wertes entspricht dem Dokumentnamen (Dateinamen), sein Inhalt der Rufnummer an die das Fax geschickt werden soll. Mit dem Setzen des Wertes wird der Aufruf des Rufnummerneingabefensters unterdrückt (FRITZ!fax läuft im Hintergrund!). Nach dem Faxversand wird der komplette Eintrag automatisch in der Registry gelöscht. Dadurch ist insbesondere beim Serienfaxen eine Synchronisation mit der Textverarbeitung möglich, um das Überschneiden zweier Serienbriefseiten zu verhindern. AVM bietet - unabhängig von den tatsächlich vorhandenen Möglichkeiten - außer den beiden Registry-Schlüsseln, keine weitergehenden Informationen für die Integration von FRITZ!fax in selbsterstellten Applikationen an. Bitte haben Sie Verständnis dafür, dass wir unsere Hilfestellungen zur Zeit nicht auf Details der Programmierung ausdehnen können. *--- Ende Doku ---* |
AW: mit Delphi Faxen über Fritz-Box
Zitat:
|
AW: mit Delphi Faxen über Fritz-Box
Danke, Katja, mir hat die Erklärung gefehlt.
hier ist auch noch ne Quelle: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz