c语言 获取鼠标键盘事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 获取鼠标键盘事件相关的知识,希望对你有一定的参考价值。

[高分:100分]请问c语言如何获取鼠标键盘事件? 这----应该不是一个太难的问题。但我的要求是: 1.关键代码应有注释(我是来学c语言的,不是来复制粘贴的!) 2.最好能做到不使用死循环(注意:这里的关键词是“最好”,即你也可以做不到) 3.请自行编译通过...(限定在TC2.0, ***注意vc、tc3.0、tc++等不算*** ) 不难吧...(答的好加分+++)

参考技术A 我估计你分数给的在高也没人回答。来个这样的代码太麻烦了。而且百度金币用处也不大。
不过,我可以写几个鼠标函数给你参考一下。
首先了解一下鼠标的中断。
_AX=0x01
表示显示光标
_AX=0x02
停止显示光标
_AX=0x03
读取光标位置与案件
_AX=0x04
设置光标位置
所以啊。根据这四个中断,有以下几个函数
----------------------------------------------------
void
MouseOn(void)//鼠标光标显示

_AX
=
0x01;
geninterrupt(0x33);

----------------------------------------------------
void
MouseOff(void)//鼠标光标隐藏

_AX
=
0x02;
geninterrupt(0x33);

---------------------------------------------------
void
MouseSetXY(int
x,int
y)//设置当前位置

_CX
=
x,
_CD
=
y;
_AX
=
0x04;
geninterrupt(0x33);

---------------------------------------------------
int
LeftPress(void)//鼠标左键按下

_AX
=
0x33;
geninterrupt(0x33);
return(_BX&1);

-----------------------------------------------------
鼠标右键的应该也会了吧。不过要return(_BX&2);
-----------------------------------------------------
void
MouseGetXY(void)//得到当前位置

_AX
=
0x33;
geninterrupt(0x33);
MouseX
=
_CX;
MouseY
=
_DX;

---------------------------------------------------------------
最好要复制粘贴,打字打得手疼。

时间对象,键盘事件,鼠标跟随

e.clientX      e.clientY  获取鼠标相对于可视区的坐标值(能看到的页面,当鼠标下滑,还是相对于能看到的位置,和整个页面的位置不同,体现在鼠标滑动出现滚动条的时候)

e.offsetX      e.offsetY    获取鼠标相对于事件源的坐标值(点击一个div,就是相对于div的坐标)

e.pageX      e.pageY  获取鼠标相对于整个页面的坐标值 (鼠标下滑,出现滚动条,它获取的是到当前页面的位置)

e.screenX      e.screenY  获取鼠标相对于当前设备的坐标值

使用方式

document.onclick=function(e){

  var e=e || event;         后者为了IE的兼容性

  console.log(e.clientX  , e.clientY)       // 打印鼠标点击的位置

}

 

document.documentElement.clientWidth       //获取当前可视区的宽度

document.documentElement.clientHeight    //获取当前可视区的高度

 

 

技术分享图片

 

以上是关于c语言 获取鼠标键盘事件的主要内容,如果未能解决你的问题,请参考以下文章

C# winform 屏蔽键盘事件 和 鼠标右键

时间对象,键盘事件,鼠标跟随

事件对象(鼠标键盘)

pyHook监听用户鼠标键盘事件

c语言 怎样模拟鼠标键盘操作?

c#WinForm鼠标和键盘触发事件问题