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呢?

4个回答

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

hcli168
waesaeasea 左键状态。
2 年多之前 回复

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

hcli168
waesaeasea 是的没错,但是不写第二个直接就输出1122了。我希望按下左键才输出1122
2 年多之前 回复

GetAsyncKeyState(1)是什么意思

hcli168
waesaeasea 左键状态
2 年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问