c++ - 如何找出键盘的地址

标签 c++ c

<分区>

我使用的是 Intel core 2 duo CPU 和 windows 7 操作系统。我听说每个设备都映射到内存中,如果是这样,我怎样才能获得连接到我的系统的键盘地址?我的意图是将键盘输入读入一个可变变量。这可能吗?

最佳答案

那将是您的键盘所连接的 USB Controller 的地址。但是,知道这不会让您直接访问键盘,因为:

  1. 它是一个 USB Controller ,而不是键盘本身。键盘向 USB Controller 发送消息,后者又被操作系统解释为“键盘事件”。

  2. 操作系统保护硬件地址,以便您只能通过适当的设备驱动程序访问它们。

在过去,它甚至不是内存,键盘变成了“键盘 Controller ”芯片,它出现在 I/O 端口 60 和 64(或 60/61 在最原始的 IBM PC 和 XT 中个人电脑)。尽管如此,在现代操作系统中,如果没有设备驱动程序,您就无法“窥视”或“戳”键盘。

关于c++ - 如何找出键盘的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17807879/

相关文章:

c - 用可变数量的参数包装宏

c - 字符串字符丢失?

c - Raspberry Pi - C 程序不写入文本文件

c - 如果没有用户输入(在 C 中)

c++ - 模板化结构中的零大小成员变量

c++ - 这个符号在C++中是什么意思? "~"

c++ - 如何在 Eclipse C++ 项目中创建两个主电源

c - 如何避免在 C 中将字符串作为数组循环?

c++ - 制作 : g++: error: CreateProcess: No such file or directory

c++ - C/C++ Windows API 发送文本到剪贴板