Einzelnen Beitrag anzeigen

Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: innovaphone direkt ansteuern

  Alt 29. Okt 2010, 15:00
Moin,

ich habe etwas gefunden:

Delphi-Quellcode:
procedure TFormMain.TimerStartTimer(Sender: TObject);
var
   lNr : string;
   lH,
   lHform : THandle;
   lZ : Integer;
   lWert : Byte;
begin
   TimerStart.Enabled := False;
   lH := 0;
   lHform := 0;
   repeat
      lHform := FindWindowEx(0,lHform,nil,'innovaphone SoftwarePhone');
      lH := 0;
      if lHform > 0 then
      begin
         lH := FindWindowEx(lHform, 0, nil, 'Telefon');
      end;
   until (lHform = 0) or (lH > 0);
   if lH > 0 then
   begin
      lH := FindWindowEx(lH, 0, nil, 'Telefon');
   end;
   if lH > 0 then
   begin
      lH := FindWindowEx(lH, 0, 'AfxWnd70s', nil);
   end;
   if ParamCount = 0 then
   begin
      lNr := ClipBoard.AsText;
   end
   else
   begin
      for lZ := 1 to ParamCount do
      begin
         lNr := lNr + ParamStr(lZ);
      end;
   end;
   lNr := StringReplace(lNr,'+49','0',[]);
   lZ := 1;
   while lZ <= Length(lNr) do
   begin
      if lNr[lZ] in ['0'..'9'] then
      begin
         Inc(lZ);
      end
      else
      begin
         Delete(lNr,lZ,1);
      end;
   end;
   if Copy(lNr,1,9) = '<eigene externe Nummer>then
   begin
      Delete(lNr,1,9);
   end;
   if Length(lNr) > 4 then
   begin
      lNr := '0' + lNr;
   end;
   if lH > 0 then
   begin
      if isIconic(lHform) then
      begin
         SetForegroundWindow(lHform);
         ShowWindow(lHform,SW_RESTORE);
      end;
      for lZ := 1 to Length(lNr) do
      begin
         lWert := Ord(lNr[lZ]) - Ord('0');
         PostMessage(lH
                    ,WM_KEYDOWN
                    ,lWert + 96
                    ,0);
      end;
   end
   else
   begin
      ShowMessage('Handle für innovaphone nicht gefunden!');
   end;
   Close;
end;
Das Ding startet über einen Timer eben durch und beendet sich wieder.
Damit interne Gespräche nicht über Außerhalb laufen, habe ich die Stelle <eigene externe Nummer> eingefügt.

Für eine Doku hatte ich leider keine Zeit, ist nur eine interne Geschichte.


Stefan
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat