下面例子说明如何在 C# 中调用 Win32 API - EnumWindows 枚举所有窗口:
1.首先需要声明一个委托函数用于 Win32 API - EnumWindows 的回调函数:
public delegate bool CallBack(int hwnd, int lParam);
2.然后利用 C# 中的平台调用声明从 USER32.DLL 库中调用 API - EnumWindows,具体参数请参考 MSDN - Win32 API。
[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;
}
}
分享到:
相关推荐
EnumWindows枚举窗口源码,源码调用了EnumWindows函数来实现。@易语言能做什么。
用EnumWindows枚举当前所有已打开窗口标题栏名称
利用 Win32 API EnumWindows 找出系统中现有的全部窗口,并且示范 Delphi 应用 Callback Functioh 的范例程序
用于枚举桌面窗口,选中指定窗口后可并保存为bmp
EnumWindows枚举窗口源码,源码调用了EnumWindows函数来实现。
AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup ...EnumThreadWindows 枚举与指定任务相关的窗口 EnumWindows 枚举窗口列表中的所有父窗口 EqualRect 判断两个矩形结构是否相同
自己编写一个用VC++枚举当前所有打开的程序窗口,其原理是利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的枚举,从而得到...
enumwindows程序,枚举窗口程序示例程序,vs2008开发。
在Win32环境中建议使用这个函数 RegDeleteKey 删除现有项下方一个指定的子项 RegDeleteValue 删除指定项下方的一个值 RegEnumKey 枚举指定项的子项。在Win32环境中应使用RegEnumKeyEx RegEnumKeyEx 枚举指定项...
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Any, ByVal lParam As Long) As Long '枚举窗口列表中的所有父窗口(顶级和被所有窗口) Declare Function ShowWindow Lib "user32" (ByVal hWnd ...
查找和枚举windows窗口示例.
enumwindows 遍历窗口 共三个工程 一个vc6 两个vs2008
不能继承 没有无参构造方法 不需要new出来使用
VC枚举当前打开的程序窗口实例代码 利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的枚举,从而得到响应的窗口名称
VB查询内存里所有的窗口标题和进程ID 程序可以扫描内存中所打开的所有程序窗口标题名和进程名
获取桌面上的所有窗口
简单实用的遍历窗口工具。主要通过EnumWindows、EnumChildWindows函数和while循环,实现遍历所有窗口,希望对您的程序开发有所帮助
系统相关,枚举 自己编写一个用VC++枚举当前所有打开的程序窗口,其原理是利用GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE对打开的窗口进行查找,并将窗口的句柄存放在一个HWND的数组中,结合EnumWindows进行窗口的...
windows下qt获取所有桌面窗口、类名和标题,辅助开发的小工具 qDebug()窗口句柄:"窗口类名:"窗口标题:";