This documentation is archived and is not being maintained.

API Call Sample

This sample demonstrates calling Win32 API functions to enumerate and control processes and windows, and to query and change system settings.

To get samples and instructions for installing them

  • Do one or more of the following:

    • On the Help menu, click Samples.

      The Readme displays information about samples.

    • Visit the Visual Studio 2008 Samples Web site. The most recent versions of samples are available there.

    • Locate samples on the computer on which Visual Studio is installed. By default, samples and a Readme file are installed in drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid. For Express editions of Visual Studio, all samples are located online.

For more information, see Visual Studio Samples.

Security noteSecurity Note:

This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.

To run this sample

  • Press F5.

The class Win32API is defined in a separate file, Win32API.vb. Each API declaration, using the Declare Statement, is available as a Shared member of the Win32API class. Shared members can be called directly using the class name. It is not necessary to create an instance of the class to use them.

The main form contains a tab control with four tab pages. Each tab page demonstrates an action using Win32 API calls:

  • Active Processes   Fills a list view with all running Windows processes. The emphasis is on how to use a Win32 callback function, EnumWindows, by using a delegate.

  • Active Windows   Fills a ListBox control with all active windows, by filtering the results of the callback function, EnumWindows, using the Win32 API. In this example EnumWindows is defined using the DllImportAttribute class instead of the Declare Statement to contrast the difference between using the two methods.

  • Show Window   Allows the user to type a window caption and/or class name and bring the window to the foreground. This example emphasizes overloading multiple types of parameters to one Win32 API function to allow passing different types of variables to the function.

  • API Calls   Shows how to use the following Win32 API calls: GetDiskFreeSpace, GetDiskFreeSpaceEx, GetDriveType, CreateDirectory, SwapMouseButton, IsPwrHibernateAllowed, SetSuspendState, and Beep. These are examples of calls that return information that is not obtainable from the managed-class equivalents.