利用Visual C#编程模拟鼠标操作

转载 2006年06月22日 17:27:00
有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序。那么,我们在.net中如何实现呢?

  .Net并没有提供改变鼠标指针位置、模拟点击操作的函数;但是Windows API提供了。其中一个是:

[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);

  该函数可以改变鼠标指针的位置。其中X,Y是相对于屏幕左上角的绝对位置。

  另一个函数是:

[DllImport("user32.dll")]
static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);

  这个函数不仅可以设置鼠标指针绝对的位置,而且可以以相对坐标来设置。另外,该函数还可以模拟鼠标左右键点击、鼠标滚轮操作等。其中的MouseEventFlag是一个基于uint类型的枚举,定义如下:

[Flags]
enum MouseEventFlag : uint
{
Move = 0x0001,
LeftDown = 0x0002,
LeftUp = 0x0004,
RightDown = 0x0008,
RightUp = 0x0010,
MiddleDown = 0x0020,
MiddleUp = 0x0040,
XDown = 0x0080,
XUp = 0x0100,
Wheel = 0x0800,
VirtualDesk = 0x4000,
Absolute = 0x8000
}

  关于这两个函数的详细说明,可以查看MSDN Library或者Windows的Platform SDK文档。

利用Visual C#编程模拟鼠标操作

首先要using  System.Runtime.InteropServices; 有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的Demo...
  • yunhaiC
  • yunhaiC
  • 2009年06月05日 17:13
  • 1167

C#模拟鼠标操作

游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi...
  • BlackSmart
  • BlackSmart
  • 2016年09月28日 11:44
  • 4114

C# WPF 中用代码模拟鼠标和键盘的操作

原文地址   C#开发者都知道,在Winform开发中,SendKeys类提供的方法是很实用的。但是可惜的是,在WPF中不能使用这个方法了。   我们知道,在WPF中非UI线程刷新UI线程,需要使...
  • honantic
  • honantic
  • 2015年10月15日 10:39
  • 22308

Delphi下利用WinIo模拟鼠标键盘详解

前言   一日发现SendInput对某程序居然无效,无奈只好开始研究WinIo。上网查了很多资料,发现关于WinIo模拟鼠标键盘的资料很少,有的也只是支言片语讲的不是很详细,而且大部分都是关于模拟键...
  • fgrass_163
  • fgrass_163
  • 2011年04月26日 21:03
  • 1444

C# 模拟鼠标移动与点击

我们需要用到的mouse_event函数,位于user32.dll这个库文件里面,所以我们要先声明引用。 [System.Runtime.InteropServices.DllImport(...
  • qq_31666147
  • qq_31666147
  • 2016年04月06日 16:54
  • 1770

C# 模拟 鼠标 键盘操作

https://m.oschina.net/blog/198175 一.封装一个Io_Api 类 using System; using System.Collections.Gene...
  • u011981242
  • u011981242
  • 2016年05月20日 10:12
  • 1410

Python模拟键盘输入和鼠标操作

一、Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0)  #ctrl键位码是17 win32api...
  • u012216571
  • u012216571
  • 2014年11月03日 00:48
  • 7033

C#中实现模拟鼠标事件

转载自:http://blog.csdn.net/yysyangyangyangshan/article/details/7171864 注 :这段代码是有点问题,当时调试没注意。 其...
  • u012377333
  • u012377333
  • 2016年08月25日 13:25
  • 2408

C++实现鼠标控制 封装常见的模拟鼠标、键盘的操作函数

API 或 MFC 视窗程序 里 有 函数, 例如 API 函数 设位置: BOOL SetCursorPos( int x, int y); 参数是屏幕坐标x,y 头文件 Winuse...
  • lxj434368832
  • lxj434368832
  • 2017年03月08日 16:46
  • 4323

数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一

数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一 写在前面:前面介绍了数据库系统的基本概念,SQl语句基本使用方法,接下来通过学习具体语言和具体数据库结合的应用开发...
  • ziyuanxiazai123
  • ziyuanxiazai123
  • 2013年03月15日 13:39
  • 7728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Visual C#编程模拟鼠标操作
举报原因:
原因补充:

(最多只允许输入30个字)