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.