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

Вниз

Как нажать кнопку?   Найти похожие ветки 

 
Геннадий   (2005-02-11 15:17) [0]

Есть окно, Handle которого известен. На окне (то есть форме) размещена кнопка (Button). Каким образом возможно программно (из другого приложения) "нажать" эту кнопку? Поэкперементировал с SendMessage, но ничего не получилось. Подскажите, пожалуйста, как нажать кнопку?


 
Bes ©   (2005-02-11 15:23) [1]

а там помойму надо 2 сенд мессайджа

первый WM_LBUTTONDOWN
второй WM_LBUTTONUP типа щелчек


 
Jay1982 ©   (2005-02-11 15:28) [2]


PostMessage(handle, WM_KEYDOWN, #32, 0);


 
Юрий Зотов ©   (2005-02-11 15:34) [3]

Только Handle должен давать окно КНОПКИ.
Используйте, например, FindWindowEx.


 
Jay1982 ©   (2005-02-11 15:48) [4]

Jay1982 ©   (11.02.05 15:28) [2]
Только не #32, а просто 32 :)


 
Геннадий   (2005-02-11 16:06) [5]

Всем спасибо!  :)


unit CloseWnd;

interface

uses
 Classes, Windows, ShellAPI, Messages, Dialogs;

type

 TCloseWnd = class(TPersistent)
 private
   FCaption: string;
 protected
   function GetHandleForWnd(AWndCaption: PChar): THandle;
 public
   procedure DoCloseWindow;
   procedure PressButton(AButName: string);
   //
   property WndCaption: string read FCaption write FCaption;
 end;

implementation

{ TCloseWnd }

procedure TCloseWnd.DoCloseWindow;
var
 H  : THandle;
begin
 H:= GetHandleForWnd(PChar(FCaption));
 SendMessage(H, WM_CLOSE, 0, 0);
end;

function TCloseWnd.GetHandleForWnd(AWndCaption: PChar): THandle;
begin
 Result:= FindWindow(NIL, AWndCaption);
end;

procedure TCloseWnd.PressButton(AButName: string);
var
 Txt: PChar;
 H  : THandle;
 I  : integer;
 Par: THandle;
begin
 GetMem(Txt, 100);
 for i:=1 to 100 do
 begin
   Par:= GetHandleForWnd(PChar(FCaption));
   H:= FindWindowEx(Par, 0, "TButton", PChar(AButName));
   GetWindowText(H, Txt, 100);
   if Txt = AButName then
   begin
     PostMessage(H, WM_KEYDOWN, 32, 0);
     PostMessage(H, WM_KEYUP, 32, 0);
   end;  
 end;
end;

end.




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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1108465034
pasha_golub
2005-02-15 13:57
2005.02.27
Запуск приложения из ресурса


8-1100346664
frEEstyler
2004-11-13 14:51
2005.02.27
не проигрываются vob файлы


1-1108401404
yarvu
2005-02-14 20:16
2005.02.27
ActiveX HTML


8-1100430732
_PG_
2004-11-14 14:12
2005.02.27
Мастера, нужна помощь (3Д куб)


14-1107709066
sloug
2005-02-06 19:57
2005.02.27
Посоветуйте