Microsoft Automation UI鼠标单击给定位置

时间:2015-12-10 22:00:35

标签: c# microsoft-ui-automation

我正在开发一个C#控制台应用程序,它将打开一个应用程序并在那里做一些事情。我可以启动应用程序并登录到应用程序。我需要对特定位置进行一些鼠标点击操作,但无法找到如何操作。有可能模拟它吗?我必须使用这个职位,因为我需要做的不仅仅是点击按钮或文本框。我需要右键单击主窗口并从开始菜单中选择一些内容。我不确定是否有办法使用Microsoft Automation UI。

提前致谢。

2 个答案:

答案 0 :(得分:3)

从Nuget下载Microsoft.TestApi。

using Microsoft.Test.Input;
using System.Drawing;

Mouse.MoveTo(new Point(1000, 1000));
Mouse.Click(MouseButton.Right);

此外,您可以将Teststack.White用于此类自动化目的。

答案 1 :(得分:2)

Microsoft.TestApi应该能够点击您提供的坐标。看看Mouse类'MoveTo方法。

您可能必须通过WinAPI的GetClientRect方法获取坐标。或者,您可以将TestApi与UIAutomation一起使用,因为您打算使用它。通过获取窗口句柄获取已启动进程的AutomationElement,然后可以使用UIAutomation导航可视树,并使用GetClickablePoint获取可以传递给TestApi的Mouse.MoveTo()方法的Point对象。 / p>