c# - 捕获窗口类#32770

标签 c#

我是 C# 新手,在捕获服务器中显示的任何 Windows 对话框时遇到一些问题。我需要知道 Windows 对话框中的消息(标题和标题),以便我可以写入我的应用程序日志。

我知道我必须找到 #32770 类窗口,但我不知道如何枚举窗口。在delphi 7中,代码应该使用一些函数,例如:

  • 枚举窗口
  • 枚举进程
  • 枚举子窗口
  • 枚举childwindowsproc
  • 获取windowthreadprocessid
  • 获取类名
  • 获取窗口文本

有什么解决办法吗?

最佳答案

您也可以在 C# 中使用 Windows API。您可以找到很多使用 here 的信息和示例。和here是有关 DllImport 属性的信息。

您可以尝试以下操作:

class Program
{
    [DllImport("user32.dll", SetLastError = true)]
    public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);

    static void Main(string[] args)
    {
        var handle = IntPtr.Zero;
        do
        {
            handle = FindWindowEx(IntPtr.Zero, handle, "#32770", null);
            if (handle != IntPtr.Zero )
                Console.WriteLine("Found handle: {0:X}", handle.ToInt64());
        } while (handle != IntPtr.Zero);


        Console.ReadLine();
    }
}

关于c# - 捕获窗口类#32770,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20739261/

相关文章:

c# - process.MainWindowHandle 为零?

c# - C# (.NET) 中的 Android AsyncTask 类似功能

c# - 如何使用 C# 反转 XAML PNG 图像的颜色?

c# - 从Dictionary的值中获取名称,以逗号分隔的值字符串

c# - 我应该将什么 'length' 参数传递给 SqlDataReader.GetBytes()

c# - 公共(public)交通消息的最大大小是多少?

c# - Microsoft Owin 日志记录 - Web Api 2 - 如何创建记录器?

c# - 为什么我的 API 返回 {}

c# - 如何使用 Microsoft.Extensions.DependencyInjection 在 .net 框架中的 webapi 中注入(inject)依赖项?

c# - 如何在 ios xamarin studio 中生成 xml 文档文件?