• 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#教程 > C# SendInput 模拟鼠标操作的实现方法

C# SendInput 模拟鼠标操作的实现方法

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

通过本文主要向大家介绍了sendinput,c sendinput,vb sendinput,delphi sendinput,sendinput函数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

刚刚开始学习C#,想自己做一个网页游戏的挂。游戏里面有收钱的动作,一个建筑物一个建筑物的点,很累啊。于是想用C#模拟鼠标操作替我收钱,想着学习这个对以后的测试工作也有帮助,于是有了动力。学习过程也是曲折的,因为网上搜了半天资料很少。该游戏是Flash的,用sendmessage不行,因为取不到里面的对象。查到有些介绍Mouse_Event的文章,但是msdn上说已经过时。于是查到了SendInput函数。

废话少说,上代码:

首先看下 Win API 中SendInput函数描述:

定义INPUT结构,下面是Win API 中INPUT结构描述:

public struct Input
 {
             [FieldOffset(0)]public Int32 type;
             [FieldOffset(4)]public MouseInput mi;
             [FieldOffset(4)]public tagKEYBDINPUT    ki;
             [FieldOffset(4)]public tagHARDWAREINPUT hi;    
 }
</div>
上面看到,还有MOUSEINPUT,KEYBDINPUT,HARDWAREINPUT结构需要定义。下面直接贴出代码啦。

Win API中描述:

        [StructLayout(LayoutKind.Sequential)]
        public struct tagKEYBDINPUT
        {
           Int16      wVk;
           Int16     wScan;
           Int32     dwFlags;
           Int32     time;
           IntPtr   dwExtraInfo;
        }

        [StructLayout(LayoutKind.Sequential)]
        public struct tagHARDWAREINPUT
        {
            Int32 uMsg;
            Int16 wParamL;
            Int16 wParamH;
        }
</div>
我主要是模拟鼠标,所以只需定义鼠标的flag值:

               //X为Flash窗口的左上角的x轴绝对坐标值。屏幕左上角坐标是(0,0)。width是Flash窗口宽度。
        {

                for (

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

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

  • C# SendInput 模拟鼠标操作的实现方法

相关文章

  • 2017-05-28C#难点逐个击破(5):类的访问类型
  • 2017-05-28C# TextBox多行文本框的字数限制问题
  • 2017-05-28C#采用FileSystemWatcher实现监视磁盘文件变更的方法
  • 2017-05-28C#实现Winform无边框移动的方法
  • 2017-05-28C#中的递归APS和CPS模式详解
  • 2017-05-28浅谈对c# 面向对象的理解
  • 2017-05-28C#实现DataTable映射成Model的方法(附源码)
  • 2017-05-28winform分页控件 附源码下载
  • 2017-05-28使用C#开发ActiveX控件
  • 2017-05-28如何清空文件夹里面的所有文件和文件夹

文章分类

  • 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#动态编译执行对象方法示例 运用映射机制创建对象
    • C#递归实现显示文件夹及所有文件并计算其大小的方法
    • C#使用foreach遍历哈希表(hashtable)的方法
    • C#实现闹钟AlarmClock实例代码
    • C#利用WMI操作DNS服务器(可远程操作,需要相应权限)
    • 利用windows性能计数器进行服务器性能监控示例分享
    • c#重写TabControl控件实现关闭按钮的方法
    • C#中哈希表(HashTable)用法实例详解(添加/移除/判断/遍历/排序等)
    • 详解C#中的接口属性以及属性访问器的访问限制

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

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