使用编程语言模拟外围设备的行为

Mimic Peripheral behavior using a programming language

本文关键字:外围设备 模拟 编程语言      更新时间:2023-10-16

可能重复:
在c#中获取鼠标位置

有没有可能模仿外围设备,比如说,在其中一个端口上的鼠标,并编写一个程序,点击显示器上的(x,y)?

可以。几年前,我为NUnitForms做了一个鼠标控制器。退房http://nunitforms.sourceforge.net/

鼠标控制器的源代码位于http://nunitforms.svn.sourceforge.net/viewvc/nunitforms/trunk/nunitforms/source/NUnitForms/MouseController.cs?revision=32&view=标记

该键使用Win32函数SendInput;http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx

SendInput函数采用并集作为输入,这是C#不容易支持的。我所做的是定义两个函数SendMouseInput和SendKeyboardInput,它们指定不同的输入结构,但调用相同的函数。

[DllImport("user32.dll", EntryPoint="SendInput", SetLastError=true)]
internal static extern int SendMouseInput(int cInputs, ref MOUSEINPUT pInputs, int cbSize);
[DllImport("user32.dll", EntryPoint="SendInput", SetLastError=true)]
internal static extern int SendKeyboardInput(int cInputs, ref KEYBDINPUT pInputs, int cbSize);