|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2010, 12:55 | #1 |
Регистрация: 20.12.2010
Сообщений: 4
|
Как в делфи дать команду контролеру мыши?
Как в делфи дать команду контролеру мыши?
Если можно пример. Для чего это нужна: есть прога, в которой есть 3 кнопки, которые надо нажимать каждые 30 минут, переместить в точку X.Y сделать клик, что может проще взять любой эмулятор мыши или из под делфи написать. Я тоже так думал, но есть большое НО. Прога устроена таким способом, что не это все не срабатывает Когда я вручную вожу мышкой, когда курсор попадает в область кнопки она начинает подсвечиваться, Если же я использую эмулятор мыши и перемещаюсь в точку области кнопки, кнопка не светиться и клик не срабатывает. Думал устроена прога, что она отлавливает курсор мыши, и когда я пересекаю границу кнопки, начинает светиться и потом уже обрабатывается мой клик мыши Написал из делфи, типа чтобы мышь плавна переместилась вверх и пересекла область кнопки, пример var pt : TPoint; begin GetCursorPos(pt); SetCursorPos(pt.x, pt.y - 1); end; при попадании курсора в область кнопки снова кнопка не подсвечивается, а значит клик и не сработает. Кто подскажет идеи, как устроена может эта кнопка, получиться ли если эмулировать движение мыши путем записи в порт или контролер, помогите плиз |
20.12.2010, 13:00 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...не нужно давать команду контроллеру почитайте про протокол обмена мышки, к примеру в нашем журнале ...попробуйте посылать нажатия кнопке через сообщения, отлавливая ее хэндл ...а вообще нужно бы для начала убедиться, что это за элемент на самом деле.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
20.12.2010, 18:51 | #3 |
Регистрация: 20.12.2010
Сообщений: 4
|
А пример можно, проще и быстрее будет
Например сместиться в точку 100 100, нажать левую кнопку мыши и отпустить А то чуть чуть не понимаю Var h :THandle; Begin h:= FindWindow(nil,'Form1'); sendMessage(h , WM_MOUSEMOVE , 0, 100 + 100 shl 16); не перемещает курсов мыши( кстати ты прав это не кнопка, нет хэндл, но обработчик есть |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как послать команду нажатия кнопки мыши | Olejik | Общие вопросы C/C++ | 8 | 11.02.2012 21:02 |
как листу дать имя | owl-ka | Microsoft Office Excel | 8 | 25.11.2008 21:29 |
Как в делфи опрашивать координаты мыши??? | EschE | Помощь студентам | 9 | 17.11.2007 13:17 |
TWebBrowser-как перехватить команду скрипта для закрытия окна и не дать ему закрыться | Вовик | Компоненты Delphi | 5 | 03.10.2007 12:17 |
Как узнать в Делфи координаты в котором находится курсор мыши? | SVS | Win Api | 3 | 08.02.2007 13:34 |