Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi FindWindowEx und Notepad (https://www.delphipraxis.net/82622-findwindowex-und-notepad.html)

Mazel 16. Dez 2006 15:37


FindWindowEx und Notepad
 
Hallo,

ich möchte, wenn der Editor geöffnet ist, einen Text hinein schreiben. Mit FindWindow erhalte ich über den Namen das Handle, nun dachte ich über FindWindowEx das Feld ermitteln zu können, nur leider kenn ich die Komponente nicht die verwendet wird. Hat jemand eine Idee, wie ich das lösen kann?
Delphi-Quellcode:
var
  wnd: THandle;
  obj: THandle;

procedure TForm1.Button1Click(Sender: TObject);
begin
  wnd := FindWindow(nil , PChar('Unbenannt - Editor'));
  if wnd <> 0 then Label1.Caption := inttostr(wnd);
  obj := FindWindowEx(wnd, 0, 'TMemo', nil);
  if obj <> 0 then Label2.Caption := inttostr(obj);
end;
Gruß
Mazel

toms 16. Dez 2006 15:42

Re: FindWindowEx und Notepad
 
Hallo,

Mein Hier im Forum suchenWinSpy liefert folgenden Code:

Delphi-Quellcode:
var
  wnd: HWND;
begin
  wnd := FindWindow('Notepad','Unbenannt - Editor');
  wnd := FindWindowEx(wnd, 0, 'Edit', nil);
  if wnd <> 0 then
  begin
    //...
  end;
end.

Mazel 16. Dez 2006 16:34

Re: FindWindowEx und Notepad
 
Danke, :thumb:

auf Edit bin ich nicht gekommen weil Edit für mich ein einzeiliges Feld ist (TEdit).

Gruß
Mazel

DGL-luke 16. Dez 2006 16:38

Re: FindWindowEx und Notepad
 
Die VCL wrappt mit TMemo und TEdit ein und dieselbe WinAPI-Window class. Du solltest daran denken, dass die wenigsten Windows-Programme mit Delphi geschrieben werden ;)

Mazel 17. Dez 2006 08:46

Re: FindWindowEx und Notepad
 
Es werden zwar nicht viele Programme geschrieben aber wenige sind es auch nicht ;).
Zitat:

Die VCL wrappt mit TMemo und TEdit ein und dieselbe WinAPI-Window class
Wie ist da gemeint?

Gruß
Mazel

jfheins 17. Dez 2006 11:16

Re: FindWindowEx und Notepad
 
Damit ist gemeint, dass Windows eine Edit-Class bereitstellt (wie du ja im Notepad gesehen hast) und wenn diese dann das Flag "Multiline" ha, dann spricht die VCL von einem "Memo" - für Windows isses aber nochdieselbe Klasse, nur mitanderen Flags. (So auch Button & Checkbox & Radiobutton)

Mazel 17. Dez 2006 11:25

Re: FindWindowEx und Notepad
 
Danke für die Info, sowas ist gut zu wissen :)

Gruß
Mazel


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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