AGB  ·  Datenschutz  ·  Impressum  







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

Window Handle

Ein Thema von delphiUser88 · begonnen am 22. Jun 2006 · letzter Beitrag vom 26. Jun 2006
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#21

Re: Window Handle

  Alt 23. Jun 2006, 13:01
Dazu ist doch WM_GETTEXT da.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#22

Re: Window Handle

  Alt 23. Jun 2006, 13:04
Funktioniert nicht er schreibt mir die Bezeichnung des Programmes selber (Caption) ins Memo aber nicht den Inhalt des Chatfensters Ich brauch ja dazu das richtige Handle in dem Falle gewuenschteNr := 3; //Memo (Chattext)

Beim Text senden habe ich es ja ins Handle gewuenschteNr := 5; //Editfeld vom Chatfenster geschrieben mit EnumChildWindows(iWindow, @EnumWindowsProc, LongWord(Edit1));

Jetzt aber muss der Text aus der Funktion GETTXT in dem Handle gewuenschteNr := 3; //Memo (Chattext) empfangen werden und ins Memo1 rein geht das vielleicht in der Variante die du wählst umzusetzen ?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#23

Re: Window Handle

  Alt 23. Jun 2006, 13:04
ok, jetzt beim erneuten Lesen hab ichs begriffen. WM_GETTEXT liefert immer den Text. GetWindowText liefert nur den Text wenn es im eigenen Prozess ist das Handle, ansonsten wird die Caption zurück geliefert.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#24

Re: Window Handle

  Alt 23. Jun 2006, 13:10
vielleicht wäre ja in dem entsprechenden Fenster (gewuenschteNr := 3) alles markieren und kopieren eine Lösung zumindest wäre der Text dann ersteinmal im Zwischenspeicher würde das gehen ? ich weis ist keine saubere Lösung
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#25

Re: Window Handle

  Alt 23. Jun 2006, 13:40
Wenn euch noch interessieren sollte wie ich das entsprechne handle rausbekomme dann schaut euch diese Funktion an

Delphi-Quellcode:

function HandlePrint(Handle: THandle; dat: LongWord): Boolean;
stdcall;
begin

  // zeigt die Handles direkt im Chatfensters an
  SendMessage(Handle, WM_SETTEXT, 0, Integer(PChar('Gewuenschte Handle ist: ' + IntToStr(searchNr))));

  Inc(searchNr);

  // weiter um alles Handles rauszufinden
  Result := true;
end;

//----------------------------------

procedure TForm1.ButtonClick(Sender: TObject);
begin

  iWindow := FindWindow(nil, PChar('Raum plauderecke')); //Name des Chatfensters
  searchNr := 0;

  // zeigt die handles des Chatfensters an
  if iWindow <> 0 then EnumChildWindows(iWindow, @HandlePrint, 0);


end;
testen könnt ihr das auf www.spinchat.de im Raum plauderecke ihr könnt aber auch ein andren javachat dazu benutzen muss dann nur diese zeile iWindow := FindWindow(nil, PChar('Raum plauderecke')); angepasst werden
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#26

Re: Window Handle

  Alt 23. Jun 2006, 14:53
WM_GETTEXT wird von dem Chat-Memo Fenster (SunAwtCanvas Klasse) nicht unterstuetzt.
Thomas
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#27

Re: Window Handle

  Alt 23. Jun 2006, 15:48
Also ich habe jetzt das entsprechende Chatfenster (Nicht spinchat) mit WinSpy analysiert folgende Fenster gibt es


Klasse: RichEdit20W
Klasse: Edit
Klasse: ListBox

das RichEdit denk ich wird wohl das Chatfenster sein Edit das Eingabefeld und ListBox die Userliste also muss ich mit WM_GETTEXT
über meine Funktion GETTXT wohl das Richedit auslesen vielleicht könnt ihr damit was anfangen und mir doch noch helfen
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#28

Re: Window Handle

  Alt 24. Jun 2006, 10:43
Hat denn keiner weitere Lösungsvorsachläge ?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: Window Handle

  Alt 24. Jun 2006, 12:16
Moin Delphiuser,

Du könntest das so machen:
In der EnumChildWindows-Routine prüfst Du zu jedem Handle mit MSDN-Library durchsuchenGetClassName/Hier im Forum suchenGetClassName welche Klasse es hat. Handelt es sich um RichEdit20W, dann liest Du es mit WM_GETTEXT aus.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
delphiUser88

Registriert seit: 22. Jun 2006
29 Beiträge
 
Delphi 5 Standard
 
#30

Re: Window Handle

  Alt 24. Jun 2006, 23:46
Hallo Christian danke für die schnelle Hilfe. Leider weis ich nicht genau wie ich das mit GetClassName umsetzen soll. Eigentlich befinde ich mich ja in der Funktion GETTXT schon im richtigen Fenster

Delphi-Quellcode:
// globale Variablen
searchNr : Integer;
gewuenschteNr : Integer;
iWindow : THandle;

function GETTXT(Handle: THandle; RichEdit: TRichEdit): Boolean; stdcall;
begin

  if Assigned(RichEdit) and (searchNr = gewuenschteNr) then
  begin
    SendMessage(Handle, WM_GETTEXT, 0, integer(PChar(RichEdit.Text)));
    Result := false;
  end
  else
  begin

    Result := true;
    Inc(searchNr);
  end;
end;

ich muss denk ich mal nur mit

EnumChildWindows(iWindow, @GETTXT,//hier weis ich nicht weiter den Inhalt in ein Memo oder Richedit schreiben MFG: DelphiUser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 17:56 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