滑鼠c語言
『壹』 c語言下怎麼用滑鼠啊
代碼片段:
1
switch(message)
2
{
3
case
WM_PAINT:
//處理重繪消息
4
hdc
=
BeginPaint(
hwnd,
&ps
)
;
5
wsprintf(
szBuffer,
"屏幕坐標:(%i,
%i)",
pt.x,
pt.y
);
6
TextOut(
hdc,
10,
10,
szBuffer,
lstrlen(szBuffer)
)
;
7
ScreenToClient(
hwnd,
&pt
)
;
//將相對於屏幕的坐標轉換為相對於窗口客戶區的坐標
8
wsprintf(
szBuffer,
"客戶區坐標:(%i,
%i)",
pt.x,
pt.y
);
9
TextOut(
hdc,
10,
30,
szBuffer,
lstrlen(szBuffer)
)
;
10
EndPaint(
hwnd,
&ps
)
;
11
return
0
;
12
13
case
WM_MOUSEMOVE:
//處理滑鼠移動時發來的消息
14
GetCursorPos(&pt)
;
15
InvalidateRect(
hwnd,
NULL,
TRUE
)
;
16
return
0
;
『貳』 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語言滑鼠定時點擊指定位置
c語言滑鼠定時點擊指定位置需要模擬滑鼠在遠程桌面中進行移動。定時模擬點擊屏幕坐標位置工具,程序採用c語言編寫,可以自定義設置時間,設置屏幕坐標,到時間滑鼠會自動根據坐標的位置點擊一次。
『肆』 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語言:滑鼠和鍵盤函數的相關問題
通過調用API
mouse_event,SetCursorPos實現滑鼠的模擬
給你點簡單的代碼自己研究下
想自己動手是好事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,
0
End
SubPrivate
Sub
Command2_Click()
mouse_event
MOUSEEVENTF_MOVE,
210,
200,
0,
0
SetCursorPos
Val(300),
Val(300)
mouse_event
MOUSEEVENTF_RIGHTDOWN
Or
MOUSEEVENTF_RIGHTUP,
0,
0,
0,
0
End
Sub
『陸』 C語言怎樣用滑鼠控制播放一首歌
你是想問通過控制滑鼠操作播放器播放歌(類似按鍵精靈那樣重復用戶操作)。還是直接播放音樂文件。
兩種都需要window API支持。
一、直接播放文件,可用函數playSound,頭文件windows.h和mmsystem.h。(注意不是支持所有文件格式)。
二、控制滑鼠模擬操作:
1、滑鼠點擊操作可用SendInput函數或keybd_event函數。
2、滑鼠移動可用SetCursorPos或mouse_event。
三、通過FundWindow函數獲取播放軟體的窗口句柄,再通過FindWindowEx遍歷窗口下所有控制項,直接對窗口控制項發送消息。
『柒』 C語言滑鼠移動
SetCursorPos( x,y ); 移動滑鼠到x,y位置
mouse_event( MOUSEEVENTF_LEFTDOWN, x,y,0,0 ); 左鍵按下
mouse_event( MOUSEEVENTF_RIGHTDOWN, x,y,0,0 ); 右鍵按下
如果要捕捉滑鼠的移動,一般採用勾子程序,詳情,請查閱滑鼠勾子代碼
『捌』 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語言怎樣實現滑鼠事件,純C可不可以
我猜你說的純C指的是標准C(Standard C)。如果是這樣的話,我可以明確告訴你確實沒有滑鼠事件。
標准C庫的所有頭文件可以參照官方網站,裡面有各頭文件中包含函數功能比較詳細的說明。
關於滑鼠我要說一下,圖形界面不是計算機運行的必需模塊,操作系統甚至可以沒有滑鼠驅動。上過計算機操作系統課之後你應該知道,一個操作系統能夠跑起來,只需要有各進程調度和資源分配,並不依賴圖形界面。每個進程在設計的時候可以自由選擇自己需要的函數庫進行封裝鏈接(或者運行時動態鏈接)。比方說你寫個程序只需要計算1+1,那麼要圖形界面模塊有啥用呢?
圖形用戶交互界面(GUI)其實也是特殊的函數庫,如果操作系統支持(或者說操作系統中有安裝相關函數庫的話),則可以在程序中包含頭文件進行調用。
如果是正經學計算機的,建議先放下圖形交互,放下Windows(當然我沒說它不好),嘗試接觸下OSX以及Linux,你會有比較大的收獲。
『拾』 C語言怎樣改變滑鼠樣式
代碼
#include <graphics.h>
#include <conio.h>
#include <math.h>
void main()
{
int i;
// 繪圖環境初始化
initgraph(640, 480);
setbkcolor(BLACK);
cleardevice();
HCURSOR hcur = LoadCursor(NULL, IDC_CROSS); // 載入系統預置的滑鼠樣式
HWND hwnd = GetHWnd(); // 獲取繪圖窗口句柄
SetClassLong(hwnd, GCL_HCURSOR, (long)hcur); // 設置窗口類的滑鼠樣式,其中第二個參數是滑鼠樣式
getch();
closegraph();
}