|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.05.2011, 21:49 | #1 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
Взаимодействие с игрой
Здравствуйте! Товарищи программисты нужна так сказать ваша помощь =)
Нужно сделать такую программку: 1)Запускаю программу 2)Захожу в игру 3)Как только началась игра, запускается таймер Вот и всё, в принципе всё понятно кроме одного, как приложение узнает что началась игра? (видел много разных на подобие) буду благодарен вам за оказанную помощь! P.S Какие будут предложения? |
30.05.2011, 21:56 | #2 |
Delphi master
Пользователь
Регистрация: 28.05.2011
Сообщений: 96
|
Ищешь handle окна с данным заголовком. И если он не равен 0, то окно есть в системе. Узнается это функцией
FindWindow(caption,name):thandle; Вот пример использования If findwindow('explorer',nil)<>0 then showmessage('есть окно проводника'); БЯЯЯГГАААААА
Последний раз редактировалось Leo08; 30.05.2011 в 21:58. |
30.05.2011, 22:01 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
можно еще проверять на наличие процесса с нужным именем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
30.05.2011, 22:28 | #4 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
спасибо, это я знаю =)
вы не поняли сути вопроса =) Вот взять например игру Warcraft III, зашел я в неё (это не значит что игра началась) там далее новая игра создать игру т.д люди подсоединились отсчиталось 5 секунд и загрузка игры, после же как мы появились в игре она началась, вот этот момент меня интересует когда началась игра включить таймер (ну эт к примеру) для меня главное как узнать когда началась игра? вот нашел недавно такое приложение pingme.ru/download/naga.zip (оно знает когда игра началась) |
30.05.2011, 22:30 | #5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Добавлю, что можно сделать это без опроса. К примеру, очень удобно это делается на WMI. Только, пожалуй, для новичка это сложно будет. Для начала проще всего таймером на наличие окна игры или работающего процесса игры, но в реальных приложениях опрос лучше не использовать.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
30.05.2011, 23:32 | #6 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
хмм, я тут подумал, а можно будет сделать так?
при начале игры у меня ведь будут деньги, ресурсы и т.д тоесть создаются адреса в памяти? сделать проверку на наличие того или иного адреса? а вот как сделать проверку? |
30.05.2011, 23:58 | #7 | |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
Цитата:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
|
31.05.2011, 10:32 | #8 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
В общем так проверил адреса двух ресурсов по три раза, вот что получил:
Адреса одного ресурса: 0F611410 0C1D1410 097C1410 Адреса второго ресурса: 097C1490 05DE1490 05521490 Вот что есть у них общего, как я понял сравнивать можно по концовке... Так вот теперь самый главный и наверное глупый вопрос, как сделать проверку? Подскажите пожалуйста... Мне нужно будет так что если адрес найден то включи таймер, после работы таймера опять ищи адрес |
31.05.2011, 16:37 | #9 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
Забудь о данном методе, надо искать что то другое, у тебя возможно (теоретически) 32к вариантов, так что то что там будут значения всегда вероятно. если бы были совпадения полные тогда можно было бы привязываться.
Могу лишь пнуть в нужном направлении (ну или как получится)
|
31.05.2011, 23:17 | #10 |
Пользователь
Регистрация: 01.12.2009
Сообщений: 46
|
нуууу таааак... а что вы предлагаете? Просто (знаю что это не отмазка) я только учусь, и совершенно сбит с толку =(
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема с игрой | незнайка_на_земле | Свободное общение | 3 | 16.02.2011 19:34 |
нужна помошь с игрой | FullVenic | Помощь студентам | 0 | 28.07.2010 18:47 |
Взаимодействие с онлайн игрой | Niklan | Общие вопросы Delphi | 7 | 14.11.2009 12:35 |
Помогите с игрой на JAVA | kukuru2nik | Помощь студентам | 0 | 05.05.2009 22:54 |
Помогите с игрой | Titan123 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 4 | 30.06.2008 15:42 |