Вниз
Скачать: CL | DM;

Как получить caption окна чужой программы?   Найти похожие ветки 

← →
Asail   (2006-02-13 10:00) [0]

Здрасте!
Есть задача отслеживать, какая программа (чужая) активна (т.е. в фокусе одно из ее окон).
Для получения handle активного окна использую GetForegroundWindow. А как теперь по этому handl"у прочитать содержимое заголовка окна?
Спасибо!


← →
Marser ©   (2006-02-13 10:07) [1]

GetWindowText


← →
Asail   (2006-02-13 10:27) [2]

Спасибо! Только у меня чего-то не фурычит :-(
Делаю так:

var
 H : hWND;
 Count : Integer;
 Str : String;
begin
 ...
 Str:="";
 H:=GetForegroundWindow;
 Count:=GetWindowTextLength(H);
 GetWindowText(H,PChar(Str),Count);
 Edit1.Text:=Str;
 ...
end;


В чем ошибка?


← →
ЮЮ ©   (2006-02-13 10:30) [3]

SetLength(str, Count);
GetWindowText(H,PChar(Str),Count);


← →
Marser ©   (2006-02-13 10:31) [4]

Попробуй так:
var
H : hWND;
Count : Integer;
Str : String;
begin
H:=GetForegroundWindow;
Count:=GetWindowTextLength(H);
SetLength(Str,5);
GetWindowText(H,@Str[1],Count);
Edit1.Text:=Str;
end;


← →
Pit ©   (2006-02-13 10:32) [5]

var
H : hWND;
Count : Integer;
Str :array [0..128] of Char;
begin

H:=GetForegroundWindow;
Count:=GetWindowTextLength(H);
GetWindowText(H,Str,Count);
Edit1.Text:=Str;


← →
Marser ©   (2006-02-13 10:33) [6]

> Count:=GetWindowTextLength(H);
> SetLength(Str,5);

Следует читать как
Count:=GetWindowTextLength(H);
SetLength(Str,Count);


← →
Asail   (2006-02-13 10:34) [7]

Да, так работает!!!
Только пришлось (не понял почему) добавить в размер еще один байт:
Count:=GetWindowTextLength(H)+1;
Хотя, впрочем, наверное, знаю - для "\0" в конце.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.974 c
2-1145357618
AnP
2006-04-18 14:53
2006.05.07
ShellExecute


2-1145247461
vodvorezlaya
2006-04-17 08:17
2006.05.07
HANDLE?


2-1145517328
K_VAL
2006-04-20 11:15
2006.05.07
ShowMessage - нажатие клавиши Enter


2-1145342719
Женя из Харькова
2006-04-18 10:45
2006.05.07
ПОМОГИТЕ ПОЖАЛУЙСТА!!!


15-1144734860
DelphiN!
2006-04-11 09:54
2006.05.07
Книга по Visual Studio 2005




   Наверх