永发信息网

如何在c语言中编写用鼠标点击输入

答案:2  悬赏:0  手机版
解决时间 2021-12-01 04:33
如何在c语言中编写用鼠标点击输入
最佳答案
需要mouse.h这个库函数,你百度一下吧,在c的图形化编程中用到 不过用c而不是vc编写这个比较繁琐,呵呵
全部回答
//本函数ismouse的作用是检测鼠标,直到有单击后退出函数,单击的位置存在pt里
pt.X和pt.Y就是他的横竖坐标啦
#include
COORD pt;

int ismouse()
{
DWORD dwMode, dwOldMode;
DWORD dwRead;
int mouse_pos;
UINT count;
INPUT_RECORD ir[128];
CONSOLE_CURSOR_INFO cci, cciOld;
HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE), hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
if(!GetConsoleMode(hStdIn, &dwOldMode))
{
fprintf(stderr, "GetConsoleMode 错误:%d\n", GetLastError());
return -1;
}
dwMode = dwOldMode;
dwMode &= ~(ENABLE_QUICK_EDIT_MODE);
dwMode |= ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT;
if(!SetConsoleMode(hStdIn, dwMode))
{
fprintf(stderr, "SetConsoleMode 错误:%d\n", GetLastError());
return -1;
}
GetConsoleCursorInfo(hStdOut, &cciOld);
cci.bVisible = TRUE;
cci.dwSize = 100;
if(!SetConsoleCursorInfo(hStdOut, &cci))
{
fprintf(stderr, "SetConsoleCursorInfo 错误:%d\n", GetLastError());
return -1;
}
while(1)
{
if(!ReadConsoleInput(hStdIn, &ir[0], 128, &dwRead))
{
fprintf(stderr, "ReadConsoleInput 错误:%d\n", GetLastError());
return -1;
}
for(count=0; count{
switch(ir[count].EventType)
{
case MOUSE_EVENT:
switch(ir[count].Event.MouseEvent.dwEventFlags)
{
case 0:
if(ir[count].Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED)
{
SetConsoleMode(hStdIn, dwOldMode);
SetConsoleCursorInfo(hStdOut, &cciOld);
mouse_pos = ir[count].Event.MouseEvent.dwMousePosition.X;
mouse_pos = mouse_pos << 16 | ir[count].Event.MouseEvent.dwMousePosition.Y;
return mouse_pos;
}
break;
case MOUSE_MOVED:
pt.X = ir[count].Event.MouseEvent.dwMousePosition.X;
pt.Y = ir[count].Event.MouseEvent.dwMousePosition.Y;
SetConsoleCursorPosition(hStdOut, pt);
break;
}
break;
default:
break;
}
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
岑巩县社保局电话多少?
生活中哪些塑料用品是热塑性塑料制成的
求R5 1400 加华硕主板 配置8G内存120G/12
我得了小三阳吃蜂胶有用吗?
12个厚的超白玻璃一平米有多重?
全国十大陶瓷品牌有什么牌子
2018年2月1日三门峡限行吗
一列火车长108米,每秒行20米,经过长72米的
请教:晚上拿 KP 开背光看书伤眼不
请问一下各位大神:铁水过热温度作用
仓鼠受伤了怎么办?紧急!昨天关笼门的时候因
亚细生产方式,以什么作为生产单位
火车K1033次运行准点率
怎么鉴别美短虎斑的好坏?
大埔墟要去兹山寺怎麼走
推荐资讯
三国杀有哪些扩充包,里面有什么
大秧歌肖老道总说的四个字是什么
“没有三把神沙,不敢倒反西岐”出自什么典故
烹饪时加糖是否可减低辣味
济南到长清多长时间,济南到长清有多远,多少
in the library 和at the library有区别吗
南昌方言求解
win10桌面图标设置如图没权限,怎么解决
尼康d5500 怎么拍出背景虚化的照片 18~55的
听说谷微礼品娃娃机还行,可以入手一台吗?
Working from the inside of the design outw
硬音源能控制mp3的音色吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?