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