Ⅰ 如何用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);
}