网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C#中计算两个时间的差.
.C#将DateTable表数据导出到Excel.
.C-Sharp调用标准动态库(记录).
.C#中如何读写INI文件.
.保护你的DLL和Code不被别人使用.
.C#一个象棋游戏程序.
.用Visual C#中轻松浏览数据库记.
.一个用c#写的扫描asp源码漏洞的应.
.在Visual C#中定义和使用自己的特.
.使用C#开发SmartPhone程序入门.
.C#实现的根据年月日计算星期几的.
.网页表单自动填写技术(gmail为例) .
.C# Source 与VB Source 的不同.
.C#图像处理之-给你的图片打上LOGO.
.用C#代码生成一个简单的PDF文件.
.C#列出局域网中可用SQL Server服.
.C#中控制IIS服務重啟.
.C#中的接口.
.c#数据库操作的3种典型用法.
.C#-委托和事件.

C#程序模拟鼠标操作 [Simulate Mouse Movement and Click Programmatically]

发表日期:2006-3-30


有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的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文档。
下面的演示程序(完整版源代码,VS.Net 2005/C#)演示了使用上面的函数,控制鼠标移动到任务栏并点击“开始”按钮的方法。
(该程序使用了FindWindowEx等API函数来查找任务栏及开始菜单)
点这里下载

上一篇:c#实现google样式的分页 人气:8969
下一篇:序列化和反序列化XML应用程序设置类 人气:6389
浏览全部C#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐