Getwindowtext does not retrieve text
I've tried the following code, but it doesn't fetch the text from the foreground window!
procedure TForm1.Button1Click(Sender: TObject);
var
title : pansichar;
s : string;
begin
GetWindowText(GetForegroundWindow(), title,GetWindowTextLength(GetForegroundWindow()) + 1);
s := title;
showmessage(s);
end;
+2
Omair Iqbal
source
to share
5 answers
Use this:
var
hwndForeground: HWND;
titleLength: Integer;
title: string;
begin
hwndForeground := GetForegroundWindow();
titleLength := GetWindowTextLength(hwndForeground);
SetLength(title, titleLength);
GetWindowText(hwndForeground, PChar(title), titleLength + 1);
title := PChar(title);
ShowMessage(title);
end;
+9
actual
source
to share
Replace this line:
title : pansichar;
with this:
title: array[0..255] of Char;
+3
Bruce McGee
source
to share
Try this code
procedure TForm1.Button1Click(Sender: TObject);
var
title : array[0..254] of Char;
s : string;
begin
GetWindowText(GetForegroundWindow(), title,255);
s := title;
showmessage(s);
end;
Bye.
+2
RRUZ
source
to share
procedure TForm1.Button1Click (Sender: TObject);
var
liHwnd, liLength: Integer;
lpChar: PChar;
begin
liHwnd: = GetForegroundWindow ();
liLength: = GetWindowTextLength (liHwnd) + 1;
lpChar: = StrAlloc (liLength);
Try
GetWindowText (liHwnd, lpChar, liLength);
showmessage (lpChar);
Finally
StrDispose (lpChar);
End;
end;
+1
Pmax
source
to share
Maybe you have this problem ?
0
Alex
source
to share