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

Вниз

поиск окна и родительских окон   Найти похожие ветки 

 
Rasputin   (2008-04-19 22:56) [0]

еще немного и крыша улетит )))
что я делаю не так??? Нужно найти окно, в котором дочерн. окна!
для эксперимента создал новый проэкт бросил на него пару кнопок, пару мемо и пару списков. Ниже код который должен работать но почему-то не работает!
Находится только окно формы, а дальше полная эрунда вместо положеного. Что не так??? Как искать в родительском окне???

 
h:=GetForegroundWindow;
TxtLength:=SendMessage(h,WM_GETTEXTLENGTH, 0, 0);
SetLength(buffer,txtLength-1);
sendmessage(h, wm_gettext, txtlength, longint(@buffer[1]));
Memo1.Lines.Append(buffer);

h:=GetWindow(h, GW_CHILD);
TxtLength:=SendMessage(h,WM_GETTEXTLENGTH, 0, 0);
SetLength(buffer,txtLength+1);
sendmessage(h, wm_gettext, txtlength, longint(@buffer[1]));
Memo2.Lines.Append(buffer);

while (h<>0) do begin
h:=GetNextWindow(h,GW_HWNDNEXT);
TxtLength:=SendMessage(h,WM_GETTEXTLENGTH, 0, 0);
SetLength(buffer,txtLength+1);
sendmessage(h, wm_gettext, txtlength, longint(@buffer[1]));
Memo2.Lines.Append(buffer);
end;


 
easy ©   (2008-04-19 23:42) [1]

http://dfc.com.ru/?sid=2&id=7&itemid=9


 
Rasputin   (2008-04-20 01:01) [2]


> easy ©   (19.04.08 23:42) [1]
>
> http://dfc.com.ru/?sid=2&id=7&itemid=9

за ссылку спасибо, неплохой пример!
но все-таки что я делал не так! вот даже, этот кусок кода должен работать с виду 100%. Нажимаеш кнопку и получаеш заголовок окна!
а почему-то вместо Form1 упорно возвращаетсяForm

h:=GetForegroundWindow;
TxtLength:=SendMessage(h,WM_GETTEXTLENGTH, 0, 0);
SetLength(buffer,txtLength+1);
sendmessage(h, wm_gettext, txtlength, longint(@buffer[1]));
Memo1.Lines.Append(buffer);


 
Германн ©   (2008-04-20 01:41) [3]


> Rasputin   (20.04.08 01:01) [2]

Не уверен, но почему sendmessage(h, wm_gettext, txtlength, longint(@buffer[1]));
А не sendmessage(h, wm_gettext, txtlength+1, longint(@buffer[1])) ?


 
Rasputin   (2008-04-20 13:51) [4]


> Германн ©   (20.04.08 01:41) [3]
> Не уверен, но почему sendmessage(h, wm_gettext, txtlength,
> longint(@buffer[1]));
> А не sendmessage(h, wm_gettext, txtlength+1, longint(@buffer[1]))?

точно, так и есть, и какой я после этого л...р )



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1208778084
incm
2008-04-21 15:41
2008.05.18
Как нарисовать линию точками


2-1208271421
webpauk
2008-04-15 18:57
2008.05.18
PageControl, Hint


3-1197035486
iZEN
2007-12-07 16:51
2008.05.18
Сравнить две СУБД (.mdb)


2-1208620176
MSD
2008-04-19 19:49
2008.05.18
FTP


2-1207667537
kernel
2008-04-08 19:12
2008.05.18
Обработка сообщений (WM_SYSCOMMAND) в консольном приложении