Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2016, 15:29   #1
nomerochek
Новичок
Джуниор
 
Регистрация: 13.09.2016
Сообщений: 8
По умолчанию Почему не работает пробел?

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

public static extern int GetAsyncKeyState(int vKey);

.............

while (GetAsyncKeyState(32) > 0)
{

............

32- это пробел, когда я пытаюсь нажать пробел ничего не происходит, но когда я ввожу, допустим, 8(backspace) то все начинает работать. В чем проблема?
nomerochek вне форума Ответить с цитированием
Старый 13.09.2016, 15:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, для начала, функцию нужно описать правильно. возвращаемое значение должно быть short, а не int

Код:
public static extern short GetAsyncKeyState(int vKey);
во-вторых, я бы проверял на неравенство нулю

Код:
GetAsyncKeyState(32) != 0
ну и для красоты, наглядности, вместо 32 я бы использовал Keys.Space:
Код:
GetAsyncKeyState(Keys.Space) != 0

Последний раз редактировалось Serge_Bliznykov; 13.09.2016 в 15:47.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.09.2016, 17:48   #3
nomerochek
Новичок
Джуниор
 
Регистрация: 13.09.2016
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, для начала, функцию нужно описать правильно. возвращаемое значение должно быть short, а не int

Код:
public static extern short GetAsyncKeyState(int vKey);
во-вторых, я бы проверял на неравенство нулю

Код:
GetAsyncKeyState(32) != 0
ну и для красоты, наглядности, вместо 32 я бы использовал Keys.Space:
Код:
GetAsyncKeyState(Keys.Space) != 0
Я хочу от тебя детей!!!СПАСИБО БОЛЬШОЕ
nomerochek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему прсер работает на одних сайтах и не работает на других PHP_DELETANT PHP 4 12.02.2016 13:45
Здравствуйте ! в чем проблема,почему почему время исполнения операций не работает ? ion leahu Помощь студентам 6 23.11.2014 19:36
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Почему в конце, строки записанной в файл, появляется пробел? 8Observer8 Win Api 2 24.01.2011 17:32
Как заменить обычний пробел на неразрывный пробел Jaroslav Microsoft Office Excel 2 05.05.2010 11:57