Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
#1

Передаём нажатия - C++

16.03.2010, 15:03. Просмотров 1429. Ответов 27
Метки нет (Все метки)

Приветствую всех читателей!
У меня такая проблема образовалась. Вообщем надо другому приложению (игре допустим) передать нажатия клавиш (например "r").

Как такое возможно реализовать? Пожалуйста, если не затруднит, помоги. Примеры приветствуются.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2010, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передаём нажатия (C++):

Нажатия клавиш - C++
В mfc нужно чтобы при нажатии клавиш, происходило действие. С помощью WM_KEYDOWN, пытался сделать, чтобы при нажатии клавиш программа...

Обработка нажатия клавиши UP - C++
enum key_codes {UP=38}; int_tmain (int argc, THCAR*argv) { keys() enum key_codes key; while (key!=27) { key=_getch(); if...

Звуковое сопровождение нажатия - C++
Ребят, подскажите пожалуйста, с чего начать если нужно написать программу для прерываний мыши под МС ДОС? Просто есть задание - написать...

Коды нажатия клавишь. - C++
#include'stdio.h' #include'conio.h' main() { int n; if(!(n=getch())) { n=getch(); } printf('%d

Проверка нажатия enter - C++
Добрый день. Подскажите, пожалуйста, как запретить в консоли при пустом вводе запретить нажатие клавиши enter? Но если пользователь что-то...

Имитация нажатия клавиш - C++
как только и не пытался всё выводит одну и туже ошибку, помогите начинающему c++ юзеру #include <iostream> #include <Windows.h> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.03.2010, 15:48 #16
По поводу игр, не знаю, а вдруг игра пользуется системой DirectInput:
в обход стандартным Windows api.
Простые окна обмениваются с помощью SendMessage(..).
Если игра не использует DirectInput а использует стандартный api, тогда и SendMessege прокатит.
0
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
21.03.2010, 15:50  [ТС] #17
Цитата Сообщение от kravam Посмотреть сообщение
Я бы на твоём месте открыл окошко "GTA:SA:MP" запустил бы прогу (там есть режим "РАзное"->"активный курсор") и курсором бы погонял над этим окном дабы убедиться в том, что сама надпись непосредственно "GTA:SA:MP" имеет один хэндл (в программе называется "указатель на память"), а то место НЕПОСРЕДСТВЕННО, куда тебе надо послать сообщение- другой хэндл.
НУ, или убедиться в обратном.

Это первое что надо выяснить
такс, а что мне делать, если игра фулл скрин?
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
21.03.2010, 15:52 #18
Честно говоря, я не знаю, что такое фулл скрин...
0
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
21.03.2010, 15:53  [ТС] #19
ну, всмысле, игра на весь экран. и я, соответственно, не вижу окна программы
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
21.03.2010, 16:01 #20
Слушай, я этого не учёл. Тогда тебе таким образом, конечно, не найти хэндл окна игры. Извини, что зря потратил твоё время, я в игры просто не играю, короче, вот.
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.03.2010, 16:02 #21
SKDzR, используй утилиту Spy++. Подробнее здесь.
0
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
21.03.2010, 16:13  [ТС] #22
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
используй утилиту Spy++
если можно, ссылку, пожалуйста, найти не могу её...
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.03.2010, 16:17 #23
Если у тебя Visual Studio там есть:
В меню:
Service -> Spy++
или:
Сервис-> Spy++ если VS на русском
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
21.03.2010, 16:18 #24
Я как-т раз её использовал, знаю, что она идёт в поставке с какой-то монструальной IDE от мелкомягких...
0
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
21.03.2010, 16:30  [ТС] #25
такс... что в этой программе мне нужно найти, чтобы вычислить хэндл?
0
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.03.2010, 19:14 #26
Цитата Сообщение от SKDzR Посмотреть сообщение
такс... что в этой программе мне нужно найти, чтобы вычислить хэндл?
Тебе нужно узнать название или класс окна, которому ты хочешь послать сообщение.
0
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
24.03.2010, 15:03  [ТС] #27
что-т не получается особо...
ну, ладно, с этим потом.
подскажите, как получить хендл активного окна?
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
24.03.2010, 15:17 #28
HWND hwnd = GetActiveWindow();
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2010, 15:17
Привет! Вот еще темы с ответами:

Ожидание нажатия клавиши - C++
А подскажите пожалуйста, как в С++ сделать так, чтобы программа, написанная в консольных приложениях, продолжала свою работу только после...

Имитация нажатия клавиши - C++
Может кто помочь сделать прогу что бы она просто нажимала кнопку "E" с интервалом, 0,1 секунда, и включалась\выключалась по нажатию, на...

ожидание нажатия пробела - C++
Добрый вечер, а может уже и ночь, помогите кому не лень, программа должна выполнять свою работу( в моем случае она издает сигналы кода...

Имитация нажатия кнопки - C++
как программно сымитировать нажатие кнопки в программе нужно нажать кнопку PgUp а на клавиатуре ее нет как это можно сделать


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.03.2010, 15:17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru