Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > как программно управлять мышью в игре? |
Автор: markus_smile 22.8.2007, 17:38 |
Суть проблемы такая: нужно написать программу которая программно могла-бы управлять мышью в игре. Реально ли это? и какой материал посоветуете? |
Автор: Solomon 22.8.2007, 17:53 |
ээ а что значит программно управлять мышью???? |
Автор: mr.Anderson 22.8.2007, 17:56 |
Solomon, ну, таскать курсор по экрану, щелкать кнопками... |
Автор: Solomon 22.8.2007, 18:01 |
mr.Anderson, а возможно.. хотя думаю он что то другое замыслил.. если это то что ты говориш то требуется от markus_smile, рассказать где как и в чем это все будет делатся |
Автор: markus_smile 22.8.2007, 18:29 |
если ты имееш виду читерство и прочее, мне это никчему я в игрушки редко играю, меня интересует другая сторона игры, не та что видят геймеры Я хотел бы узнать как можно из одной программы передавать команды мыши в другую. Хотелось бы узнать является ли мыш независимой от программы или же мыш пренадлежит конкретно той программе которая активна в данный момент? можно не на напримере игры. |
Автор: markus_smile 22.8.2007, 19:02 | ||||||
без проблем нихочеш отвечать, не отвечай. мне пофигу! Я всёравно узнаю то, что я хочу знать ![]() |
Автор: Solomon 22.8.2007, 19:34 |
А кто сказал что я нехочу отвечать... я хочу что бы ты нормально обьяснил какого результата ты хочеш добится... |
Автор: Rickert 23.8.2007, 16:15 |
markus_smile, Я никак понять не могу что ты хочешь? Можно ли сделать такую прогу, которая бы эмулировала движение мышью и нажатие клавишь? Ну да, можно, а почему бы и нет? В чём конкретная проблема объясни? |
Автор: markus_smile 27.8.2007, 15:10 | ||
смотри первое сообщение, я не спрашиваю можно или нет. какой материал посоветуете сэр!? |
Автор: Rickert 28.8.2007, 04:01 | ||
Ну, какой ответ на вопрос, такой и ответ на ответ:
Когда избавишься от проблем с речью и научишься формулировать вопросы - заходи. |
Автор: zkv 28.8.2007, 04:45 |
google.com смотрю, вижу: markus_smile, действительно непонятно, что тебе нужно сделать. |
Автор: Dronchik 28.8.2007, 05:41 | ||
Думаю этим всё сказано. |
Автор: Rickert 28.8.2007, 06:03 |
Это типа я нажал на точку с координатами (324; 44) правой кнопкой мыши, а эта информация реализовалась как действия в другой программе? Ну так просто отлавливать момент нажатия, переключать на другую программу, "нажимать", переключаться обратно. |
Автор: Dronchik 28.8.2007, 06:12 | ||
И это(если мне не изменяет память мона делать и стандартными АПИ функциями С++) http://msdn2.microsoft.com/ru-ru/default.aspx тебе в помощь, и ещё http://cpp-exe.ucoz.ru/load/3-1-0-2. |
Автор: Rickert 28.8.2007, 06:51 |
Напи ответы тебя удовлетворили или ты просто обиделся на правду? |
Автор: rabbit 6.10.2007, 09:52 |
Это точно. Юзай две темы WinApi - по ним в нете найти можно много информации И Ловушки Windows. Вобщем зайди на http://detr.nnm.ru/knigi_win32_api# там уже розберешься... |
Автор: ull 15.10.2007, 10:02 |
Привет таже проблема и у меня возникла к одной игрушки примочку пишу, всё ок и со скринами и т.д. вот с управлением возникла проблема не хочет реагировать на эмуляцию нажатия клавиш, но на некоторых играх катит если через WINAPI посылать окну сообщения PostMessage или SendMessage, ещё вот такими можно keyboard_event и mouse_event нашёл даже небольшой пример http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/Misc/300.aspx ещё можно эту посмотреть SendInput(), в моём примере через keyboard_event реагирует всё ок, но если ирга использует DirectInput то эти функции не помогают, там както хитро всё сделано, там по всей видимости есть свои драйвера, или процесс который это дело мониторит в общем ещё сам не разобрался как и что устроено в DirectInput , нужно разбираться что это и как работает, но дело думаю сложнее чем кажется, что не радует, может у кого есть соображения как обойти это и подсунуть эмулированные нажатия клавиш в DirectInput , буду благодарен за любые разъяснения и помощь ... ![]() |
Автор: TeAnton 24.1.2008, 21:59 |
Видимо нужно использовать SendInput() и возможно SetCursorPos(). Смотри http://msdn2.microsoft.com/en-us/library/. |
Автор: atavinta 31.1.2008, 07:55 |
Судя по всему имеется ввиду программная генерация в приложении самих событий мыши, причём глобальных. То есть надо не перехватывать прерывания мыши, а создавать их вместо самой мыши. на ассемблере это точно можно сделать, но во-первыйх писаниениы много, а во-вторых, многие просто не знают как это делается. Стоит поискать более эффективный путь целиком на С++. |