| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1371 人关注过本帖
标题:最简单鼠标驱动.
取消只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
 问题点数:0 回复次数:2 
最简单鼠标驱动.
[CODE]
/*
(1)、功能00H
功能描述:初始化鼠标,该操作只需要执行一次
入口参数:AX=00H
出口参数:AX=0000H——不支持鼠标功能,FFFFH——支持鼠标功能
BX=鼠标按钮个数(在支持鼠标功能时)
在支持鼠标功能的情况下,鼠标还被设置如下参数: 1、鼠标指针放在屏幕中央
2、如果当前鼠标指针是显示的,则操作后,鼠标指针被隐藏
3、鼠标指针的显示页为0
4、根据屏幕的显示模式显示鼠标指针:文本—反向显示矩形块,图形—尖头形状
5、水平象素比=8:8,垂直象素比=16:8
6、设置水平和垂直的显示边界为当前显示模式的最大边界
7、允许光笔仿真
8、双速门槛值=64
(2)、功能01H
功能描述:显示鼠标指针,通常在鼠标初始化后,用此功能显示其指针
入口参数:AX=01H
出口参数:无
(3)、功能02H
功能描述:隐藏鼠标指针,一般在程序结束时,调用此功能
入口参数:AX=02H
出口参数:无

作者:ioriliao
编写日期:2008.01.05
修改日期:2008.01.05

编译环境:bc3.0
*/
#include <stdio.h>
void mouse_init(void);
void mouse_show(void);
void mouse_hide(void);
typedef void (*fun)(void);
typedef enum{mouseInit, mouseShow, mouseHide}ctrlType;
fun* fun_count[]={mouse_init, mouse_show, mouse_hide};
void mouse_control(ctrlType ctrltype);

int main(void)
{
    mouse_control(mouseInit);
    mouse_control(mouseShow);
    getchar();
    mouse_control(mouseHide);
    return 0;
}
//mouse init
void mouse_init(void)
{
    unsigned int axx,bxx;
    asm mov ax,0x0;
    asm int 0x33;
}
//mouse show
void mouse_show(void)
{
    unsigned int x,y;
    asm mov ax,0x1;
    asm int 0x33;
}
//void mouse hide
void mouse_hide(void)
{
    asm mov ax,0x2;
    asm int 0x33;
}
//mouse control
void mouse_control(ctrlType ctrltype)
{
    fun* function=fun_count;
        function[ctrltype]();
}
[/CODE]
在此献下丑.
小弟才疏学浅,望硬件编程的前辈们高手们多多指点.

[[italic] 本帖最后由 ioriliao 于 2008-1-5 20:33 编辑 [/italic]]
搜索更多相关主题的帖子: 鼠标 指针 驱动 屏幕 
2008-01-05 20:29
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
这个我就不大清楚了灭火兄,不过好像有个库叫dos.h有类似的函数么?
对于C的库我真的知道比较少.
2008-01-05 21:21
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
个人认为还是使用有内联汇编会比较有意思点...
对于C的各种函数库我了解得很少,我除了对C的语法
是了解之外(还不算很通呢),其它的可以说是一无所知了.
2008-01-05 23:27
快速回复:最简单鼠标驱动.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011638 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved