C#获得窗体文本的内容
2015-05-04 15:36:55 访问(3021) 赞(0) 踩(0)
[DllImport("user32.dll")]
public static extern int EnumWindows(WNDENUMPROC lpEnumFunc, int lParam);
public bool EnumFunc(IntPtr hwnd, int lParam)
{
if (!IsWindowVisible(hwnd))
return true; // 不可见
StringBuilder vBuffer = new StringBuilder(256);
GetClassName(hwnd, vBuffer, vBuffer.Capacity);
string name = vBuffer.ToString();
if (vBuffer.ToString() == "TXGuiFoundation")
{
uint vProcessId;
GetWindowThreadProcessId(hwnd, out vProcessId);
var nameid = GetProcessName(vProcessId).ToLower();
if (GetProcessName(vProcessId).ToLower() == "qq.exe")
{
GetWindowText(hwnd, vBuffer, vBuffer.Capacity);
// 标题中含"聊天中"
if (vBuffer.ToString().IndexOf("QQ2013") >= 0)
{
//在这里用EnumChildWindows API没有办法取得登录框里面的控件了
EnumChildWindows(hwnd, @EnumChild, lParam);
return false;
}
}
}
return true;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
EnumWindows(EnumFunc, 0);
}
标签:
C#获得窗体文本的内容 


上一条:
下一条:
相关评论
发表评论