API Call Sample
This sample demonstrates calling Win32 API functions to enumerate and control processes and windows, and to query and change system settings.
This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended.
To open the sample file in Solution Explorer
Click Download Sample.
The File Download message box appears.
Click Open, and on the left column of the zip folder window, click Extract all files.
The Extraction Wizard opens.
Click Next. You can change the directory that the files will be extracted to, and then click Next again.
Make sure that the Show extracted files check box is selected, and click Finish.
Double-click the sample's .sln file.
The sample solution is displayed in Solution Explorer. You might get a security warning that says the solution location is not trusted. Click OK to continue.
To run this sample
The class Win32API is defined in a separate file, Win32API.vb. Each API declaration, using the, 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 acontrol 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 class instead of the 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.