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

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

имитировать мышь и клаву... [D5, D6, D7, NT4, Win2k, WinXP]


lefan ©   (2003-12-26 07:04:00) 

Приветсвую всех!!!

Требуется написать прогу, которая двигает мышь (знаю как),
кликает кнопки (не знаю) например кликнет правую кнопку...
имитирует нажатие клавиш (например в контекстном меню стрелочки),
копировать в буфер и достать из буфера (текст)...

Заранее благодарен.
С уважением Алексей.


Lefan   (2003-12-30 12:38:00) [1]

поправочка.....
кнопка нажимается (например: посылая MOUSEEVENTF_RIGHTDOWN, и потом таская мышь, выделяется текст), а после посылки MOUSEEVENTF_RIGHTUP, не выподает контексное меню...

а если мышью нажму и отпущу, то контексное меню выползает....
в чем проблема?

Заранее благодарен.


Lefan   (2003-12-30 12:03:00) [2]

кстати, активное приложение не мое....


Lefan   (2003-12-30 10:32:00) [3]

Я использую mouse_event но она не нажимает кнопку правую, на активном окне (keybd_event нажимает например TAB), на активном окне есть контексное меню для мыши...

mouse_event(MOUSEEVENTF_RIGHTUP, x, y, 0, 0);
и эту пробовал:
mouse_event(MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0);

может я чего не так делаю?


Kerk   (2003-12-26 12:07:00) [4]

mouse_event
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputfunctions/mouse_event.asp

keybd_event
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/keybd_event.asp


shluz   (2003-12-26 10:06:00) [5]

sendmessage
буфер(извлечение):
var gbl: Hwnd;
begin
if OpenClipboard(0) then
begin
if IsClipboardFormatAvailable(CF_TEXT) then
begin
gbl := GetClipboardData(CF_TEXT);
if gbl <> 0 then
str := GlobalLock(gbl);
end;
GlobalUnlock(gbl);
end;
CloseClipboard();
end;
см. help по этим функциям в msdk


Наверх

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