Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Хэндлы и хуки   Найти похожие ветки 

 
elfy   (2003-01-12 00:26) [0]

Здравствуйте все!!!

Хочу задать 2 вопроса:

Есть хэндл окна, как получить его заголовок?(не через GetWindowText - на чужие окна не работает...)

Как правильно ставить SHELL хук на изменение заголовка окна?

Заранее большое спасибо


 
Оливейра ©   (2003-01-12 01:12) [1]

1) WM_GETTEXT
2) Так же, как и прочие хуки :)
WH_MSGFILTER / WH_SYSMSGFILTER на WM_SETTEXT;
если родитель окна не 0 - вываливаемся;
адрес MSG - в lParam.


 
Оливейра ©   (2003-01-12 01:14) [2]

Опять скосячил.
WH_GETMESSAGE вместо WH_MSGFILTER / WH_SYSMSGFILTER


 
elf_123 ©   (2003-01-12 13:40) [3]

Спасибо, но ВМ_ГТТЕКСТ тоже не пашет ;)


 
R4D][   (2003-01-12 13:59) [4]

>Есть хэндл окна, как получить его заголовок?(не через GetWindowText - на чужие окна не работает...)

Как это не работает:
Пример: Пойдем от обратного: у меня открыто окно с заголовком "Интернет"(ради эксперимента создай папку с именем Интернет и открой ее в Explorer"e), находим его хэндл и передаем его в качестве первого параметра в GetWindowText: во втором параметре получаем тот же "Интернет", вот кусок кода:
...
var
nb: array [0..255] of Char;
...
GetWindowText(FindWindow(nil,"Интернет"),nb,255);
MessageBox(0,nb,"",mb_ok);


 
elf_123 ©   (2003-01-12 16:08) [5]

Не знаю...

А вот такой код вываливается в ошибку проги-оболочки:

function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var f: TextFile;
galfa: PChar;
...
GetWindowText(wParam, Galfa, 255);

wParam - 100% хэндл для ШеЛ ХУКА


 
R4D][   (2003-01-12 17:22) [6]

Дык ты не инициализировал galfa:
GetMem(Galfa,255);
GetWindowText(wParam, Galfa, 255);
FreeMem(Galfa);
А вообще мне больше по вкусу массивы символов, как в моем примере, глюков меньше.



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

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-87338
an
2003-02-08 03:45
2003.02.27
ADO и DBF не воэможно внести изменения в DBF файл


6-87608
ychnic
2003-01-11 11:57
2003.02.27
Сетевой трафик


14-87628
Dudko Anton
2003-02-10 05:39
2003.02.27
Pascal


14-87702
Esc
2003-02-09 13:54
2003.02.27
Резидентность в win2000


14-87630
Mihey
2003-02-09 19:13
2003.02.27
Сложнейшая задача.