API 调用示例

更新:2007 年 11 月

此示例演示如何调用 Win32 API 函数以枚举和控制进程和窗口,以及查询和更改系统设置。

获取示例及其安装说明

  • 执行下列一项或多项操作:

    • 在“帮助”菜单上,单击“示例”。

      自述文件将显示有关示例的信息。

    • 访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。

    • 在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。

有关更多信息,请参见定位示例文件

安全说明:

此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。

运行此示例

  • 按 F5。

演示

Win32API 类在单独的文件 Win32API.vb 中定义。使用 Declare 语句 的每个 API 声明均可作为 Win32API 类的一个 Shared 成员。可以使用类名直接调用共享成员。无需创建类的实例即可使用它们。

主窗体包含一个带有四个选项卡页的选项卡控件。每个选项卡页演示一个使用 Win32 API 调用的操作:

  • 活动进程   用所有正在运行的 Windows 进程填充列表视图。重点在于如何通过利用委托来使用 Win32 回调函数 EnumWindows

  • 活动窗口   通过使用 Win32 API 筛选回调函数 EnumWindows 的结果,用所有活动窗口填充 ListBox 控件。在此示例中,EnumWindows 是使用 DllImportAttribute 类而不是 Declare 语句 定义的,以比较使用这两种方法之间的差异。

  • 显示窗口   使用户可以键入一个窗口标题和/或类名,并将窗口置于前台。此示例强调将多个类型的参数重载到一个 Win32 API 函数,从而允许向函数传递不同类型的变量。

  • API 调用   演示如何使用下面的 Win32 API 调用:GetDiskFreeSpaceGetDiskFreeSpaceExGetDriveTypeCreateDirectorySwapMouseButtonIsPwrHibernateAllowedSetSuspendStateBeep。这些调用示例返回的信息不能从等效托管类获得。

请参见

参考

DllImportAttribute

Declare 语句