c语言中鼠标函数 c语言如何获取鼠标点击位置

win10中c语言无法响应鼠标函数在控制台窗口c语言中鼠标函数,点击鼠标右键c语言中鼠标函数,选择属性,将选项中的“快速编辑模式(Q)”关掉 ,
并选择旧版控制台 , 重新启动即可 。
c语言如何实现控制鼠标可以 , 需要调用windowsAPI函数 。
头文件windows.h 。
简单思路:
通过GetStdHandle获取标准输入句柄 。
再通过ReadConsokeInput将输入信息存储到结构体类型INPUT_RECODE变量中 。
再通过判断,截取到鼠标电击的事件 。
具体API函数、参数、功能还有很多 。需要网上找资料可以学 。
我这里就简单写一个,鼠标点击控制台任意位置,并在该位置打印字符串 。
#include stdio.h
#include windows.h
int main()
{
HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
INPUT_RECORD inRec;
DWORD res;
COORD p0;
while(1)
{
ReadConsoleInput(hInput, inRec, 1, res);
if (inRec.EventType == MOUSE_EVENTinRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键
{
p0.X=inRec.Event.MouseEvent.dwMousePosition.X;
p0.Y=inRec.Event.MouseEvent.dwMousePosition.Y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
printf("你在这里点击的左键\n");
}
}
return 0;
}
c语言如何获取鼠标键盘信息我估计你分数给的在高也没人回答 。来个这样的代码太麻烦了 。而且百度金币用处也不大 。
不过,我可以写几个鼠标函数给你参考一下 。
首先了解一下鼠标的中断 。
_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(_bx1);
}
-----------------------------------------------------
鼠标右键的应该也会了吧 。不过要return(_bx2);
-----------------------------------------------------
void
mousegetxy(void)//得到当前位置
{
_ax
=
0x33;
geninterrupt(0x33);
mousex
=
_cx;
mousey
=
_dx;
}
---------------------------------------------------------------
最好要复制粘贴,打字打得手疼 。
c语言:鼠标和键盘函数的相关问题通过调用API
mouse_event,SetCursorPos实现鼠标c语言中鼠标函数的模拟
给c语言中鼠标函数你点简单c语言中鼠标函数的代码自己研究下
想自己动手是好事
Private
Declare
Sub
mouse_event
Lib
"user32"
(ByVal
dwFlags
As
Long,
ByVal
dx
As
Long,
ByVal
dy
As
Long,
ByVal
cButtons
As
Long,
ByVal
dwExtraInfo
As
Long)
Private
Declare
Function
SetCursorPos
Lib
"user32"
(ByVal
x
As
Long,
ByVal
y
As
Long)
As
Long
Const
MOUSEEVENTF_LEFTDOWN
=
H2
Const
MOUSEEVENTF_LEFTUP
=
H4
Const
MOUSEEVENTF_MIDDLEDOWN
=
H20
Const
MOUSEEVENTF_MIDDLEUP
=
H40
Const
MOUSEEVENTF_MOVE
=
H1
Const
MOUSEEVENTF_ABSOLUTE
=
H8000
Const
MOUSEEVENTF_RIGHTDOWN
=
H8
Const
MOUSEEVENTF_RIGHTUP
=
H10
Private
Sub
Command1_Click()
SetCursorPos
Val(400),
Val(0)
mouse_event
MOUSEEVENTF_LEFTDOWN
Or
MOUSEEVENTF_LEFTUP,
0,
0,
0,
End
Sub
Private
Sub
Command2_Click()
mouse_event
MOUSEEVENTF_MOVE,
210,
200,
0,
SetCursorPos
Val(300),
Val(300)
mouse_event
MOUSEEVENTF_RIGHTDOWN
Or
MOUSEEVENTF_RIGHTUP,
0,
0,
0,
End
Sub
【c语言中鼠标函数 c语言如何获取鼠标点击位置】关于c语言中鼠标函数和c语言如何获取鼠标点击位置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读