gdsdzrb
驱动牛犊
驱动牛犊
  • 注册日期2002-02-21
  • 最后登录2002-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1738回复:2

dos下MOUSE DRIVER的

楼主#
更多 发布于:2002-04-09 20:57
我正在写一个dos下MOUSE测试程序╋我希望在这个测试程序里面集成mouse driver,请问如何编写这个driver呢
huxiangming
驱动牛犊
驱动牛犊
  • 注册日期2002-03-14
  • 最后登录2002-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-10 12:42
鼠标驱动程序
    必须安装鼠标设备驱动程序,用户程序才能使用鼠标服务功能。依据驱动程序类型,用户或使用CONFIG.SYS安装,

访问鼠标服务功能
    通过Int 33H可使用鼠标服务功能。与D0S和BIOS服务相同,通过将参数赋子指定的寄存器,用户程序可访问鼠标服务。若用户使用Turbo Pascal编程,则使用Intr函数访问鼠标服务;若使用c编程,则使用int86函数访问鼠标服务;若使用QuickBasic编程,则使用QB.QLB库中提供的Interrupe子例程访问鼠标服务。

文本方式鼠标光标
    缺省时,鼠标驱动程序显示一矩形文本方式光标。使用Int 33H功能0AH,用户程序可定制文本方式光标。

响应鼠标按动
    鼠标驱动程序允许用户程序响应鼠标的按压或释放操作、Int 33H功能5H指示鼠标驱动程序返回指定鼠标按钮(0=左侧按钮,1=右侧按钮,2=中间接铅)的按压信息。同样,Int 33H功能6H返回鼠标按钮的释放信息。

控制鼠标光标
    缺省时,用户可在整个显示屏幕上移动鼠标光标,在用户应用中,有时需要将鼠标光标位移限制在屏幕上的一个指定区域内。Int 33H功能7H用户实现这一功能。该功能允许用户程序指定―矩形屏幕区域,超出该区域.鼠标光标不能移劝。

定制鼠标光标
    Inl33H功能oAH允许用户定制文本方式鼠标光标。同样,Int 33H功能09日允许用户定制图形方式鼠标光标。上述二个功能使用称为屏幕和光标使掩码的两个位掩码。开始.鼠标驱动程序梅屏幕掩码与鼠标光标驻留的当前屏幕图象相与(AND))。之后,驱动程序将与(AND)后的结果和光标掩码内容进行异或(Excinsve OR)以获得实际显示的光标的位掩码。

了解鼠标位移
    如同鼠标驱动程序允许用户积序跟踪鼠标按钮按压和释放操作―样,驱动程序也允许用户程序跟踪鼠标位移。驱动程序泪微键定义飘标位移。――个微键为1/200英寸。Int33功能0EH返回描述自上次位移后又移动的X和1偏移量(以微秒计)。负的x值意昧著向左位移,负的Y值意味着用户离开了。

保存和恢复鼠标状态
    若用户的鼠际驱动的程序调用―个也使用鼠你的子程序.则用户程序在调用于程序前应
保存当前鼠标状态,在于程序执行完毕再恢复鼠标状念。Int 33H功能16H保存鼠标状态至一

了解鼠标位移
    用户程序定义的缓冲区,其后功能17H再恢复该状态。

鼠标事件处理程序
    如同D0S允许用户程序安装关键错误或ctrl。Break处理程序,鼠标驱动程序也允许用户程序捕获和响应各种鼠标操作。与使用IRET返回的大多数中断处理程序不同,鼠标事件处理程序是正常的功能,使用BE丁返回至调用程序。
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-09 23:15
你在网上搜一下吧!这个本站好象没有这方面的资料和例子,但是我知道网上一定有的!还有就是你查一查一些中断方面的书
游客

返回顶部