Главная » Delphi » Win API » Получение текста из адресной строки explorera

Получение текста из адресной строки explorera

15:24
function PrintEnumProc(Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
const
MaxTextSize = 1024;
var
PrText: array[0..MaxTextSize] of char;
begin
Result := True; { continue enumerating }
windows.GetClassName(Wnd,PrText,MaxTextSize);
if PrText='Edit' then begin
SendMessage(Wnd, WM_GETTEXT, MaxTextSize, longint(@PrText));
TMemo(Pointer(LParam)^).Lines.Add(PrText);
Result:=false;
end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
W: HWND;
begin
Memo1.Clear;
W := FindWindow('ExploreWClass', nil);
if W = 0 then
raise Exception.Create('Explorer window not found');
EnumChildWindows(W, @PrintEnumProc, LPARAM(@memo1));
end;