Как проверить нажата ли кнопка на клавиатуре?
От: k55 Ниоткуда  
Дата: 28.01.08 09:38
Оценка:
Хчется в любой момент проверить а нажатали кнопка CTRL (к примеру) на клавиатуре.
Есть ли API или в MFC.
Вообще есть ли возможность опроса клавы?
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Re: Как проверить нажата ли кнопка на клавиатуре?
От: creatman Германия  
Дата: 28.01.08 09:43
Оценка:
Здравствуйте, k55, Вы писали:

k55>Хчется в любой момент проверить а нажатали кнопка CTRL (к примеру) на клавиатуре.

k55>Есть ли API или в MFC.
k55>Вообще есть ли возможность опроса клавы?

функция API: GetAsyncKeyState


Re: Как проверить нажата ли кнопка на клавиатуре?
От: AlexLinch Украина  
Дата: 28.01.08 09:49
Оценка:
Здравствуйте, k55...

посмотри в сторону GetKeyState

http://msdn2.microsoft.com/en-us/library/ms646301.aspx
Re[2]: Как проверить нажата ли кнопка на клавиатуре?
От: Nikolaz Германия www.nikeware.com
Дата: 28.01.08 10:15
Оценка:
Здравствуйте, creatman, Вы писали:

C>функция API: GetAsyncKeyState


+ сам код:

#define KEY_PRESSED(key) (GetKeyState(key) & 0x8000)
#define KEY_PRESSEDA(key) (GetAsyncKeyState(key) & 0x8000)
#define MAGIC_KEYS (KEY_PRESSED(VK_CONTROL) && KEY_PRESSED(VK_SHIFT))


Re[3]: Как проверить нажата ли кнопка на клавиатуре?
От: creatman Германия  
Дата: 28.01.08 11:53
Оценка: :)
Здравствуйте, Nikolaz, Вы писали:

N>Здравствуйте, creatman, Вы писали:


C>>функция API: GetAsyncKeyState


N>+ сам код:


N>
N>#define KEY_PRESSED(key) (GetKeyState(key) & 0x8000)
N>#define KEY_PRESSEDA(key) (GetAsyncKeyState(key) & 0x8000)
N>#define MAGIC_KEYS (KEY_PRESSED(VK_CONTROL) && KEY_PRESSED(VK_SHIFT))
N>


N>


Еще лучше как-нибудь так

class Keyboard
{
public:

   static bool Esc() const;
   static bool Ctrl() const;
   static bool Alt() const;
   ...
};




Re: Как проверить нажата ли кнопка на клавиатуре?
От: L.Jenya  
Дата: 28.01.08 22:40
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

Здравствуйте, k55, Вы писали:

k55>Хчется в любой момент проверить а нажатали кнопка CTRL (к примеру) на клавиатуре.

k55>Есть ли API или в MFC.
k55>Вообще есть ли возможность опроса клавы?

BYTE by[256] = {0};

if(GetKeyboardState(by))
{
if(by[VK_LCONTROL] != 0 || by[VK_RCONTROL] != 0)
    AfxMessageBox("Press... key CTRL");
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.