Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
Геннадий   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
6-1103307988
Sanyara
2004-12-17 21:26
2005.02.27
Все компьютеры в сети


1-1107924806
mmms
2005-02-09 07:53
2005.02.27
Мастера, помогите сделать поиск по диску


4-1105458325
Никита_
2005-01-11 18:45
2005.02.27
окна, сворачиваем/показвыаем


14-1106823352
dr Tr0jan
2005-01-27 13:55
2005.02.27
Завтра лечу в Питер


8-1100205569
Ghost_1980
2004-11-11 23:39
2005.02.27
Стеганография





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский