c#中的win32api(GetAsyncKeyState)函数编程问题

c#中

 when(true){

 if (GetAsyncKeyState(1) != 0 && GetAsyncKeyState(1) != 1)     {

 Console.WriteLine("11")
  if (GetAsyncKeyState(1) != 0 && GetAsyncKeyState(1) != 1) {
    Console.WriteLine("22")

    }


 }


 }

我想按下左键输出11,但是发现每次开始循环会先输出一个11,按下以后输出11和22。我没按左键为什么会输出一个11呢?

你俩个判断语句的条件都写的一样

左键的key码不是1吧。GetAsyncKeyState(1)是什么意思

GetAsyncKeyState(1)是什么意思

1、GetAsyncKeyState是一个用来判断函数调用时指定虚拟键的状态,确定用户当前是否按下了键盘上的一个键的函数,当按下时为1,抬起时为0,没有操作是空
2、when(true)是不是应该改为While(true)
3、你的循环里两个判断语句是一样的,没意义