Go语言:监听某个键盘按键是否被按下
package main
/*
#include <windows.h>
int KeyDown(int key) {
// 数据兼容:因为 GetKeyState() 不接受小写字母
if (key > 96 && key < 123) key -= 32;
// 获取按下的键的状态,返回 0 则表示没按,其他情况表示按了
return (GetKeyState(key) < 0) ? 1 : 0;
}
*/
import "C"
import "time"
func main() {
for {
// 监听按键 a,按下时返回 1,没按下时返回 0
a := int(C.KeyDown('a'))
println(a)
// 延迟 500毫秒 后再接收,避免接收太快
time.Sleep(500 * time.Millisecond)
}
}