Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Senden Von Strings an andere Programme (https://www.delphipraxis.net/107365-senden-von-strings-andere-programme.html)

toms 11. Feb 2008 11:04

Re: Senden Von Strings an andere Programme
 
Zitat:

Zitat von Maddin1
Zitat:

Es handelt sich auch um einen "Internet Explorer_Server". D.h du musst den Text ins IHTMLDocument2 schreiben.
Habe das mal gemacht, habe die Funtion GetICQChatText in die Prozedur SetICQChatText umgewandelt,
nur leider wandelt er so das falsche Edit in meinen Text um.

Zuerst muss natürlich das Sende Control ermittelt werden.
Dann kannst du einen Text wie folgt setzen:

Delphi-Quellcode:
{htmlElement: IHTMLELEMENT;}

  htmlElement := Doc.getElementById('focus');
  htmlElement.innerhtml := 'hallo
von Delphi';

Ich habe leider noch nicht herausfinden können, wie man den Text absenden kann.

Soweit mal der Testcode:

Delphi-Quellcode:
procedure TForm1.btnSetICQTextClick(Sender: TObject);
var
  htmlDoc2: IHTMLDocument2;
  HTMLDoc3: IHTMLDocument3;
  wndICQ, wndICQSendChat: HWND;
  htmlElement: IHTMLELEMENT;
begin
  wndICQ := FindWindow('__oxFrame.class__', 'ICQ_Anzeigename_hier_einsetzen');
  if wndICQ <> 0 then
  begin
    wndICQ := FindWindowEx(wndICQ, 0, '__oxFrame.class__', nil);
    wndICQSendChat := FindWindowEx(wndICQ, 0, 'Internet Explorer_Server', nil);
    htmlDoc2 := GetHTMLDocumentFromHWnd(wndICQSendChat);
    if htmlDoc2 <> nil then
    begin
      if htmlDoc2.QueryInterface(IHTMLDocument3, HTMLDoc3) = S_OK then
      begin
        htmlElement := HTMLDoc3.getElementById('focus');
        htmlElement.innerhtml := 'hallo
von Delphi';
      end;
    end;
  end;
end;

Maddin1 11. Feb 2008 14:06

Re: Senden Von Strings an andere Programme
 
hey cool! dankeschön, funktioniert auch gleich auf anhieb.
jetz noch den button zum drücken bekommen und fertsch is, vielen vielen dank!

toms 14. Feb 2008 23:15

Re: Senden Von Strings an andere Programme
 
Zitat:

Zitat von Maddin1
hey cool! dankeschön, funktioniert auch gleich auf anhieb.
jetz noch den button zum drücken bekommen und fertsch is, vielen vielen dank!

Genau, das ist die Schwierigkeit. Der Button besitzt kein Handle

Maddin1 17. Feb 2008 10:02

Re: Senden Von Strings an andere Programme
 
hmm ... Könnte man nicht einfach das Drücken der Entertaste simulieren?

Maddin1 18. Feb 2008 16:08

Re: Senden Von Strings an andere Programme
 
ohh, nach dem großen neuem Update funktioniert das Senden nicht mehr :pale:

toms 26. Feb 2008 18:09

Re: Senden Von Strings an andere Programme
 
Zitat:

Zitat von Maddin1
ohh, nach dem großen neuem Update funktioniert das Senden nicht mehr :pale:

Gibt es nun ICQ 7? Werde den Code bei Gelegenheit anpassen.

Maddin1 3. Mär 2008 08:46

Re: Senden Von Strings an andere Programme
 
nein, es ist noch 6. aber 6.449 oder so.
Da sind einige Neuerungen dazugekommen, wie zum Beispiel: Mit mehreren Leuten in ein Chat. Auf jeden Fall geht der Code zum Senden an ICQ nicht mehr...

toms 24. Mär 2008 16:44

Re: Senden Von Strings an andere Programme
 
Zitat:

Zitat von Maddin1
nein, es ist noch 6. aber 6.449 oder so.
Da sind einige Neuerungen dazugekommen, wie zum Beispiel: Mit mehreren Leuten in ein Chat. Auf jeden Fall geht der Code zum Senden an ICQ nicht mehr...

Im ICQ Fenster befinden sich eben mehrere webbrowser (Internet Explorer_Server)
Zu identifizieren, welcher Browser für welchen User ist wird wahrscheinlich nicht möglich sein...

Code:
Klassen Name: "__oxFrame.class__" | Title: "2 Gespräche - xxx" | Handle: 397316
  331826: __oxFrame.class__
    528526: Internet Explorer_Server
  3084366: __oxFrame.class__
    462912: Internet Explorer_Server
  462890: __oxFrame.class__
    856126: Internet Explorer_Server
  528458: __oxFrame.class__
    528538: Internet Explorer_Server
  331844: __oxFrame.class__
    331846: ATL:40313090
      331842: AtlAxWin71
        331856: Internet Explorer_Server
          331924: MacromediaFlashPlayerActiveX
  397384: __oxFrame.class__
    266262: ATL:40313090
      1445984: AtlAxWin71
        659532: Internet Explorer_Server
          463004: MacromediaFlashPlayerActiveX


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 Uhr.
Seite 7 von 7   « Erste     567   

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