瞄一眼

 找回密码
 立即注册
查看: 122|回复: 3

[分享] 利用 SendInput 和INPUT结构模拟鼠标移动

[复制链接]

322

主题

346

帖子

58

积分

管理员

Rank: 12Rank: 12Rank: 12

积分
58
发表于 2020-4-2 19:39:44 | 显示全部楼层 |阅读模式

    int x = GetDlgItemInt(IDC_EDIT1) ;   //要移动到的 x 坐标
    int y = GetDlgItemInt(IDC_EDIT2) ;   //           y

    int cx_screen = ::GetSystemMetrics(SM_CXSCREEN);  //屏幕 宽
    int cy_screen = ::GetSystemMetrics(SM_CYSCREEN);  //     高

    int real_x = 65535 * x / cx_screen;  //转换后的 x
    int real_y = 65535 * y / cy_screen;  //         y

    INPUT input;
    input.type = INPUT_MOUSE;
    input.mi.dx = real_x ;
    input.mi.dy = real_y ;
    input.mi.mouseData = 0;
    //MOUSEEVENTF_ABSOLUTE 代表决对位置  MOUSEEVENTF_MOVE代表移动事件
    input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;  
    input.mi.time = 0;
    input.mi.dwExtraInfo = 0;

    SendInput(1,&input,sizeof(INPUT));

0

主题

8

帖子

1

积分

韶华一笑间

Rank: 1

积分
1
发表于 2020-4-7 19:10:47 | 显示全部楼层
感谢楼主分享

0

主题

31

帖子

5

积分

韶华一笑间

Rank: 1

积分
5
发表于 2020-4-13 08:05:07 | 显示全部楼层
学习学习

0

主题

11

帖子

1

积分

韶华一笑间

Rank: 1

积分
1
发表于 2020-4-22 20:04:33 | 显示全部楼层
恩恩讷讷
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|瞄眼社区

GMT+8, 2020-6-1 00:28 , Processed in 0.219136 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表