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

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

Программно нажать мышь [D7]


newby ©   (2007-05-02 18:00:00) 

Добрый день, мастера!
Как программно навести мышь на кнопку и симитировать нажатие левой кнопки мыши, чтобы сработал обработчик кнопки?
Спасибо


newby   (2007-05-03 12:08:00) [1]

Спасибо, Rial ©!
все работает


newby   (2007-05-02 20:06:00) [2]

to Rial
"Борис ты не прав" :)
Базы Данных - это и есть наша жизнь в основном, куда без них :)


Rial   (2007-05-02 19:53:00) [3]

> [4] newby   (02.05.07 19:47)
вот уроды-преподы совсем
> от жизни оторвались :)

Позволю себе наглость, заметив, что работа
с БД - наибольший отрыв от жизни %)
Все то там скучно и монотонно :)


newby   (2007-05-02 19:50:00) [4]

to Rial
Спасибо!
Буду разбираться с Вашим кодом


newby   (2007-05-02 19:47:00) [5]

to Leonid Troyanovsky
спасибо за совет :)))
но мне он не пригодится
просто пришел студент с задачей по сабжу, а я в основном с БД работаю и такие хитрости с мышкой мне не за надобностью, а ему что-то там сдавать надо, вот уроды-преподы совсем от жизни оторвались :)


Rial   (2007-05-02 19:41:00) [6]

procedure SetMousePos(Const Event : DWord; Const X, Y : Integer);
begin
Mouse_Event(Event or MOUSEEVENTF_ABSOLUTE,
            Round((MaxWord + 1) / GetScreenWidth * X),
            Round((MaxWord + 1) / GetScreenHeight * Y),
            0, 0);
end;

procedure MouseClick(Const X, Y : DWord);
begin
SetMousePos(MOUSEEVENTF_MOVE,     X, Y);
SetMousePos(MOUSEEVENTF_LEFTDOWN, X, Y);
Sleep(5);
SetMousePos(MOUSEEVENTF_LEFTUP,   X, Y);
end;

function GetScreenHeight : Integer;
begin
Result :=GetSystemMetrics(SM_CYSCREEN);
end;

function GetScreenWidth : Integer;
begin
Result :=GetSystemMetrics(SM_CXSCREEN);
end;

P.S.
"SetMousePos" - название несколько не отражает сути, ну уж как назвал %)


Leonid Troyanovsky   (2007-05-02 19:33:00) [7]


> newby   (02.05.07 18:00)  

> Как программно навести мышь на кнопку и симитировать нажатие
> левой кнопки мыши, чтобы сработал обработчик

IMHO: проще апгрейдить мышь:
1. установить ей драйвер самонаведения на кнопку
2. купить ему кнопкоимитатор нажатий (левый,
но можно хоть китайский).

--
Regards, LVT.


clickmaker   (2007-05-02 18:47:00) [8]

mouse_event()
но можно и Button.Click()


Наверх

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