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

摘要:
//调用ListTitleHandle=newList<IntPtr>();Varr=EnumWindows(PrintWindow,“Calculator”)//函数指针类型delegatebookeleWindowsProc(IntPtrhWnd,stringlParam);[DllImport(“user32.dll”)]静态外部枚举Windows(deleWindowsPr
//调用
            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 枚举所有窗口并返回指定窗口标题句柄》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】wget(二)连续四年第一!华为云FusionAccess夺桌面云市场桂冠下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java--枚举

前言   java中enum其实也是一种class类型,他和一般的class不同的是    1.全局只有一个实例    2.不能拥有public构造函数    3.无法继承和被继承 枚举案例 public enum HttpCode { SUCCESS(200, "操作成功"),//每定义一个枚举项,就相当通过构造函数HttpCode(int co...

WPF RadioButton 绑定枚举

定义枚举类型 public enum CoordinateEnum { X=0,Y,Z,RX,RY,RZ } 定义枚举转换Convert public class EnumConvert : IValueConverter { public object Convert(object value,...

Java中枚举的使用

常量与枚举 一、常量定义方法        常量是其值固定不变的量,一般可以分为字面常量和命名常量,如数字1,2,1.3,字符串“abc”,这些就是字面常量,而命名常量是我们使用一些有意义的名称来代表字面常量值,通常命名常量有助于我们更好地理解程序的逻辑。        在Java中,我们通常使用public static final ... 方式来定义常...

QT枚举类型与字符串类型相互转换

Qt5以后(具体版本可能是5.10吧,这个不确定)采用以下方法 https://www.cnblogs.com/dongc/p/5630444.html 在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了。 代码示例: #include <QtCore/QMetaEnum>...

js对象中什么是可枚举性(enumerable)?

说到枚举,可能很多人都会想到枚举类型,但在javascript对象中有一个属性为可枚举性,他是什么呢? 概念 可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for...in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不会取到该属性。* for..in循环* Object.keys方法* JSON.s...

枚举和宏的区别

枚举: 枚举是一种变量类型,枚举基本等效于int类型,占用同样的空间,同样的数值范围,但是枚举通常都是表示常数变量,对枚举变量做一些算术计算通常是编译器不允许的,但是可以加上强制类型转换,本来不在枚举符表里面的值也可以大摇大摆的登堂入室,枚举符表甚至允许数值相等。在没有赋值的引用中,只会是int范围内的垃圾数值,根本就不会是枚举符表中的数值。对于默认的情况...