Конференция "WinAPI" » Есть чужое приложение, нужно определить состояние Tbutton [D6, WinXP]
 
  • Dmitrij (12.02.08 20:24) [0]
    т.е. Enabled оно или disable?
    Очень срочно нужно, если enabled то нажать на нее функцией SendMessage
    Подскажите плз!!!
  • Dib@zol © (12.02.08 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 © (12.02.08 20:42) [2]
    Замени 'TForm1' и 'Form1' на соответсно класс и имя родительского для кнопки окна, а 'TButton' и 'Button1' на 'BUTTON'(если прога на WinAPI) и соответственно на имя кнопки. МессаджБоксы убери.
  • Leonid Troyanovsky © (12.02.08 20:54) [3]

    > Dmitrij   (12.02.08 20:24)  

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

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

    --
    Regards, LVT.
 
Конференция "WinAPI" » Есть чужое приложение, нужно определить состояние Tbutton [D6, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0.001]