Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть чужое приложение, нужно определить состояние Tbutton [D6, WinXP]


Dmitrij ©   (2008-02-12 20:24:00) 

т.е. Enabled оно или disable?
Очень срочно нужно, если enabled то нажать на нее функцией SendMessage
Подскажите плз!!!


Leonid Troyanovsky   (2008-02-12 20:54:00) [1]


> Dmitrij   (12.02.08 20:24)  

> Очень срочно нужно, если enabled то нажать на нее функцией
> SendMessage

И зачем если? Жми всегда.
Тем более, что срочно.

--
Regards, LVT.


Dib@zol   (2008-02-12 20:42:00) [2]

Замени 'TForm1' и 'Form1' на соответсно класс и имя родительского для кнопки окна, а 'TButton' и 'Button1' на 'BUTTON'(если прога на WinAPI) и соответственно на имя кнопки. МессаджБоксы убери.


Dib@zol   (2008-02-12 20:40:00) [3]

procedure TryClick;
var
 H, S : THandle;
begin
 H:=FindWindow('TForm1', 'Form1');
 H:=FindWindowEx(H, 0, 'TButton', 'Button1');
 if H<>0 then begin
   S:=GetWindowLong(H, GWL_STYLE);
   if S and WS_DISABLED = 0 then begin
     MessageBox(hWnd, 'Кнопка активна! Нажимаем...', '', 0);
     SendMessage(H, BM_CLICK, 0, 0);
   end else MessageBox(hWnd, 'Кнопка неактивна!', '', 0);
 end;
end;


Что-то типа этого. Протестировал - вроде как пашет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо