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

Вниз

Нажатие кнопки в чужом окне   Найти похожие ветки 

 
Грифон ©   (2002-06-18 01:22) [0]

Скажите, как можно нажать кнопку в чужом окне, т.е. моя прога находит окно с Caption = "proga", в этом окне есть кнопка с caption = "Ok". Так вот нужно сделать так, чтобы происходило нажатие этой кнопки из моей проги. Подскажите какое сообщение нужно послать тому окну.


 
rhf ©   (2002-06-18 01:35) [1]

теперь найди эту кнопку .... ее handle и пошли BM_CLICK


 
Грифон ©   (2002-06-18 01:36) [2]

А как найти её?


 
rhf ©   (2002-06-18 02:06) [3]

блин....ну вы хоть малость усилий приложите...для чего голова дана........

если кнопка точно есть и она прямо на главном окне да еще и надпись на ней уникальна среди остальных элементов, то так

const allDone:boolean= FALSE;
var
h:HWND;
buf:array[0..255] of char;

h:=findWindow(pchar("заголовок"),nil);
h:=getWindow(h,GW_CHILD);
while (h<>0)or (not allDone) do
begin
getWindowText(h,buf,sizeOf(buf));
if string(buf)="текст на кнопке" then
begin
sendMessage(h,BM_CLICK,0,0);
allDone:=TRUE;
end;
h:=getWindow(h,GW_HWNDNEXT)
end;

иначе надо смотреть класс окна с хендлом (getClassName) и сравнивать с классом твоей кнопки. Ну а если она может и еще в каком-то контейнере быть, то либо выясни точно где она, либо просмотри все дочернии окна ну и так далее...

p.s. за синтаксис не отвечаю......не проверял


 
Грифон ©   (2002-06-19 04:25) [4]

Спасибо все работает. Только в строке
h:=findWindow(pchar("заголовок"),nil);
параметры нужно местами поменять.


 
Andrew_k ©   (2002-06-19 16:06) [5]

Люди, а если перечислять все окна, то как найти кнопку, т.е. использовать FindWindowEx, а кнопок две, то как найти ту, что надо?



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
14-71363
127.0.0.1
2002-07-28 10:37
2002.08.22
I have been back...


4-71435
jj
2002-06-18 20:44
2002.08.22
Сообщения - где эта очередь и кто крайний?


14-71338
Razpizdyi
2002-07-27 08:00
2002.08.22
MSDN - Что это за справка, и где ее искать?


1-71079
kinder
2002-08-09 13:42
2002.08.22
Выпадающий список в DBGrid


14-71356
Sam Stone
2002-07-27 21:02
2002.08.22
CreateProcess