备注:
- 此方法只能用于监听
主键盘区的 数字键 和 字母键
-
特殊功能键
需要换一种方法逐个的实现(代码很长)
- 此方法只能监听
一个按键
,修改源码 CGO 的部分才能 同时监听多个按键
代码实例:
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)
}
}
网友评论