- ·上一篇内容:C#画笔的用法
- ·下一篇内容:Visual C#中实现Window管道技术
在C#中调用API函数枚举所有窗口
本文介绍了使用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),转载请保留此信息!
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。