Delphi FindowWindow,FindowWindowEx

时间:2021-02-08 12:06:48
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
btnFindWindow: TButton;
btnFindWindowEx: TButton;
procedure btnFindWindowClick(Sender: TObject);
procedure btnFindWindowExClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btnFindWindowClick(Sender: TObject);
var
hNotepad : HWND;
begin
//Find Window
hNotepad := FindWindow('Notepad',nil);
ShowMessage(format('Notepad HWND:$%x',[hNotepad]));
end; procedure TForm1.btnFindWindowExClick(Sender: TObject);
var
p : pchar;
hNotepad,hEdit : HWND;
begin
GetMem(p,255);
hNotepad := FindWindow('Notepad',nil); // ClassName, WindowName
hEdit := FindWindowEx(hNotepad,0,'Edit',nil);
//ShowMessageFmt('Edit handle: $%x',[hEdit]);
//GetWindowText(hEdit, p, 255); //此函数不能取得 Edit中的文本,但可以取得窗口标题
SendMessage(hEdit,WM_GETTEXT,255,Integer(p));
ShowMessage(p);
FreeMem(p);
end; end.