Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизХэндлы и хуки Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c