是否可以在其中一个端口上模仿外围设备,例如鼠标,并编写一个可以向显示屏上的(x,y)发送点击的程序?
答案 0 :(得分:0)
是的,你可以。几年前我为NUnitForms做了一个MouseController。查看http://nunitforms.sourceforge.net/
关键是使用Win32函数SendInput; http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx
SendInput函数将union作为输入,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);