网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
在C#中调用Win32函数EnumWindows枚举所有窗口
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

我们都知道微软.Net中,C# 是用来开发网络解决方案的首先语言。但是在胖客户端,C# 同样有着出色的表现。对那些熟悉 Win32 API 的程序员来说,关键是如何将 C# 的新特性与 Win32 API 融合在一起。

下面例子说明如何在 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;

}

}

注:有关“委托”、“平台调用”及“实例化”等的详细资料请参考 Visual .Net Help。

  • 上一篇资讯: C#中SQL语句中实用参数
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号