C#中实现模拟鼠标事件

注 :这段代码是有点问题,当时调试没注意。

其实主要是展示一下

[DllImport("user32.dll")]

static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);

的用法,在这段代码中由于button1一直有焦点MainForm_KeyDown运行不了。然而我用了别的方法触发mouse_event结果没执行button1的点击事件。这个我再研究下。

鼠标自动运行事件在程序中也会用到的。它的原理是调用user32.dll的方法运行。
下面的代码是鼠标自动点击事件的一个例子。
新建一个c#窗体工程,在窗口上拖入一个button,注册button的鼠标点击事件。如下:

添加一个类,用来调用user32.dll的mouse_event方法:

 测试如下:
 在窗体中加一个KeyDown事件,并调用自动点击的方法。

运行后,窗口有焦点的情况下按键盘的键,会触发button的click事件,如图:
 

 

 

你还可能感兴趣:c#界面鼠标拖动   控件在父窗体或屏幕中的绝对坐标

posted on 2012-01-02 20:35  c语言源码  阅读(1795)  评论(0编辑  收藏  举报

导航