【发布时间】:2021-03-28 16:15:50
【问题描述】:
我的应用截屏了另一个在第二台显示器上运行的窗口。现在,我还想将在我的应用程序中进行的鼠标点击转发到该窗口。为此,我尝试在 user32.dll 中使用SendMessage,但这也会导致窗口焦点切换,这会导致一些问题,例如两个窗口快速争夺焦点。有没有办法在不激活隐藏窗口并失去对主应用程序的关注的情况下放置这些鼠标事件?
【问题讨论】:
-
这不是我需要集成到第二个程序中的东西吗?不幸的是,我没有源代码,而且它可能甚至不是用 C# 编写的。
-
不,您使用应用程序中的 UI 自动化来自动化另一个正在运行的应用程序。其中包括激活默认操作(单击按钮、打开菜单和激活菜单项、更改文本等)。 UI 自动化不需要 受控 应用处于活动状态,或者在同一个屏幕中,甚至是可见的(并不意味着禁用)。
标签: c# windows mouseevent