首页 > 编程语言 > 详细

C# EnumWindows 枚举所有窗口并返回指定窗口标题句柄

时间:2020-11-24 22:59:52      阅读:433      评论:0      收藏:0      [点我收藏+]
//调用
            ListTitleHandle = new List<IntPtr>();
            var r =  EnumWindows(PrintWindow, "计算器");



        //函数指针类型
        delegate bool deleWindowsProc(IntPtr hWnd, string lParam);

        [DllImport("user32.dll")]
        static extern int EnumWindows(deleWindowsProc hWnd, string lParam);

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        static extern int GetWindowText(IntPtr hWnd, StringBuilder lpText, int nCount);

        //存储句柄集合
        List<IntPtr> ListTitleHandle;
        //回调函数
        bool PrintWindow(IntPtr hWnd, string lParam)
        {
            //分配空间
            var sb = new StringBuilder(50);
            GetWindowText(hWnd, sb, sb.Capacity);
            //注意某些窗口没有标题
            if (sb.ToString() != String.Empty && sb.ToString().Equals(lParam))
            {
                Console.WriteLine(sb.ToString());
                ListTitleHandle.Add(hWnd);
            }
            //返回True继续往下回调,返回False终止
            return true;
        }

 

C# EnumWindows 枚举所有窗口并返回指定窗口标题句柄

原文:https://www.cnblogs.com/lee2011/p/14032557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!