(转)C#模拟键盘鼠标事件
2015-05-19 10:56
387 查看
1.模拟键盘事件
System.Windows.Forms.SendKeys
以下是SendKeys的一些特殊键代码表。
键代码
BACKSPACE{BACKSPACE}、{BS}或{BKSP}
BREAK{BREAK}
CAPSLOCK{CAPSLOCK}
DEL或DELETE{DELETE}或{DEL}
DOWNARROW(下箭头键){DOWN}
END{END}
ENTER{ENTER}或~
ESC{ESC}
HELP{HELP}
HOME{HOME}
INS或INSERT{INSERT}或{INS}
LEFTARROW(左箭头键){LEFT}
NUMLOCK{NUMLOCK}
PAGEDOWN{PGDN}
PAGEUP{PGUP}
PRINTSCREEN{PRTSC}(保留,以备将来使用)
RIGHTARROW(右箭头键){RIGHT}
SCROLLLOCK{SCROLLLOCK}
TAB{TAB}
UPARROW(上箭头键){UP}
F1{F1}
F2{F2}
F3{F3}
F4{F4}
F5{F5}
F6{F6}
F7{F7}
F8{F8}
F9{F9}
F10{F10}
F11{F11}
F12{F12}
F13{F13}
F14{F14}
F15{F15}
F16{F16}
数字键盘加号{ADD}
数字键盘减号{SUBTRACT}
数字键盘乘号{MULTIPLY}
数字键盘除号{DIVIDE}
若要指定与SHIFT、CTRL和ALT键的任意组合一起使用的键,请在这些键代码之前加上以下一个或多个代码:
键代码
SHIFT+(SHIFT="+")
CTRL^(CTRL="^")如果输入
ALT%
看下方法的说明
publicclassSendKeys:System.Object
[code]System.Windows.Forms的成员
摘要:
提供将键击发送到应用程序的方法。
[/code]
publicstaticvoidSend(System.Stringkeys)
[code]System.Windows.Forms.SendKeys的成员
摘要:
向活动应用程序发送击键。
[/code]
publicstaticvoidSleep(System.TimeSpantimeout)
[code]System.Threading.Thread的成员
摘要:
将当前线程阻塞指定的时间。
[/code]
publicstaticvoidFlush()
[code]System.Windows.Forms.SendKeys的成员
2.模拟鼠标
有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序。那么,我们在.Net中如何实现呢?
.Net并没有提供改变鼠标指针位置、模拟点击操作的函数;但是WindowsAPI提供了。其中一个是:
[DllImport("user32.dll")]
staticexternboolSetCursorPos(intX,intY);[/code]
该函数可以改变鼠标指针的位置。其中X,Y是相对于屏幕左上角的绝对位置。
另一个函数是:
[DllImport("user32.dll")]
staticexternvoidmouse_event(MouseEventFlagflags,intdx,intdy,uintdata,UIntPtrextraInfo);
这个函数不仅可以设置鼠标指针绝对的位置,而且可以以相对坐标来设置。另外,该函数还可以模拟鼠标左右键点击、鼠标滚轮操作等。其中的MouseEventFlag是一个基于uint类型的枚举,定义如下:
[Flags]
enumMouseEventFlag: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
}
关于这两个函数的详细说明,可以查看MSDNLibrary或者Windows的PlatformSDK文档。
下面的演示程序(完整版源代码,VS.Net2005/C#)演示了使用上面的函数,控制鼠标移动到任务栏并点击“开始”按钮的方法。
(该程序使用了FindWindowEx等API函数来查找任务栏及开始菜单)
相关文章推荐
- C#模拟键盘鼠标事件
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C#模拟键盘鼠标事件
- C#模拟键盘鼠标事件
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C#模拟键盘鼠标事件 SendKeys 的特殊键代码表
- C# 模拟鼠标.模拟键盘事件
- [转载]C#模拟键盘鼠标事件-SendKeys
- C#模拟键盘鼠标事件
- C#模拟键盘鼠标事件
- 【转】C#模拟键盘鼠标事件
- 使用SWT模拟鼠标键盘事件
- QTP模拟鼠标和键盘事件方法整理
- Android查询:模拟键盘鼠标事件(adb shell 实现)
- Android 模拟键盘鼠标事件(Socket+Instrumentation实现)
- C# 调用API keybd_event 模拟键盘事件
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件