當前位置:首頁 » 編程語言 » c語言滑鼠怎麼製作
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言滑鼠怎麼製作

發布時間: 2023-06-02 09:17:36

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>
#definegSizek30//區域大小寬度
#definegSizeg20//區域大小高度
#definegBegin3//活動區域起始行
intmain()
{
intt=0,s0,s1,i,j,count=0,fen=0,row=0,clo=0;
chargameA[gSizeg][gSizek+1],fSave[10]={0};
SetConsoleTitle("打地鼠");
HANDLEhInput=GetStdHandle(STD_INPUT_HANDLE);//獲取標准輸入設備句柄
INPUT_RECORDinRec;
DWORDres;
COORDp0;
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;i<gSizeg;i++)
{
for(j=0;j<gSizek+1;j++)
{
if(i>gBegin-1&&i<gSizeg-1&&j>0&&j<gSizek-1)
gameA[i][j]='';
else
gameA[i][j]=4;
if(j==gSizek)
gameA[i][j]=0;
}
}
for(i=0;i<gSizeg;i++)
printf("%s ",gameA[i]);

while(1)
{

if(t>=3)
{
if(row>0&&clo>0)
gameA[row][clo]='';
row=rand()%(gSizeg-1);
clo=rand()%(gSizek-1);
s0=time(NULL);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);

if(row<3)
row=4;
if(clo<1)
clo=1;
gameA[row][clo]=2;
for(i=0;i<gSizeg;i++)
{
//gameA[i][gSizeg+1]=0;
printf("%s ",gameA[i]);
}

}
if(count==3)
{
p0.X=10;
p0.Y=8;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),p0);
printf("GAMEOVER!");
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(fen>999999)
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);
return0;
}

㈡ 用C語言寫一個控制滑鼠鍵盤自動點的程序復雜嗎

很簡單啊~

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
SetCursorPos(0,0);//設置滑鼠坐標
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//點擊左鍵
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//點擊右鍵
return0;
}
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>//重要!
intmain()
{
//字母
keybd_event('A',0,0,0);//按下
keybd_event('A',0,2,0);//松開
//回車
keybd_event(0x0d,0,0,0);
keybd_event(0x0d,0,2,0);
}

㈢ C語言是怎樣實現滑鼠事件控制的可不可以用純C做

可以,需要調用windowsAPI函數。
頭文件windows.h。
簡單思路:
通過GetStdHandle獲取標准輸入句柄。
再通過ReadConsokeInput將輸入信息存儲到結構體類型INPUT_RECODE變數中。
再通過判斷,截取到滑鼠電擊的事件。
具體API函數、參數、功能還有很多。需要網上找資料可以學。
我這里就簡單寫一個,滑鼠點擊控制台任意位置,並在該位置列印字元串。

#include<stdio.h>
#include<windows.h>
intmain()
{
HANDLEhInput=GetStdHandle(STD_INPUT_HANDLE);//獲取標准輸入設備句柄
INPUT_RECORDinRec;
DWORDres;
COORDp0;
while(1)
{
ReadConsoleInput(hInput,&inRec,1,&res);
if(inRec.EventType==MOUSE_EVENT&&inRec.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("你在這里點擊的左鍵 ");
}
}

return0;
}

㈣ 如何在c語言中編寫用滑鼠點擊輸入

需要mouse.h這個庫函數,你網路一下吧,在c的圖形化編程中用到 不過用c而不是vc編寫這個比較繁瑣,呵呵

㈤ C語言中怎樣做滑鼠編程

#include
void
hidecursor()
{
console_cursor_info
cursor_info
=
{1,
0};
setconsolecursorinfo(getstdhandle(std_output_handle),
&cursor_info);
}
函數和結構體都在windows.h中定義,函數用法簡單就不說了。
console_cursor_info結構體定義如下:
typedef
struct
{
dword
dwsize;
bool
bvisible;
//為0時游標不可見
}console_cursor_info,
*pconsole_cursor_info;
vc,mingw中均沒問題。
不明白直接hi。

㈥ 如何用c語言來實現滑鼠移動。

使用mouse_event 這個API 可以模擬滑鼠任何操作。

㈦ 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"); 彈出 記事本。