自动点击按钮

问题描述 投票:0回答:1

我正在尝试从 Windows 中的

.Net 7
c# 程序单击应用程序中的按钮。该按钮只有属性
IsLegacyIAccessiblePatternAvailable = true
,我可以在 Windows Inspect.exe 中看到该属性。因此,我确实尝试使用以下方式调用按钮:

if (button_Create.TryGetCurrentPattern(LegacyIAccessiblePattern.Pattern, out var pattern))
{
  var legacyPattern = (System.Windows.Automation.LegacyIAccessiblePattern)pattern;
  legacyPattern.DoDefaultAction();
}

但是,我无法让它工作,因为找不到

LegacyIAccessiblePattern
并出现错误
CS0103
CS0234
。不过,
System.Windows.Automation
中的其他方法也是可用的。

我需要做什么才能告诉 VS 包含正确的库?

c# ui-automation
1个回答
0
投票

您使用的是 Windows Automation API v3.0 吗?我发现这个适配器可以使用旧版本 API 中的方法,并且它们包括 LegacyIAccessiblePattern。因此,您可能会尝试使用仅在旧版本 API 中可用的类。

您可能想尝试引用 NuGet 包 Interop.UIAutomationClient 并看看它是否能解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.