Hi you also need windows.i
/* ====================================================================
file windows.i
by Jurjen Dijkstra, 1997
mailto:jurjen@global-shared.com
http://www.global-shared.com
language Progress 8.2A
==================================================================== */
&IF DEFINED(WINDOWS_I) = 0
&THEN
&GLOBAL-DEFINE WINDOWS_I
&GLOBAL-DEFINE A A
/* data types */
&GLOBAL-DEFINE HWND LONG
&GLOBAL-DEFINE BOOL LONG
&GLOBAL-DEFINE HINSTANCE LONG
&GLOBAL-DEFINE INT LONG
&GLOBAL-DEFINE INTSIZE 4
/* libraries */
&GLOBAL-DEFINE USER "user32"
&GLOBAL-DEFINE KERNEL "kernel32"
&GLOBAL-DEFINE SHELL "shell32"
&GLOBAL-DEFINE MAPI "mapi32"
&GLOBAL-DEFINE GDI "gdi32"
&GLOBAL-DEFINE MMEDIA "winmm"
&GLOBAL-DEFINE WINSPOOL "winspool.drv"
&GLOBAL-DEFINE ADVAPI "advapi32"
&GLOBAL-DEFINE A A
/* messages */
&GLOBAL-DEFINE WM_PAINT 15
&GLOBAL-DEFINE WM_HSCROLL 276
&GLOBAL-DEFINE WM_VSCROLL 277
&GLOBAL-DEFINE WM_LBUTTONDOWN 513
&GLOBAL-DEFINE WM_LBUTTONUP 514
&GLOBAL-DEFINE WM_RBUTTONDOWN 516
&GLOBAL-DEFINE WM_RBUTTONUP 517
&GLOBAL-DEFINE WM_USER 1024
/* mouse buttons */
&GLOBAL-DEFINE MK_LBUTTON 1
&GLOBAL-DEFINE MK_RBUTTON 2
/* scrollbars */
&GLOBAL-DEFINE SB_HORZ 0
&GLOBAL-DEFINE SB_VERT 1
&GLOBAL-DEFINE SB_BOTH 3
&GLOBAL-DEFINE SB_THUMBPOSITION 4
/* editors */
&IF "{&OPSYS}":U="WIN32":U
&THEN
&GLOBAL-DEFINE EM_SETPASSWORDCHAR 204
&ELSE
&GLOBAL-DEFINE EM_SETPASSWORDCHAR {&WM_USER} + 28
&ENDIF
/* some window styles */
&GLOBAL-DEFINE GWL_STYLE -16
&GLOBAL-DEFINE WS_MAXIMIZEBOX 65536
&GLOBAL-DEFINE WS_MINIMIZEBOX 131072
&GLOBAL-DEFINE WS_THICKFRAME 262144
&GLOBAL-DEFINE WS_CAPTION 12582912
&GLOBAL-DEFINE WS_BORDER 8388608
/* some extended window styles */
&GLOBAL-DEFINE GWL_EXSTYLE -20
&GLOBAL-DEFINE WS_EX_CONTEXTHELP 1024
&GLOBAL-DEFINE WS_EX_PALETTEWINDOW 392
/* system commands/menu */
&GLOBAL-DEFINE SC_SIZE 61440
&GLOBAL-DEFINE SC_MINIMIZE 61472
&GLOBAL-DEFINE SC_MAXIMIZE 61488
&GLOBAL-DEFINE MF_BYCOMMAND 0
/* placement order (Z-order) */
&GLOBAL-DEFINE HWND_TOPMOST -1
&GLOBAL-DEFINE HWND_NOTOPMOST -2
/* window-positioning flags */
&GLOBAL-DEFINE SWP_NOSIZE 1
&GLOBAL-DEFINE SWP_NOMOVE 2
&GLOBAL-DEFINE SWP_NOZORDER 4
&GLOBAL-DEFINE SWP_NOACTIVATE 16
&GLOBAL-DEFINE SWP_FRAMECHANGED 32
&GLOBAL-DEFINE SWP_SHOWWINDOW 64
/* registry */
&GLOBAL-DEFINE HKEY_CLASSES_ROOT -2147483648
&GLOBAL-DEFINE HKEY_CURRENT_USER -2147483647
&GLOBAL-DEFINE HKEY_LOCAL_MACHINE -2147483646
&GLOBAL-DEFINE HKEY_USERS -2147483645
&GLOBAL-DEFINE HKEY_PERFORMANCE_DATA -2147483644
&GLOBAL-DEFINE HKEY_CURRENT_CONFIG -2147483643
&GLOBAL-DEFINE HKEY_DYN_DATA -2147483642
&GLOBAL-DEFINE ERROR_SUCCESS 0
&GLOBAL-DEFINE ERROR_NO_MORE_ITEMS 259
&GLOBAL-DEFINE MAX_PATH 260
/* results from WaitForSingleObject */
&GLOBAL-DEFINE WAIT_ABANDONED 128
&GLOBAL-DEFINE WAIT_OBJECT_0 0
/* menu manipulation */
&GLOBAL-DEFINE MF_BYPOSITION 1024
&GLOBAL-DEFINE MF_REMOVE 256
/* get a handle to the procedure definitions */
&IF DEFINED(DONTDEFINE-HPAPI)=0
&THEN
DEFINE NEW GLOBAL SHARED VARIABLE hpApi AS HANDLE NO-UNDO.
IF NOT VALID-HANDLE(hpApi) THEN RUN windows/Windows.p PERSISTENT SET hpApi.
/* forward function declarations. Must not be included in windows.p : */
{winfunc.i}
&ENDIF
&ENDIF /* &IF DEFINED(WINDOWS_I)=0 */