如何c语言写鼠标函数 c语言设定鼠标点击的函数

C语言鼠标操作

我之前给别人写过一个打地鼠的小游戏,就是用鼠标操作的。发给你参考下。代码很简单。

站在用户的角度思考问题,与客户深入沟通,找到肇州网站设计与肇州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册虚拟主机、企业邮箱。业务覆盖肇州地区。

主要函数我在下方说明了,但更多信息你必须自己百度看,一言两语说不完。

SetConsoleCursorPosition函数可以定位光标位置,也就是文字内容显示的起点。

ReadConsoleInput(HANDLE hConsoleInput,*INPUT_RECORD lpBuffer,DWORD nLength,

DWORD lpNumberOfEventsRead)函数可以获取鼠标的操作信息。

调用过上面函数后,lpBuffer由于是传址,所以其地址里的值就包含了鼠标信息。

lpBuffer.EventType == MOUSE_EVENT //判断是鼠标事件

lpBuffer.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED//判断是鼠标左键点击

两个判断一起就是鼠标左键点击的判断,其他事件参数你可以自己网上找。

#include stdio.h

#include stdlib.h

#include windows.h

#include conio.h

#include time.h

#include string.h

#include malloc.h

#define gSizek 30//区域大小宽度

#define gSizeg 20//区域大小高度

#define gBegin 3//活动区域起始行

int main()

{

int t=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0;

char gameA[gSizeg][gSizek+1],fSave[10]={0};

SetConsoleTitle("打地鼠");

HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄

INPUT_RECORD inRec;

DWORD res;

COORD p0;

p0.X=0;

p0.Y=0;

srand(time(0));

s0= time(NULL);

strcpy(gameA[0],"            GAME");

strcpy(gameA[1],"未命中次数:0,计分:000000");

for(i=gBegin-1;igSizeg;i++)

{

for(j=0;jgSizek+1;j++)

{

if(igBegin-1  igSizeg-1  j0  jgSizek-1)

gameA[i][j]=' ';

else

gameA[i][j]=4;

if(j==gSizek)

gameA[i][j]=0;

}

}

for(i=0;igSizeg;i++)

printf("%s\n",gameA[i]);

while (1)

{

if(t=3)

{

if(row0  clo0)

gameA[row][clo]=' ';

row=rand()%(gSizeg-1);

clo=rand()%(gSizek-1);

s0= time(NULL);

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);

if(row3)

row=4;

if(clo1)

clo=1;

gameA[row][clo]=2;

for(i=0;igSizeg;i++)

{

//gameA[i][gSizeg+1]=0;

printf("%s\n",gameA[i]);

}

}

if(count==3)

{

p0.X=10;

p0.Y=8;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);

printf("GAME OVER!");

break;

}

s1= time(NULL);

t=s1-s0;

ReadConsoleInput(hInput, inRec, 1, res);

if (inRec.EventType == MOUSE_EVENT  inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键

{

if(inRec.Event.MouseEvent.dwMousePosition.X==clo  inRec.Event.MouseEvent.dwMousePosition.Y==row)

{

if(fen==0)

fen=1;

if(fen999999)

fen=999999;

else

fen=fen*2;

sprintf(fSave,"%06d",fen);

gameA[1][18]=0;

strcat(gameA[1],fSave);

}

else

{

count++;

fen=0;

gameA[1][11]=count+'0';

}

t=4;

}

}

while(1);

return 0;

}

C语言怎么实现鼠标操作

VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo ); 4个参数都是输入参数。 bVk:键名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。 keybd_event(VK_MENU,0xb8,0 , 0); -- 按下Alt 键 keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 放开 Alt 键 (复位,弹上来) === 下面程序模拟按 notepad 编辑器。等于C语言 system("notepad"); 弹出 记事本。

编写一道五子棋的C语言程序,如何写一个鼠标点击的函数,麻烦哪位高手帮我写一个简单易懂的。

#include "stdafx.h"

#include windows.h

#include conio.h

#include stdlib.h

int main(int argc, char* argv[])

{

SetConsoleTitle("1111111111");

HANDLE hInput = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄

INPUT_RECORD inRec;

DWORD res;

while (1)

{

ReadConsoleInput(hInput, inRec, 1, res);

if (inRec.EventType == MOUSE_EVENT inRec.Event.MouseEvent.dwButtonState == FROM_LEFT_1ST_BUTTON_PRESSED) //鼠标左键

{

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),inRec.Event.MouseEvent.dwMousePosition);

printf("Hello World!");

}

Sleep(100);

}

return 0;

}


文章标题:如何c语言写鼠标函数 c语言设定鼠标点击的函数
网站地址:http://scyanting.com/article/ddjhjpe.html