|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2011, 22:12 | #1 |
Регистрация: 15.10.2009
Сообщений: 9
|
Эмулятор клика мыши в Делфи
Здаствуйте
У меня такая проблема не магу сделать так чтоб мыш просто кликала левой кнопкой где угодна в любом месте и в любом приложений просто клик нечего сверхъестественного но не как делал по разному: код procedure TForm1.Timer2Timer(Sender: TObject); var Pt: TPoint; begin //Преобразуем Pt к аболютным координатам курсора мышки GetCursorPos(Pt); //Переместим курсор мыши Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE, Pt.x, Pt.y, 0, 0); //Имитируем нажатие левой кнопки мыши Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0); //Имитируем отпускание левой кнопки мыши Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0); end; procedure TForm1.Timer2Timer(Sender: TObject); var foo: TPoint; begin GetCursorPos(foo); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, foo.X,foo.Y, 0, 0); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, foo.X,foo.Y, 0, 0); end; procedure TForm1.Timer2Timer(Sender: TObject); var foo: TPoint; begin GetCursorPos(foo); Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, foo.X,foo.Y, 0, 0); GetDoubleClickTime; Mouse_Event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, foo.X,foo.Y, 0, 0); end; Не большой результат был вот с этим кодам но только сама форма реагировала как бы на клик но ни одна кнопка на ней не среагировала. Вот кодкод Procedure TForm1.Timer2Timer(Sender: TObject); var foo: TPoint; begin GetCursorPos(foo); sendmessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, foo.X +foo.Y shl 16); sendmessage(Handle, WM_LBUTTONUP, MK_LBUTTON, foo.X +foo.Y shl 16); end; И еще множество других попыток все выложить место не хватит. Большинство вариантов на этом форуме перепробовал так что прошу не бросаться ссылками только действительно приведший к результату. У меня Windows 7 и Dlphi 2010 Может в них какая заковырка в общем не знаю голова слетает с плеч прошу помогите. Заранее способа буду следить за ответами |
29.10.2011, 14:28 | #2 |
Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,792
|
в таймере пишете:
Код:
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
|
29.10.2011, 20:09 | #3 |
Регистрация: 15.10.2009
Сообщений: 9
|
Спасибо замечательный пример все работает
Но теперь новая проблема при запуске онлайн игры программа перестает работать Читал на форумах что современные онлайн игры запускают свои драйвера на Клаву и на мыш (правдо??) или защиту там какую та как это все обойти программно обойти ?? |
29.10.2011, 20:12 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
29.10.2011, 20:56 | #5 |
Регистрация: 15.10.2009
Сообщений: 9
|
Тогда объясните почему как тока запускаю игру код сразу не работает
Не в игре не в Винде не всомой форме программы |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Эмуляция клика мыши в чужом окне | MyIE | Win Api | 16 | 06.10.2011 23:26 |
Имитация клика мыши | Anfall | Общие вопросы Delphi | 20 | 05.10.2010 09:15 |
Эмуляция клика мыши в C# | GApe | Общие вопросы C/C++ | 0 | 04.05.2010 20:40 |
Имитация клика мыши | tipzozborova | JavaScript, Ajax | 1 | 04.03.2009 07:27 |
Эмуляция клика мыши | Stimer | Win Api | 1 | 05.02.2009 04:06 |