- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++通过并行机制处理鼠标和键盘.pdf
C++通过并行机制处理鼠标和键盘
该程序通过并行机制处理鼠标和键盘的消息,为了简化程序裁减了一些代码,该程序可用为
基础在该程序上添加代码可用于文本编辑,游戏和其他鼠标键盘通用的程
序.
#include graphics.h
#include stdio.h
#include conio.h
#include dos.h
#include bios.h
union REGS regs;
unsigned size;
void far *Buffer;
int ScanKey();
void Mouse();
void Init();
int InitMouseDrive();
int main()
{
int key,x,y,cx,cy;
x=1,y=1;
Init();/*初始化图形模式*/
if(InitMouseDrive(cx,cy))/*安装鼠标*/
{
printf(Mouse Drive Error!);
exit(0);
}
size=imagesize(cx-2,cy-2,cx+2,cy+2);
Buffer=(void *)malloc(size);
getimage(cx-2,cy-2,cx+2,cy+2,Buffer);
do
{
if(kbhit())
{
key=ScanKey();/*得到按键结果*/
rectangle(x,y,x+5,y+5);
x+=10;
if(x=630)
{
x=1;
y+=10;
}
}
else
Mouse(cx,cy);/*访问鼠标信息的到新的光标坐标*/
}while(key!=0x01);
closegraph();
}
int ScanKey()/*键盘*/
{
return(bioskey(0)8);
}
void Init()/*图形驱动*/
{
int graphdrive=0,graphmode=0;
initgraph(graphdrive,graphmode,);
setcolor(15);
}
void Mouse(int *px,int *py)/*鼠标*/
{
int mx,my,omx,omy;
regs.x.ax=3;
int86(0x33,regs,regs);
omx=*px,omy=*py;
mx=regs.x.cx;
my=regs.x.dx;
if(mx!=*pxmy!=*py)/*当鼠标位置改变是重新绘制光标*/
{
*px=mx; *py=my;
putimage(omx-2,omy-2,Buffer,COPY_PUT);
free(Buffer);
size=imagesize(mx-2,my-2,mx+2,my+2);
Buffer=(void *)malloc(size);
getimage(mx-2,my-2,mx+2,my+2,Buffer);
rectangle(mx-2,my-2,mx+2,my+2);
}
}
int InitMouseDrive(int *rpx,int *rpy)/*鼠标驱动*/
{
int Found=0;
regs.x.ax=0;
int86(0x33,regs,regs);
Found=regs.x.ax;
regs.x.ax=7;
regs.x.cx=3;
regs.x.dx=635;
int86(0x33,regs,regs);
regs.x.ax=8;
regs.x.cx=3;
regs.x.dx=480;
int86(0x33,regs,regs);
regs.x.ax=4;
regs.x.cx=*rpx=640/2;
regs.x.dx=*rpy=480/2;
i
您可能关注的文档
- BYQ石油化工消防专用防爆摄像机使用方法.pdf
- BYS12-90-E3TR;BYS12-90-E3TR3;BYS12-90HE3TR3;BYS12-90HE3TR;中文规格书,Datasheet资料.pdf
- BYW98-200RL;BYW98-200;中文规格书,Datasheet资料.pdf
- BZLNG-0600-CNEC-IST-QIR-0007焊接工艺评定报告报审表(签字).pdf
- b_- 文化遗产视角下的民族古村落旅游规划).pdf
- B_4C_W_Ti_C陶瓷喷砂嘴冲蚀磨损机理研究_冯益华.pdf
- B_4C改性酚醛树脂粘接SiC陶瓷的高温性能.pdf
- B_S模型在环境责任保险中的应用.pdf
- Bézier Approximation of PDE Surface.pdf
- b一年级b女生第二学期教案.pdf
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 矿用隔爆兼本安型控制器工艺流程图.doc VIP
- 政治学概论政治学概论编写组05政党与政党制度.ppt VIP
- 《乡村旅游规划与实践》课件——项目七 乡村旅游商品开发与设计.pptx VIP
- 国家义务教育质量监测心理健康测试题.pdf VIP
- 《分数加法和减法》单元整体设计 -2023-2024学年五年级下册数学人教版.doc VIP
- 《0~3岁婴幼儿保育与教育》PPT教学课件(全).pptx VIP
- 小学科学实验课学生合作学习策略与互动模式研究教学研究课题报告.docx
- 测绘工程管理与法律法规 测绘违法案例60讲 5测绘违法案例五.ppt
- 第六届中国国际“互联网+”大学生创新创业大赛项目计划书【模板】.pdf
- 政治学05 政党与政党制度.ppt VIP
文档评论(0)