AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Memo Text von anderem Fenster in das Memo meines programms
Thema durchsuchen
Ansicht
Themen-Optionen

Memo Text von anderem Fenster in das Memo meines programms

Ein Thema von Pseudemys Nelsoni · begonnen am 13. Nov 2003 · letzter Beitrag vom 11. Jan 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#11

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 9. Jan 2004, 07:37
hat noch nie jemand sowas gemacht? also ausserhalb seines progs irgendwi daten geholt?
weiss zmindest jemand wie das heisst was ich vorhabe? dann werd ich mal googlen, wenn ich in der suche "memo text von einem anderen programm ins eigene memo" eingeben würde würds natürlich keine ergebnisse geben.

Also wie heisst das ?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 9. Jan 2004, 08:06
Finde mit FindWindow / EnumWindows das Parent-Fenster. Finde mit FindWindowEx / EnumChildWindows das RichEdit oder Memo. Sende eine WM_GETTEXTLENGTH Nachricht mit SendMessage an das RichEdit / Memo, Rückgabewert der Funktion SendMessage ist in diesem Fall die anzahl der Zeichen. Reserviere entsprechend Speicher für eine PChar Variable. Hol dir den Inhalt, in dem du WM_GETTEXT an das RichEdit / Memo schickst. Den Inahlt findest du jetzt im lParam welcher ein Zeiger auf deinen zuvor reservierten Speicher vom Typ PChar ist.

Im PseudoCode:
Code:
var
  len: Integer;
  Buffer: PChar;
begin
  len := SendMessage(hRichEdit, WM_GETTEXTLENGTH, 0, 0);
  GetMem(Buffer, len+1);
  try
    SendMessage(hRichEdit, WM_GETTEXT, len+1, Integer(@Buffer));
    Memo1.Text := String(Buffer);
  finally
    FreeMem(Buffer, len+1);
  end;
hRichEdit ist das Handle von dem RichEdit im anderen Programm, Memo1 das memo in deinem Programm.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#13

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 9. Jan 2004, 09:38
hoi,

das ist doch mal was, danke

gleich mal probieren
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#14

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 9. Jan 2004, 14:24
hoi,

also das "teil" das den text im spiel hat ist eine ListBox (laut resourcen hacker).
Ich habe dein beispiel mal angepasst gehabt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  hList, WND: HWND;
  len: integer;
  Buffer: PChar;
begin
  WND := FindWindow(nil, 'Tiberian Sun');
  hList := FindWindowEx(WND, 0, 'LISTBOX', nil);
  len := SendMessage(hList, WM_GETTEXTLENGTH, 0, 0);
  GetMem(Buffer, len+1);
  try
    SendMessage(hList, LB_GETTEXT, len+1, Integer(@Buffer));
    Memo1.Text := String(Buffer);
  finally
    FreeMem(Buffer, len+1);
  end;
end;

ich weiss nicht ob "LB_GETTEXT" richtig war, aber wenn ich den button drücke bekomme ich im memo nichts weiter ausser "&E" angezeigt, woher kommt das?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 9. Jan 2004, 15:46
Weil du in einer Schleife den Text von jedem Item einzeln holen musst:

http://msdn.microsoft.com/library/de...lb_gettext.asp

Du solltest dir mal das Listbox Tutorial aus meinen "Win32API Tutorials für Delphi" ankucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#16

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 10. Jan 2004, 09:08
hoi luckie, wo genau find ich die? ich finde nur die win32api tuts.

btw: ich habe mal folgendes zum test benutzt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  hlist, wnd: HWND;
begin
  wnd := FindWindow('Tiberian Sun', 'Tiberian Sun');
  hlist := FindWindowEx(wnd, 0, 'LISTBOX', nil);
  ShowMessage(IntToStr(wnd));
  ShowMessage(IntToStr(hlist));
end;

das 2te showmessage zeigt mir "0" an, aber das das ne Listbox ist stimmt 100%, wieso bekomm ich die dann?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 10. Jan 2004, 11:21
versuchst mal mit childwindows
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#18

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 10. Jan 2004, 12:21
wie meinst du das, bzw wie, ist das eine funktion? (sehen tu ich keine)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#19

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 10. Jan 2004, 13:20
Zitat von Pseudemys Nelsoni:
das 2te showmessage zeigt mir "0" an, aber das das ne Listbox ist stimmt 100%, wieso bekomm ich die dann?
Das es ne Listbox ist, is ja OK, aber bei FindWindowEx(), wo du 'LISTBOX' stehen hast muss der Klassenname der Listbox stehen, und der muss nicht unbedingt so heissen. Bei Delphi-Progs heisst er z.B. 'TListBox', wie es bei C&C heisst, kann ich dir nicht sagen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Memo Text von anderem Fenster in das Memo meines program

  Alt 10. Jan 2004, 13:59
Zitat von Pseudemys Nelsoni:
hoi luckie, wo genau find ich die? ich finde nur die win32api tuts.
Davon rede ich ja auch die ganze Zeit: http://www.luckie-online.de/tutorials/win32apituts/
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 09:45 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