C#获得窗体文本的内容

2015-05-04 15:36:55  访问(3024) 赞(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#获得窗体文本的内容 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)