The MsgBlaster or MessageBlaster is a freeware ActiveX control that helps you catch every Windows message. This control is used in several examples in this Win32 zone, see topic context-help for a practical example.

You can download the MsgBlaster from:


ProExtra.dll is a small Delphi utility I wrote to call some low-level stuff that would otherwise be hard to do from within 4GL.

proextra.dll and its Delphi source are included in "" which is available for download on page windows.i and hpApi.

Winconst tool (search Windows Constants)

The Win32 API contains many constants. contains a list of more than 14000 P4GL preprocessor definitions and a utility that helps to find dependencies.
For example, the constant WVR_REDRAW is defined as (WVR_HREDRAW | WVR_VREDRAW).

When you search for WVR_REDRAW in winconst.exe it will return

&GLOBAL-DEFINE WVR_REDRAW  ({&WVR_HREDRAW} + {&WVR_VREDRAW}) is freeware. So feel free to download it :-)
You have to be careful when you combine constants. In 3GL programming environments you would use the OR operator to combine constants, but in Progress we only have + to work with. This can make a difference. Also, we have no unsigned long integer. As a result, some values are converted to negative signed integers. Using these values together with the + operator instead of OR may give unexpected results.

Jeff Pilant writes on 11 Januari 2002:

I just saw a post on about this site:

It pointed out how to grab constants directly from the com object file.

The page talks about a microsoft provided program to do this. and his own program to convert this to 4GL along with samples for a number of MS products in

Changelog for winconst.i :

26 Nov 2002: many constants for MS-Access added by Jeff Pilant


download winconst

windows.i and hpApi


Throughout the site you will see references to windows.i and the handle hpApi.
hpApi is defined in windows.i and is a procedure-handle to windows.p.
windows.p contains a bunch of API procedures.

You can get a copy of windows.i and windows.p: they are in "" which also contains some more API-related sources .

Attachments : contains windows.i and windows.p, and more :-)


You can find procedure winstyle.p in, available on page windows.i and hpApi