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

Состояния клавиш - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Преобразовать массив целых чисел Х по следующему правилу: http://www.cyberforum.ru/cpp-beginners/thread604251.html
Преобразовать массив целых чисел Х по следующему правилу: а) все отрицательные элементы массива Х перенести в его начало, а все остальные в конец, сохраняя исходное расположение, как среди отрицательных, так и среди остальных элементов; б) элементы массива Х циклически сдвинуть на k позиций влево.
C++ Составить алгоритм нахождения n первых пар близнецов Близнецами называются два простых числа, разность между которыми равна двум, например, 3 и 5, 11 и 13. Составьте алгоритм нахождения n первых пар близнецов. http://www.cyberforum.ru/cpp-beginners/thread604250.html
Вычислить F x и F y по формулам C++
6. Вычислить F x и F y по формулам F x = 2*x*y –y2 , F y = x2 – 2*x*y, если выполнено условие x > y. При x  y вычислить F x по второй формуле, а F y – по первой.
Указатель на структуру (нарушение прав доступа) C++
Здравствуйте. Подскажите пожалуйста. struct e2 { int field; } e1; struct v2 { int field;
C++ Не могу получить доступ к файлам http://www.cyberforum.ru/cpp-beginners/thread604238.html
Доброго времени суток! Моя программа не может получить доступ к файлам - текстовым и exe... Компилируется отлично, но запись в файл не производит, прочитать из файла ничего не может (выдает ошибку при попытке использования якобы прочтенных данных). Текстовые файлы проверяются на возможность их чтения и иногда - на запись, для исполняемых файлов проверяется сам факт их существования. И по...
C++ заполнить массив и при этом вывести его на экран, выполнить операции над массивом Составьте программу на языке С++. Программа должна иметь пользовательское меню, которое позволяет: заполнить массив и при этом вывести его на экран, выполнить операции над массивом и посмотреть результаты, закрыть программу. Дано: Одномерный массив из 17 элементов случайным образом заполняется целыми числами из диапазона. Определить, каких элементов массива больше, четных или нечетных. подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619

Состояния клавиш - C++

13.06.2012, 10:04. Просмотров 669. Ответов 5
Метки (Все метки)

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
28
29
30
31
32
33
34
35
36
37
38
39
 Statuses.Forward  =((GetAsyncKeyState(Keys.Forward  )&0x8000)==0x8000);
 Statuses.Back     =((GetAsyncKeyState(Keys.Back     )&0x8000)==0x8000);
 Statuses.RightTurn=((GetAsyncKeyState(Keys.RightTurn)&0x8000)==0x8000);
 Statuses.LeftTurn =((GetAsyncKeyState(Keys.LeftTurn )&0x8000)==0x8000);
 Statuses.RightStep=((GetAsyncKeyState(Keys.RightStep)&0x8000)==0x8000);
 Statuses.LeftStep =((GetAsyncKeyState(Keys.LeftStep )&0x8000)==0x8000);
 Statuses.Quick    =((GetAsyncKeyState(Keys.Quick    )&0x8000)==0x8000);
 Statuses.Slow     =((GetAsyncKeyState(Keys.Slow     )&0x8000)==0x8000);
 if ((!Statuses.Quick)&&(!Statuses.Slow))
 {
  Speed=1.0;
 }
 if ((Statuses.Quick)&&(!Statuses.Slow))
 {
  Speed=2.0;
 }
 if ((!Statuses.Quick)&&(Statuses.Slow))
 {
  Speed=0.5;
 }
 if ((Statuses.Quick)&&(Statuses.Slow))
 {
  Speed=1.5;
 }
 if ((GetAsyncKeyState(Keys.Exit)&0x8000)==0x8000)
 {
  Statuses.ExitQuery=true;
 }
 if (Statuses.ExitQuery)
 {
  if ((GetAsyncKeyState(Keys.Yes)&0x8000)==0x8000)
  {
   Statuses.Exit=true;
  }
  if ((GetAsyncKeyState(Keys.No)&0x8000)==0x8000)
  {
   Statuses.ExitQuery=false;
  }
 }
В принципе, работает, отличает левый shift от правого, но при выключенном NumLock принимает цифры цифрового блока за кнопки управления кареткой. А мне надо во-первых различать при любом состоянии NumLock, а во-вторых цифры должны распознаваться одинаково не зависимо от состояния NumLock. Как это исправить? Левые shift, ctrl и alt надо отличать от правых. Цифры и точка в цифровом блоке должны опознаваться как таковые, не зависимо от состояния NumLock и ни когда не приниматься за кнопки управления кареткой и inset, home, page up, delete, end, page down. Как это сделать? И где брать коды клавиш? В тех, что есть я не нашёл даже кнопку с точкой и знаком > (на которой русская "Ю").
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru