Example #1
0
        /// <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);
        }
Example #2
0
        /// <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());
        }
Example #3
0
        /// <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);
        }
Example #4
0
 /// <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);
 }