Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
3 / 3 / 1
Регистрация: 28.07.2011
Сообщений: 105
1

Подменить нажатую клавишу

15.12.2011, 12:20. Показов 955. Ответов 1
Метки нет (Все метки)

Народ помогите пожалуйста как на c++ осуществить вот такую вещь...: чтобы при физическом нажатии клавиши R програмно нажималась клавиша 1.... Помогите плиз) Заранее благодарен..

Добавлено через 1 час 40 минут
up!!!!
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2011, 12:20
Ответы с готовыми решениями:

Как глобально подменить нажатую клавишу на другую
В старой компьютерной игре Diablo 1 нельзя менять управление в настройках. Буква "E" свободна....

Считать нажатую клавишу
Я когда-то это делал, но не помню, как. Помнится, там было что-то вроде uses GraphABC; ...

Реакция на нажатую клавишу
type TForm1 = class(TForm) Label1: TLabel; procedure FromKeyPress(Sender: TObject; var...

Событие на нажатую клавишу
Здравствуйте! Мне нужно отслеживать нажатие клавиши ESC и создать на неё событие, но отслеживать...

1
933 / 758 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
15.12.2011, 20:55 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <windows.h>
 
void  GenKeyboard(CHAR key) {
    BYTE s = (BYTE)MapVirtualKey((UINT)key, 0u);
    BYTE k = (BYTE)VkKeyScan(key);
    keybd_event(k, s, KEYEVENTF_EXTENDEDKEY | 0u, 0u);
    keybd_event(k, s, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0u);
}
 
int main() {
   printf("push key-'R':");
   while(1) {
       if(GetAsyncKeyState('R')) {
              GenKeyboard('1');  // генерируем нажатие клавиши-1
              break;            
       }
    }
 
   // примерчик
   for(const CHAR*  str = "\nhello world"; *str; *str++)
          GenKeyboard(*str);
   getchar();
   fflush(stdin);
   getchar();
   return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2011, 20:55

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Переменная, указывающая на нажатую клавишу
1. Есть ли в С# переменная, указывающая на нажатую клавишу? Например в Delphi я писал так вроде...

Как зациклить проверку на нажатую клавишу?
public static void Main(string args) { ConsoleKey K = Console.ReadKey().Key; ...

Как считать нажатую клавишу глобально?
Моя программа работает в фоновом режиме. Мне нужно считать нажатую клавишу, чтобы выполнить...

Клавиатурный хук, отображающий нажатую клавишу, а не код
Нужен клавиатурный хук отображающий нажатую клавишу,не код!,пытался сделать это функцией ToAscii,но...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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