![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| ИванМ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
Почему код
работает (при нажатии left control появляется "pressed") а код
не работает? |
||||
|
|||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
1. вообще, GetKeyState возвращает знаковое слово, а не байт
статус - старший его бит, т.е. тестировать нужно просто знак:
а BYTE - беззнаковый 2. если при преобразовании short -> int знак перейдет как есть, то при преобразовании BYTE -> int знака не будет, т.е. в обоих случаях тестируемые значения заведомо различны, вобщем, либо убирай посредника int, либо конкретно проверяй в каждом случае свой старший бит -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
GremlinProg, спасибо. Этот код тоже не работает:
Выводит "pressed" если я удерживаю left control при запуске программы. Если же я нажимаю его во время, то ничего не происходит. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
а попробуй поставить этот код конкретно во время IDLE: http://forum.vingrad.ru/act-Search/CODE/sh...idle/index.html
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
GremlinProg, у меня вообще консольное приложение.
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
т.е. в то время, когда из очереди уже выбраны все клавишные сообщения:
Добавлено через 7 минут и 43 секунды тогда, по идее, можно просто подождать пока GetInputState вернет FALSE (очередь не зависит от типа приложения, она привязана только к потоку) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: нет Всего: 23 |
Тоже самое. Это сообщение отредактировал(а) ИванМ - 2.11.2009, 00:50 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |