gpt4 book ai didi

C#:检测哪个应用程序具有焦点

转载 作者:可可西里 更新时间:2023-11-01 03:00:42 25 4
gpt4 key购买 nike

我想创建一个 C# 应用程序,它根据当前具有焦点的应用程序更改内容。因此,如果用户使用的是 Firefox,我的应用程序就会知道这一点。同样适用于 Chrome、Visual Studio、TweetDeck 等。

这是否可能,如果可能 - 我将如何实现它?

我觉得我的要求太多了 - 但值得一试。

非常感谢。

最佳答案

这可以在纯 .NET 中使用 Automation framework 完成这是 WPF 的一部分。添加对 UIAutomationClientUIAutomationTypes 的引用并使用 Automation.AddAutomationFocusChangedEventHandler ,例如:

public class FocusMonitor
{
public FocusMonitor()
{
AutomationFocusChangedEventHandler focusHandler = OnFocusChanged;
Automation.AddAutomationFocusChangedEventHandler(focusHandler);
}

private void OnFocusChanged(object sender, AutomationFocusChangedEventArgs e)
{
AutomationElement focusedElement = sender as AutomationElement;
if (focusedElement != null)
{
int processId = focusedElement.Current.ProcessId;
using (Process process = Process.GetProcessById(processId))
{
Debug.WriteLine(process.ProcessName);
}
}
}
}

关于C#:检测哪个应用程序具有焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com