Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание консоли!

724
09 апреля 2003 года
_anton
100 / / 04.11.2002
Делал под OpenGl консоль на CPP.Использовал WM_KEYDOWN/UP .
wParam - ясно , а lParam вроде возвращает 32 битное слово.
Пытаюсь прочитать состояние каждого бита (0 или 1) следующим
образом :

значение & маска == маска, если бит УСТАНОВЛЕН и
значение & маска == 0, если бит СБРОШЕН
маска у меня - 0x01 , 0x02 , 0x04 , 0x08 , 0x10 и т.д.

Весь прикол в том ,что код подобным образом работает только если маска - константа. Ну не делать же мне 32 константы - маски.Я попытался загнать маски в массив и сделал его const ,но
всё равно не работает как надо и пишет:

warning C4554: '&' : check operator precedence for possible error;
use parentheses to clarify precedence

Помогите please!

Кстати!
1. А почему не различаются right/left shift/ctrl/enter ?
2. Как из своей проги преключать caps,num,scroll lock'и? (чтобы индикация на клаве менялась)
3. Может где-то есть пример готовой консоли - хотелось бы глянуть!
1.9K
10 апреля 2003 года
sercher
60 / / 21.03.2003
Смотри приоритеты операций! Писать надо так:

if((значение & маска) == маска){}


>Как из своей проги преключать caps,num,scroll lock'и? (чтобы индикация на клаве менялась)


SetKeyboardState() или:


#include <windows.h>

void SetNumLock( BOOL bState )
{
BYTE keyState[256];

GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||
(!bState && (keyState[VK_NUMLOCK] & 1)) )
{
// Simulate a key press
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | 0,
0 );

// Simulate a key release
keybd_event( VK_NUMLOCK,
0x45,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}

void main()
{
SetNumLock( TRUE );
}
724
10 апреля 2003 года
_anton
100 / / 04.11.2002
sercher
Спасиба! Я бы продолжал тупить , если б не ты!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог