Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中模拟鼠标/键盘输入_C#_Wpf_Input_Mouse_Virtual - Fatal编程技术网

C# 在WPF中模拟鼠标/键盘输入

C# 在WPF中模拟鼠标/键盘输入,c#,wpf,input,mouse,virtual,C#,Wpf,Input,Mouse,Virtual,在WPF(以及Windows)中模拟鼠标/键盘输入有很多问题。我想我的问题与通常的问题有些不同,我想听听你的意见。我看到的大多数帖子都有一个特定的更高级别的动作:我想点击这个,我想在这里移动鼠标,等等。为了模拟这些,可以简单地使用路由事件。然而,我希望从远程应用程序操作鼠标,并希望在低级别输入鼠标事件:当前鼠标位置是x,y,按钮状态是某某。我的目标框架是WPF,但如果像一个通用的虚拟鼠标驱动程序这样的东西是可行的,我也很乐意。我不担心安全问题:接收消息的应用程序将由我在更高级别上进行编码,因此我

在WPF(以及Windows)中模拟鼠标/键盘输入有很多问题。我想我的问题与通常的问题有些不同,我想听听你的意见。我看到的大多数帖子都有一个特定的更高级别的动作:我想点击这个,我想在这里移动鼠标,等等。为了模拟这些,可以简单地使用路由事件。然而,我希望从远程应用程序操作鼠标,并希望在低级别输入鼠标事件:当前鼠标位置是x,y,按钮状态是某某。我的目标框架是WPF,但如果像一个通用的虚拟鼠标驱动程序这样的东西是可行的,我也很乐意。我不担心安全问题:接收消息的应用程序将由我在更高级别上进行编码,因此我不需要疯狂的黑客攻击。我愿意使用托管或非托管代码,并尽可能深入地挖掘兔子洞,以实现这一目标,但我不想重新发明轮子。我可以在HwndHost或类似的主机上托管我的应用程序,以防我需要访问windows消息


想法?

WPF具有一些内置的自动化功能。这有点复杂,我自己从来没有真正尝试过,但我最近一直在读关于它的书——也许值得一看:


或者在谷歌上搜索“WPF自动化”

我认为这不会回答我的特定查询-UI自动化似乎专注于更高层次的构造和可视化树操作抽象。我正在寻找原始的输入抽象。在一篇类似的帖子中,有人出于同样的原因拒绝了UI自动化。谢谢。@J Trana-如果你拥有你想要控制的应用程序,UI自动化仍然是一个好主意,因为你可以向你的应用程序添加特定的行为(覆盖OnCreateAutomationPeer方法),这样就可以轻松地远程控制它。请参见本文: