AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

mit Delphi Faxen über Fritz-Box

Ein Thema von luisk · begonnen am 7. Nov 2012 · letzter Beitrag vom 8. Nov 2012
Antwort Antwort
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

mit Delphi Faxen über Fritz-Box

  Alt 7. Nov 2012, 16:46
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.
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: mit Delphi Faxen über Fritz-Box

  Alt 7. Nov 2012, 16:55
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 http://www.swissdelphicenter.ch/de/showcode.php?id=327
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;
Philip

Geändert von Darlo ( 7. Nov 2012 um 16:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#3

AW: mit Delphi Faxen über Fritz-Box

  Alt 7. Nov 2012, 16:57
hi,
das wäre die Notlösung. Abschalten wäre besser.
  Mit Zitat antworten Zitat
katjah

Registriert seit: 6. Aug 2006
Ort: Herborn
28 Beiträge
 
#4

AW: mit Delphi Faxen über Fritz-Box

  Alt 7. Nov 2012, 22:04
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:
  
  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;
Block2:
Delphi-Quellcode:
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;
Block3:
Delphi-Quellcode:
  
  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);
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.
Gruß Katja
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#5

AW: mit Delphi Faxen über Fritz-Box

  Alt 8. Nov 2012, 18:56
Hallo Katja,
und wie hast Du es hinbekommen, dass der Dialog mit dem OK-Button nicht mehr erscheint ?
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#6

AW: mit Delphi Faxen über Fritz-Box

  Alt 8. Nov 2012, 19:09
hier hab ich was gefunden:
http://www.ip-phone-forum.de/archive.../t-93961.html?
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:
http://www.spotlight-wissen.de/archi...e/1038523.html
*--- 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 ---*
  Mit Zitat antworten Zitat
katjah

Registriert seit: 6. Aug 2006
Ort: Herborn
28 Beiträge
 
#7

AW: mit Delphi Faxen über Fritz-Box

  Alt 8. Nov 2012, 19:25
Zitat:
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
Das macht mein Code ja, dann wird es wohl das gewesen sein.
Gruß Katja
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#8

AW: mit Delphi Faxen über Fritz-Box

  Alt 8. Nov 2012, 19:29
Danke, Katja, mir hat die Erklärung gefehlt.
hier ist auch noch ne Quelle:
http://www.delphipraxis.net/45440-au...ung-faxen.html
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 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