регистр состояния клавы
struct stkeybits {
unsigned char
ucrshift : 1,
uclshift : 1,
ucctrl : 1,
ucalt : 1,
ucscroll : 1,
ucnumlock : 1,
uccapslock : 1,
ucinsert : 1;
};
struct stkeybits stkey_register;
//как можно изменить состояние, например, нажата/ненажата capslock???
//обратиться вроде:
stkey_register.uccapslock = 1;
//невыходит
Цитата:
Originally posted by Helicopterr
Есть регистр состояния клавиатуры порт(417h). К его битам можно получить доступ c пом. ~ такой структуры для побитового обращения:
struct stkeybits {
unsigned char
ucrshift : 1,
uclshift : 1,
ucctrl : 1,
ucalt : 1,
ucscroll : 1,
ucnumlock : 1,
uccapslock : 1,
ucinsert : 1;
};
struct stkeybits stkey_register;
//как можно изменить состояние, например, нажата/ненажата capslock???
//обратиться вроде:
stkey_register.uccapslock = 1;
//невыходит
Есть регистр состояния клавиатуры порт(417h). К его битам можно получить доступ c пом. ~ такой структуры для побитового обращения:
struct stkeybits {
unsigned char
ucrshift : 1,
uclshift : 1,
ucctrl : 1,
ucalt : 1,
ucscroll : 1,
ucnumlock : 1,
uccapslock : 1,
ucinsert : 1;
};
struct stkeybits stkey_register;
//как можно изменить состояние, например, нажата/ненажата capslock???
//обратиться вроде:
stkey_register.uccapslock = 1;
//невыходит
Лучше используй SendInput
Так же посмотри для проверки состояния GetKeyboardState, GetAsyncKeyState, GetKeyState
А записать спруктуру в порт состояния клавы - это другое . ;) Проверь запись в порт отладчиком .
Если нет то почитай литературу по клаве (счас не помню , но кажись там какойто протокол записи в порт состояния клавы ).
Символы : 1 напротив члена структуры говорят о том, что обращение будет происходить к отдельному биту.