Пример #1
0
        private void btnLikeHwnd_Click(object sender, EventArgs e)
        {
            List <int> list = GetHwndInfor.ClassNameAndTitleToParentHwnd(this.txtLikeTitle.Text, this.txtClassName.Text);

            if (list.Count == 1)
            {
                iActiveHwnd        = list[0];
                this.txtHwnd.Text  = iActiveHwnd.ToString();
                this.txtTitle.Text = GetHwndInfor.GetHwndTitle(iActiveHwnd);
                MessageBox.Show("获取成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                MessageBox.Show(string.Format("获取到{0}个相同符合条件的句柄位置。", list.Count), "不能唯一确定", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Пример #2
0
        private void btnLikeHwnd2_Click(object sender, EventArgs e)
        {
            List <int> list = GetHwndInfor.ClassNameAndTitleToParentHwnd(this.txtTopFormTitle.Text, this.txtTopFormClassName.Text);

            if (list.Count == 1)
            {
                int   tempHwnd = list[0];
                Regex rg       = new Regex("^(?<x>[0-9]+),(?<y>[0-9]+)$");
                if (rg.IsMatch(this.txtOffsetPoint.Text))
                {
                    GroupCollection group = rg.Match(this.txtOffsetPoint.Text).Groups;
                    Point           p     = new Point(int.Parse(group["x"].ToString()), int.Parse(group["y"].ToString()));

                    iActiveHwnd = GetHwndInfor.TopFromHwndAndOffsetPointGetHwnd(tempHwnd, p, this.txtParentClassName.Text);
                    if (iActiveHwnd != 0)
                    {
                        this.txtHwnd.Text  = iActiveHwnd.ToString();
                        this.txtTitle.Text = GetHwndInfor.GetHwndTitle(iActiveHwnd);
                        MessageBox.Show("获取成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        this.txtHwnd.Text  = "0";
                        this.txtTitle.Text = "获取失败";
                    }
                }
                else
                {
                    MessageBox.Show("错误的鼠标位置,正确的格式(x,y):23,89", "输入错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show(string.Format("获取到{0}个相同符合条件的句柄位置。", list.Count), "不能唯一确定", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }