我一直在C#中使用GetAsyncKeyState,我不明白我在这里做错了什么,我希望这输出到控制台,每次我按空间,但它没有。我在这个小问题上花费了很长时间,需要你的帮助!为什么在持有所需密钥时不输出我的文本?
namespace key_input
{
class Program
{
#region DLLS
[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(int vKey);
#endregion
static void Main(string[] args)
{
if (true)
{
Console.ReadLine();
while (GetAsyncKeyState(32) > 0)
{
Console.WriteLine("You are pressing the spacebar!");
}
}
}
}
}
[GetAsyncKeyState文档](https://msdn.microsoft.com/en-us/library/windows/desktop/ms646293(V = vs.85)的.aspx)'备注:GetAsyncKeyState功能可与鼠标按钮.' –
当你的代码开始时,它会触击'ReadLine'方法并等待你按下Enter键。一旦你按下Enter键,代码就会继续进入while循环并检查键的状态。如果没有按下,程序将运行到'Main'方法的末尾并立即退出。如果空格键在检查时没有按下,它将从'while'循环中退出。 –
@ blaze_125 - 此方法不能使用鼠标按钮。文档中的这种说法意味着它可以使用鼠标按钮_also_。 –