C#用UiAutomation获取窗口
时间: 2024-05-06 13:17:04 浏览: 283
在 C# 中,可以使用 UI Automation 来获取窗口。UI Automation 是一种 Microsoft 技术,可让您编写代码来与应用程序的用户界面元素进行交互。
以下是获取窗口的示例代码:
```csharp
using System;
using System.Windows.Automation;
class Program
{
static void Main(string[] args)
{
// 获取窗口标题为“Notepad”的第一个窗口
AutomationElement window = AutomationElement.RootElement.FindFirst(
TreeScope.Children,
new PropertyCondition(AutomationElement.NameProperty, "Notepad"));
if (window != null)
{
// 打印窗口的名称和类名
Console.WriteLine("Window Name: " + window.Current.Name);
Console.WriteLine("Window Class: " + window.Current.ClassName);
}
else
{
Console.WriteLine("Window not found.");
}
}
}
```
在上面的代码中,我们使用 `AutomationElement.RootElement` 获取桌面的根元素,并使用 `FindFirst()` 方法在其子元素中查找标题为 "Notepad" 的第一个窗口。如果找到窗口,我们将打印它的名称和类名。
请注意,要使用 UI Automation,您需要添加对 `UIAutomationClient` 和 `UIAutomationTypes` 命名空间的引用。
阅读全文