У меня очень странная проблема.
Я пытался запустить этот код, и всякий раз, когда я нажимал клавишу пробела, он печатал несколько раз «A», как я хочу.
комментарии: кодвнутри main Key.IsPressed
использует метод WinAPI GetKeyState
, а константа пространства является виртуальным ключом клавиши пробела.
while(true) if(Key.IsPressed(Key.Space)) Console.Write('A');
, но когда я заменяю Console.Write('A');
на System.Windows.Forms.MessageBox.Show("A");
, он показывает сообщениеЯщик только в первый раз, когда я нажимаю клавишу пробела (После я закрываю окно сообщения , а затем снова нажимаю пробел).
Еще страннее, если я меняю ключ из пробела, чтобы ввести егоотлично работает.
Цель состоит в том, чтобы создать скрытую программу-менеджер ярлыков, чтобы я не мог использовать какую-либо программу чтения клавиш, которая нуждается в фокусировке (например, Console.ReadKey
).