• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > 模拟鼠标事件的实现思路及代码

模拟鼠标事件的实现思路及代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了鼠标建模思路,鼠标点击事件代码,js鼠标点击事件代码,js鼠标经过事件代码,js鼠标悬停事件代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

模拟鼠标事件,一般可以通过mouse_event()和SendInPut()两种方法。mouse_event()在windows后期版本中逐渐被SendInPut()取代。SendInPut()模拟鼠标移动的事件中,标志位取值不同,输入坐标的意义也不同。简单来说就是,添加MOUSEEVENTF_ABSOLUTE标志位表示鼠标移动是通过绝对坐标定位,此时的坐标要通过转换。光标在屏幕中被分成65535个小块,可以通过如下转换:

若不使用MOUSEEVENTF_ABSOLUTE标志位,则坐标是相对前一坐标的位移。

SendInPut()鼠标时间使用结构如下:

msdn中完整解释如下:
     dx 鼠标的绝对位置,或自上次鼠标事件的运动量产生的dwFlags成员的值而定。鼠标的x坐标被指定为绝对的数据,相对于被指定为数据的移动像素数。
     dy 鼠标的绝对位置,或自上次鼠标事件的运动量产生的dwFlags成员的值而定。鼠标的y坐标被指定为绝对的数据,相对于被指定为数据的移动像素数。
     mouseData 如果dwFlags中包含MOUSEEVENTF_WHEEL,mouseData指定滚轮运动的量。正值表示滚轮向前旋转,即远离用户,负值表示滚轮向后旋转,即朝向用户。滚轮被定义为WHEEL_DELTA,这是120。

     下面代码演示了鼠标的几个具体操作。
     1、我怎样才能在应用程序中模拟鼠标事件?

     有两个API函数可以使用:mouse_event()和SendInput();

     2、应该使用哪个API函数?

     在Windows NT/2000/XP中,mouse_event()函数已经被SendInput()函数已被取代的。因此,在这些操作系统上,你应该使用SendInput()函数。(除非你需要提供向后兼容性与Windows98等)。

     3、如何使用SendInput()函数来模拟点击鼠标左键?

    // 左键抬起
    ::ZeroMemory(&Input,sizeof(INPUT));
    Input.type      = INPUT_MOUSE;
    Input.mi.dwFlags  = MOUSEEVENTF_LEFTUP;
    ::SendInput(1,&Input,sizeof(INPUT));
}
</div>

4、如何使用SendInput()函数来模拟点击鼠标右键?

    // 右键抬起
    ::ZeroMemory(&Input,sizeof(INPUT));
    Input.type      = INPUT_MOUSE;
    Input.mi.dwFlags  = MOUSEEVENTF_RIGHTUP;
    ::SendInput(1,&Input,sizeof(INPUT));
}
</div>

5、如何使用SendInput()函数模拟鼠标的移动?

</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 模拟鼠标事件的实现思路及代码

相关文章

  • 2017-05-28Cocos2d-x中使用CCScrollView来实现关卡选择实例
  • 2017-05-28详解C++设计模式编程中建造者模式的实现
  • 2017-05-28函数指针的强制类型转换实现代码
  • 2017-05-28C++ boost::asio编程-同步TCP详解及实例代码
  • 2017-05-28C语言模拟实现C++的继承与多态示例
  • 2017-05-28Visual C++中MFC消息的分类
  • 2017-05-28C++智能指针shared_ptr分析
  • 2017-05-28C++语言实现线性表之数组实例
  • 2017-05-28循环队列详解及队列的顺序表示和实现
  • 2017-05-28利用C语言替换文件中某一行的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言单链队列的表示与实现实例详解
    • C++中的vector容器对象学习笔记
    • 浅谈C++对象的内存分布和虚函数表
    • for循环中删除map中的元素valgrind检测提示error:Invalid read of size 8
    • 深入分析C++中类的大小
    • C语言中操作utmp文件的相关函数用法
    • C语言变量类型与输出控制用法实例教程
    • 优秀程序员必须知道的20个位运算技巧
    • 使用C语言打造通讯录管理系统和教学安排系统的代码示例
    • 有关C++中类类型转换操作符总结(必看篇)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有