首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#文件操作

在C#中调用API函数枚举所有窗口

减小字体 增大字体 作者:不详  来源:编程爱好者网站  发布时间:2010-08-31 06:58:00

本文介绍了使用Win32 API枚举所有窗口的方法,主要是调用了API 的EnumWindows函数来实现的。下面是具体的步骤:

(1)声明一个委托函数用于 Win32 API - EnumWindows 的回调函数:

public delegate bool CallBack(int hwnd, int lParam);

(2)利用 C# 中的平台调用声明从 USER32.DLL 库中调用 API - EnumWindows。

[DllImport("user32")]  public static extern int EnumWindows(CallBack x, int y);

(3)实例化委托,调用 EnumWindows。

CallBack myCallBack = new CallBack(EnumWindowsApp.Report);

(4)完整源代码如下

using System;

using System.Runtime.InteropServices;

public delegate bool CallBack(int hwnd, int lParam);

public class EnumWindowsApp

{

        [DllImport("user32")]

        public static extern int EnumWindows(CallBack x, int y);

        public static void Main()

        {

                        CallBack myCallBack = new CallBack(EnumWindowsApp.Report);

                        EnumWindows(myCallBack, 0);

                }

                public static bool Report(int hwnd, int lParam)

                {

                        Console.Write("Window handle is :");

                        Console.WriteLine(hwnd);

                        return true;

                }

        }


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.