getasynckeystate



Автор Ёерый задал вопрос в разделе Другие языки и технологии

Не работает функция GetAsyncKeyState в PureBasic и получил лучший ответ

Ответ от EBFE[гуру]
>должен возвращать 0
почему?
(v=vs.85).aspx
>If the function succeeds, the return value specifies whether the key was
>pressed since the last call to GetAsyncKeyState, and whether the key is
>currently up or down. If the most significant bit is set, the key is down,
>The return value is zero for the following cases:
>The current desktop is not the active desktop
>The foreground thread belongs to another process and the desktop does not allow the hook or the journal record.
Нигде не стоит, что будет 0, если не нажата клавиша 😉
т. е не зря на си все пишут if ( GetAsyncKeyState(VK_Z) & 0x8000 != 0) {key_down}
просто проверяйте именно этот бит.

Ответ от Ўрий Иванов[новичек]
Почему должно возвращать 0?
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение устанавливает, была ли клавиша нажата начиная с последнего вызова функции GetAsyncKeyState, и является ли клавиша в настоящий момент отпущенной или нажатой. Если старший значащий бит установлен, клавиша находится в нажатом состоянии, а если самый младший значащий бит установлен, клавиша была нажата после предыдущего вызова GetAsyncKeyState. Однако, вам не следует полагаются на это последний характер изменения; для получения дополнительной информации, см. раздел Замечания.
Windows NT/2000/XP: Возвращаемое значение равно нулю для ниже перечисленных случаев:
Текущий рабочий стол - не активный рабочий стол
Приоритетный поток принадлежит другому процессу, а рабочий стол не разрешает работу процедуры-ловушки (hook) или запись в журнал.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Не работает функция GetAsyncKeyState в PureBasic
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*