• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在C#中調用Win32函數EnumWindows枚舉所有窗口

    發表于:2007-05-25來源:作者:點擊數: 標簽:EnumWindowsWin32枚舉調用函數
    我們都知道微軟.Net中,C# 是用來 開發 網絡 解決方案 的首先語言。但是在胖客戶端,C# 同樣有著出色的表現。對那些熟悉 Win32 API 的 程序員 來說,關鍵是如何將 C# 的新特性與 Win32 API 融合在一起。 下面例子說明如何在 C# 中調用 Win32 API - EnumWindo
    我們都知道微軟.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。

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>