/// <summary> /// 设置该子窗口的文本内容 /// </summary> /// <param name="cwi"></param> /// <param name="content"></param> public static void SetContent(this ChildWindowInfo cwi, string content) { StringBuilder sb = new StringBuilder(); sb.Append(content); SendMessage(cwi.Hwnd, WM_SETTEXT, 0, sb); }
/// <summary> /// 获取该子窗口的文本内容 /// </summary> /// <param name="cwi"></param> public static string GetContent(this ChildWindowInfo cwi) { StringBuilder sb = new StringBuilder(4048); SendMessage(cwi.Hwnd, WM_GETTEXT, sb.Capacity, sb); return(sb.ToString()); }
/// <summary> /// 获取该窗口的所有子窗口句柄信息 /// </summary> /// <param name="hwnd">父句柄</param> /// <returns></returns> public static List <ChildWindowInfo> GetAllChildWindowList(this WindowInfo wi) { List <ChildWindowInfo> windowInfoList = new List <ChildWindowInfo>(); StringBuilder sb = new StringBuilder(4048); EnumChildWindows(wi.Hwnd, (IntPtr childHwnd, int lParam) => { ChildWindowInfo windowInfo = new ChildWindowInfo(); windowInfo.Hwnd = childHwnd; GetWindowText(childHwnd, sb, sb.Capacity); windowInfo.WindowName = sb.ToString(); GetClassName(childHwnd, sb, sb.Capacity); windowInfo.ClassName = sb.ToString(); windowInfoList.Add(windowInfo); return(true); }, 0); return(windowInfoList); }
/// <summary> /// 模拟鼠标点击此窗口 /// </summary> /// <param name="cwi"></param> public static void Click(this ChildWindowInfo cwi) { SetForegroundWindow(cwi.Hwnd); SendMessage(cwi.Hwnd, WM_LBUTTONDOWN, 0, null); SendMessage(cwi.Hwnd, WM_LBUTTONUP, 0, null); }