Cuick
驱动牛犊
驱动牛犊
  • 注册日期2002-04-30
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2024回复:13

键盘上有键按下,会产生中断,但是WINDOWS操作系统是怎么知道有键按下呢?驱动程序里应该怎么写?

楼主#
更多 发布于:2002-05-28 14:42
怎么没有人回答??
百芳园里欲独艳, 万艳丛中却自芳。
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-28 15:21
Windows 用VKD管理键盘,VtoolsD提供了HotKey类来处理键盘类
我不仅要金子,我还要点石成金的手指!
du_lin
驱动小牛
驱动小牛
  • 注册日期2002-01-26
  • 最后登录2005-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-28 15:56
能不能将一将Windows系统是怎样得到一个键的??
Cuick
驱动牛犊
驱动牛犊
  • 注册日期2002-04-30
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-28 15:56
我用WDM开发,刚学,能否讲明白些???
百芳园里欲独艳, 万艳丛中却自芳。
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-28 17:07
因为每次按下一个键都会激发相应的硬中断,而所有的操作系统对一些特定的硬中断都要做相应的处理。操作系统怎么知道有中断呢?因为外设告诉了中断控制器,中断控制器又告诉了CPU,操作系统是从CPU那儿知道的。
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-28 17:24
建议你看看微机原理之类的书
我不仅要金子,我还要点石成金的手指!
Cuick
驱动牛犊
驱动牛犊
  • 注册日期2002-04-30
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-28 17:36
是不是,当系统发现有有键按下才去读取键值呢?
这么说,我只要在收到IRP_MJ_READ时再去读键盘的扫描吗就可以了,是不是这样?
百芳园里欲独艳, 万艳丛中却自芳。
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-28 22:25


建议你看看微机原理之类的书.

同意trent!

看来你的一些基本概念还不太清楚。

漫漫来吧。。。。。。。。。。。。。。。。。。。
[color=red]大头鬼! :P[/color]
Cuick
驱动牛犊
驱动牛犊
  • 注册日期2002-04-30
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-05-29 08:48
你们这些人呀!!!
动不动就说去看什么什么书,你可不可以告诉我一个准确的答案?就是如果自己写键盘驱动程序就别管中断了,只管处理读消息就行了???我觉得你还不如建议我去看操作系统这本书呢。
百芳园里欲独艳, 万艳丛中却自芳。
thundersp
驱动牛犊
驱动牛犊
  • 注册日期2002-03-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-05-29 12:32
按下键盘会产生一个中断,CPU来处理这个中断
RobinWu
驱动牛犊
驱动牛犊
  • 注册日期2001-10-16
  • 最后登录2008-12-08
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-05-29 18:33
老实说,你想干吗?
雄鹰的翅膀是飞出来的。
du_lin
驱动小牛
驱动小牛
  • 注册日期2002-01-26
  • 最后登录2005-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-05-29 21:12
是不是有中断后,操作系统发IRP_MN_READ,在从键盘缓冲区读出扫描码来?
Cuick
驱动牛犊
驱动牛犊
  • 注册日期2002-04-30
  • 最后登录2003-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-05-30 08:39
我想写键盘驱动程序,这个键盘有250多个键!!!
百芳园里欲独艳, 万艳丛中却自芳。
shyeagle
驱动老牛
驱动老牛
  • 注册日期2002-04-30
  • 最后登录2007-07-31
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-05-30 12:11
有多少个键都没关系。你的驱动要做两件事:1、截获键按下的消息;2、读取按键的扫描码。然后根据不同的扫描码你爱赶什么就干什么吧。
不要反感大家建议你看书,搞开发基础知识是很必要的。另外在这里你主要是获得方法,而不是具体用那些语句来实现。不同的开发工具都有自己特定的语言,但道理都是相通的。
[url=http://www.01study.com]01空间网[/url] [url=http://www.01study.com/forum/dispbbs.asp?boardID=73&ID=193&skin=0]版主招募[/url] [img]http://shy2003.vip.sina.com/map/yjs.gif[/img]
游客

返回顶部