[英]GetAsyncKeyState - checking most significant bit in C#
我正在嘗試檢測何時使用GetAsyncKeyState主動按下了一個鍵(因為我也想利用異步檢查)。
屏蔽最高有效位並檢查非零值應該可以解決我的問題,但是我軟件的某些用戶發現檢測到隨機按鍵沒有被按下,這是我的方法是否有問題?有什么我不知道的因素嗎?
[DllImport("user32.dll")]
private static extern short GetAsyncKeyState(Keys vKey);
public static bool IsKeyDown(Keys vKey)
{
return ((GetAsyncKeyState(vKey) & 0x8000) != 0);
}
慣用的方法是測試返回值是否為負:
return ((GetAsyncKeyState(vKey) < 0);
但是您的代碼執行相同的操作。 所以我想您的問題出在其他地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.