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

Вниз

Есть чужое приложение, нужно определить состояние Tbutton   Найти похожие ветки 

 
Dmitrij   (2008-02-12 20:24) [0]

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


 
Dib@zol ©   (2008-02-12 20:40) [1]

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;


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


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

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


 
Leonid Troyanovsky ©   (2008-02-12 20:54) [3]


> Dmitrij   (12.02.08 20:24)  

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

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

--
Regards, LVT.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1225121537
Xenus
2008-10-27 18:32
2008.12.28
Возведение в степень - что быстрее?


2-1226867152
ivak
2008-11-16 23:25
2008.12.28
Как?


15-1225428082
Snoop
2008-10-31 07:41
2008.12.28
Заказ на программу 2


15-1225092772
Добежал
2008-10-27 10:32
2008.12.28
Access violation... in module "coreide70.bpl"


2-1227013744
lazerBoy
2008-11-18 16:09
2008.12.28
Отступ в Memo