INF: Obtaining an Application's Instance Handle

ID Number: Q35767

2.03 2.10 3.00 3.10

WINDOWS

Summary:

Many Windows API functions require an application's instance handle as

a parameter. This article describes three methods that an application

can use to obtain its instance handle.

More Information:

Depending on the situation, an application might use any of the

following three methods to obtain its instance handle:

1. The hInstance parameter to the WinMain procedure is the

application's instance handle. The application can save this value

in a global variable, making it available throughout the application.

2. The lParam parameter of the WM_CREATE message points to a

CREATESTRUCT data structure, and the hInstance field of this

structure is the application's instance handle. During the

processing of the WM_CREATE message a window procedure can save

this value in a static variable, as follows:

hInst = ((LPCREATESTRUCT)lParam)->hInstance;

This variable would then be available during all subsequent calls

to the window procedure.

3. Given a window handle for one of its windows, an application can

obtain its instance handle by calling the GetWindowWord function:

GetWindowWord(hWnd, GWW_HINSTANCE)

Additional reference words: 2.03 2.10 2.x 3.00 3.10 3.x