c#取指定类名窗口的内容信息
时间: 2023-12-04 12:02:26 浏览: 225
取窗口信息.例如ID值.类名的源码
你可以使用Windows API函数来获取指定类名窗口的内容信息。
以下是一个使用Windows API函数获取指定类名窗口文本信息的C#代码示例:
```csharp
using System;
using System.Runtime.InteropServices;
public class WindowContentGetter {
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, StringBuilder lParam);
private const int WM_GETTEXT = 0x000D;
private const int WM_GETTEXTLENGTH = 0x000E;
public static string GetWindowText(string className, string windowName) {
IntPtr hWnd = FindWindow(className, windowName);
if (hWnd == IntPtr.Zero) {
return null;
}
int length = (int)SendMessage(hWnd, WM_GETTEXTLENGTH, IntPtr.Zero, null);
if (length == 0) {
return null;
}
StringBuilder sb = new StringBuilder(length + 1);
SendMessage(hWnd, WM_GETTEXT, (IntPtr)sb.Capacity, sb);
return sb.ToString();
}
}
```
使用示例:
```csharp
string windowText = WindowContentGetter.GetWindowText("ClassName", "WindowName");
if (windowText != null) {
Console.WriteLine(windowText);
}
```
其中,`ClassName`是指定窗口类名,`WindowName`是指定窗口标题。你可以根据需要修改这两个参数来获取不同窗口的内容信息。
阅读全文