Ⅰ 如何用c語言來實現滑鼠移動。
使用mouse_event 這個API 可以模擬滑鼠任何操作。
Ⅱ 能不能用C語言控制鍵盤滑鼠
可以,方法很多,最簡單的是:
keydb_event (MapVirtualKey('1'),0,0,0)//down
Sleep(20)
keydb_event (MapVirtualKey('1'),0,2,0)//up
Ⅲ [C++]如何通過資源定義滑鼠手勢(手勢為自定義.cur)
HCURSOR hCursor =AfxGetApp()->LoadCursor(IDC_MYCURSOR);
::SetCursor(hCursor);
return TRUE;//這里一定要把他原來的返回值改成這個在框架類里添加WM_CURSOR的響應時間就得到OnSetCursor()。要不你加我qq遠程給你看453147896
Ⅳ 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語言如何控制滑鼠位置
SetCursorPos
Ⅵ 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語言滑鼠移動
SetCursorPos( x,y ); 移動滑鼠到x,y位置
mouse_event( MOUSEEVENTF_LEFTDOWN, x,y,0,0 ); 左鍵按下
mouse_event( MOUSEEVENTF_RIGHTDOWN, x,y,0,0 ); 右鍵按下
如果要捕捉滑鼠的移動,一般採用勾子程序,詳情,請查閱滑鼠勾子代碼
Ⅷ 請問在C語言編程下怎麼控制windows系統指針(就是滑鼠控制移動那個)的移動
用SendInput函數。第二個參數是一個INPUT結構體的數組,第一個參數代表這個數組有幾個元素,最後一個參數代表這個數組中每一個元素是幾個位元組。
#include <windows.h>
#pragma comment(lib, "user32.lib")
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInput.type = INPUT_MOUSE;
mouseInput.mi.dx = 10;
mouseInput.mi.dy = 10;
mouseInput.mi.dwFlags = MOUSEEVENTF_MOVE;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
以上代碼把滑鼠往右移動10往下移動10。使用MOUSEEVENTF_ABSOLUTE這個flag可以指定絕對位置,它把屏幕右下角定義為65535, 65535把左上角定義為0, 0所以
#include <windows.h>
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInput.type = INPUT_MOUSE;
mouseInput.mi.dx = 32767;
mouseInput.mi.dy = 32767;
mouseInput.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
是移動到屏幕正中央。
至於滑鼠點擊:
#include <windows.h>
int main() {
INPUT mouseInput;
ZeroMemory(&mouseInput, sizeof mouseInput);
mouseInput.type = INPUT_MOUSE;
mouseInput.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &mouseInput, sizeof(mouseInput));
mouseInput.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &mouseInput, sizeof(mouseInput));
return 0;
}
就是「按下」再「彈起來」。雙擊就是來兩次,右擊就是LEFT改成RIGHT。
Ⅸ 如何用c語言編寫一個程序運行時控制滑鼠自動移動點擊圖標執行程序
用c語言寫這個很麻煩的,其實有更好的工具,------《按鍵精靈》 很好用,用它寫點擊圖標的程序很簡單,就幾行代碼,樓主可以試試,但如果你非要用c語言寫的話可以去了解下系統給滑鼠的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"); 彈出 記事本。
void simu_notepad()
{
keybd_event(VkKeyScan('N'),1,0,0);
keybd_event(VkKeyScan('N'),1,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('O'),0x98,0,0); keybd_event(VkKeyScan('O'),0x98,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('T'),0x94,0,0); keybd_event(VkKeyScan('T'),0x94,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('E'),0x92,0,0); keybd_event(VkKeyScan('E'),0x92,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('P'),0x99,0,0); keybd_event(VkKeyScan('P'),0x99,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('A'),0x9E,0,0); keybd_event(VkKeyScan('A'),0x9E,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('D'),0xA0,0,0); keybd_event(VkKeyScan('D'),0xA0,KEYEVENTF_KEYUP,0);
keybd_event(VK_RETURN,1,0,0);
keybd_event(VK_RETURN,1,KEYEVENTF_KEYUP,0);
}