|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.08.2010, 20:13 | #1 |
Регистрация: 18.05.2010
Сообщений: 6
|
Автоматизация кликов по окну
Нужна помошь задача такая
у нас есть форма мы делаем к примеру 4 клика мышью по этой форме в различных местах нажимаем например энтер и компьютер делает так же 4 клика в эти же координаты,сложность в том что компьютер делает свои клики без мыши тоесть в то время когда компьютер повторяет наши клики мы можем делать что хотим открывать другие программы переключаться между окнами ну и так далее возможно ли такое ну или хотя бы частично |
02.08.2010, 20:40 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
хм возможно, думою так.. запоминать хенндл окна в котором происходит действие..
записывать кординаты курора в 4 местах, потом эмулировать нажатие опять-же в по координатам.. Ещё вариант, получать хендл окна и под курсором кроме координат определять какой компонент(допустим кнопка) находится , и потом этой кнопке посылать нажатия.. Более удобен. |
02.08.2010, 22:00 | #3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Имитировать нажание клавиши можно при помощи процедуры объявленный в файле Winuser.h следующим образом
void keybd_event(IN BYTE bVk, IN BYTE bScan, IN DWORD dwFlags, IN ULONG_PTR dwExtrainfo); bVk - виртуальный код клавиши; bScan - скан код клавиатуры (В большинстве случаев = 0); dwFlags - определяет действие. Если 0 - нажатие клавиши. Если KEYEVENTF_KEYUP - эмулируется отпускание. dwExtrainfo - развёрнутая информация о клавише. В большинстве случаев = 0.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
02.08.2010, 22:53 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Принципиально писать самому или готовые решения устроят?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.08.2010, 11:59 | #5 |
Регистрация: 18.05.2010
Сообщений: 6
|
Да нужно писпть самомому и мне бы хотяб разобоаться с первой частью задачи где мы показываем компу в какие координаты кликать и он потом сам в эти координаты кликаает
|
03.08.2010, 12:09 | #6 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Для эмуляции ввода служит функция SendInput. Остальные варианты, либо неполноценны, либо являются оболочкой вокруг SendInput (а чаще всего - и то и другое сразу).
Надеюсь, проблем с записью действий нет?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.08.2010, 12:45 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
сообщения нужны) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
03.08.2010, 12:46 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
03.08.2010, 12:57 | #9 | |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Цитата:
"The SendInput function inserts the events in the INPUT structures serially into the keyboard or mouse input stream." Если же вопрос был про то, поддерживает ли она мышь, то.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
|
03.08.2010, 13:11 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бот, для кликов. | andriy1111 | Общие вопросы Delphi | 7 | 10.05.2010 08:28 |
Много кликов по клику =) | KoBRaAndrey | Общие вопросы Delphi | 3 | 26.03.2010 17:19 |
Обработка кликов TСooltrayicon | Shouldercannon | Компоненты Delphi | 2 | 04.06.2009 21:58 |
обработка кликов в treeview | CraZZy RabbIt | Общие вопросы Delphi | 2 | 28.03.2009 22:28 |
Отлов кликов мыши | LAFUDR | Помощь студентам | 9 | 24.05.2008 01:32 |