Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Window Handle (https://www.delphipraxis.net/71908-window-handle.html)

delphiUser88 22. Jun 2006 13:13


Window Handle
 
Hallo ich möchte gerne ein Javafenster auslesen stoße aber leider dabei auf große Probleme

zur Zeit versuche ich es so

Code:

// Fenster suchen.
  iWindow := FindWindow(nil, PChar('entsprechende Fensterbezeichnung');

// damit schreibe ich in das Editfeld des Fensters und sende es anschließend
EnumChildWindows(iWindow, @EnumWindowsProc, LongWord(Edit1));
SendMessage(iWindow,WM_KEYDOWN,VK_RETURN, 0);
SendMessage(iWindow,WM_KEYUP,VK_RETURN, 0)
Aber wie lese ich dieses Fenster nun aus und schreibe den Inhalt in ein Memo ?

MFG: DelphiUser88

Luckie 22. Jun 2006 13:44

Re: Window Handle
 
Java kennt keine Fenster, wie man sie unter Windows üblicherweise kennen würde. Java zeichnet alles komplett selber. Vergleichbar mit einm TLabel aus der VCL. Dem zu folge haben sie auch keine Handles und der Zugriff mit Hilfe der Windows API-Funktionen ist nicht möglich.

delphiUser88 22. Jun 2006 13:55

Re: Window Handle
 
Hallo Michael

Das Senden funktioniert aber der Text wird in das Editfeld des Applet Fenster (Chat) geschrieben und anschließend gesendet Wenn dieser nun im Fenster zusehen ist möchte ich ihn wieder auslesen und in ein Memo schreiben geht das ?

toms 22. Jun 2006 14:18

Re: Window Handle
 
Welche URL betrifft es denn?

delphiUser88 22. Jun 2006 15:06

Re: Window Handle
 
URL tut nichts zur Sache hier noach einmal der gesamte Code

Delphi-Quellcode:

// globale Variablen
searchNr              : Integer;
gewuenschteNr         : Integer;
iWindow               : THandle;

function EnumWindowsProc(Handle: THandle; Edit: TEdit): Boolean; stdcall;
begin

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

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

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

procedure TForm1.SendBtnClick(Sender: TObject);
begin


  // Fenster suchen.
  iWindow := FindWindow(nil, PChar('entsprechende Fensterbezeichnung');

  searchNr := 0;
  gewuenschteNr := 5;


// damit schreibe ich in das Editfeld des Fensters und sende es anschließend
EnumChildWindows(iWindow, @EnumWindowsProc, LongWord(Edit1));
SendMessage(iWindow,WM_KEYDOWN,VK_RETURN, 0);
SendMessage(iWindow,WM_KEYUP,VK_RETURN, 0);


end;
Wie schon erwähnt das senden funktioniert nur wie Auslesen ?

toms 22. Jun 2006 15:11

Re: Window Handle
 
setzen: WM_SETTEXT
Text auslesen... WM_GETTEXT

delphiUser88 22. Jun 2006 16:06

Re: Window Handle
 
Danke Toms für die schnelle Antwort bekomme ich aber leider nicht hin :(

Luckie 22. Jun 2006 19:20

Re: Window Handle
 
Zitat:

Zitat von delphiUser88
Danke Toms für die schnelle Antwort bekomme ich aber leider nicht hin :(

Das hilft uns leider auch nicht weiter. Sollen wir jetzt raten womit du Probleme hast?

delphiUser88 22. Jun 2006 19:44

Re: Window Handle
 
Wie gesagt möchte ja das Fenster auslesen und in ein Memo übertragen also hab ich die Funktion verändert

Delphi-Quellcode:
/----------------------
function GETTXT(Handle: THandle; Memo: TMemo): Boolean; stdcall;
begin

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

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

procedure TForm1.GetTextBtnClick(Sender: TObject);
begin


  // Fenster suchen.
  iWindow := FindWindow(nil, PChar('entsprechende Fensterbezeichnung');

  searchNr := 0;
  gewuenschteNr := 5;


// jetzt möchte ich aber Auslesen und in Memo1 schreiben
EnumChildWindows(iWindow, @EnumWindowsProc, LongWord(Memo1.Text));
SendMessage(iWindow,WM_KEYDOWN,VK_RETURN, 0);
SendMessage(iWindow,WM_KEYUP,VK_RETURN, 0);


end;
Bin ich den jetzt überhaupt auf dem richtigen Wege :-D

delphiUser88 23. Jun 2006 11:31

Re: Window Handle
 
keiner eine Idee ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz