gpt4 book ai didi

c# 如何使用 MainWindowHandle 获取所有窗口

转载 作者:行者123 更新时间:2023-11-30 12:34:06 25 4
gpt4 key购买 nike

看看这张图片:enter image description here

这就是我如何获得被黑框包围的窗口的句柄。

          Process[] processes = Process.GetProcessesByName("TopazChat");
foreach (Process p in processes)
{

MessageBox.Show(p.MainWindowHandle.ToString());
List<IntPtr> test = GetChildWindows(p.MainWindowHandle);
foreach (IntPtr IGotIt in test)
{
MessageBox.Show("I got the child windows");
}
}

我的问题是:如何获取被红框包围的窗口句柄?我的方法有问题吗?

有什么建议吗?我只是使用这种方法,因为它是我唯一熟悉的方法。

最佳答案

另一个窗口是同一进程中的另一个顶级窗口,它实现了应用程序中的一个可见窗口。这是一个旧的 Delphi 7 应用程序,它实现了可见窗口层次结构之外的隐藏顶层窗口。那个隐藏的窗口就是您找到的窗口,以黑色突出显示,类名称为 TApplication。

如果我是你,我会 p/调用对 EnumWindows 的调用以获取所有顶级窗口,其中包括该应用程序的可见主窗口。这将以与您的 GetChildWindows 方法非常相似的方式实现。

关于c# 如何使用 MainWindowHandle 获取所有窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803289/

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