PROCEDURE CloseWindow
LPARAMETERS pcTitle, pcButtonCaption
#DEFINE WM_COMMAND 0x0111
#DEFINE WM_LBUTTONDOWN 0x0201
#DEFINE WM_LBUTTONUP 0x0202
DECLARE INTEGER FindWindow IN user32;
STRING lpClassName,;
STRING lpWindowName
DECLARE INTEGER FindWindowEx IN user32;
INTEGER hwndParent, ;
INTEGER hwndChildAfter, ;
STRING lpszClassName, ;
STRING lpszWindowCaption
DECLARE INTEGER SendMessage IN user32;
INTEGER hWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER lParam
wndDialog = FindWindow( 0, pcTitle )
wndButton = 0
if wndDialog > 0
* Sometimes Message WM_COMMAND 0x00110818 isn't enough,
* if you MUST click "Cancel" or "Yes", etc
* then provide a button caption
if VarType(pcButtonCaption)='C'
wndButton = FindWindowEx( wndDialog, 0, 'Button', ;
pcButtonCaption )
if wndButton > 0
SendMessage(wndButton, WM_LBUTTONDOWN, 1, 0x00120025 )
SendMessage(wndButton, WM_LBUTTONUP, 0, 0x00120025 )
* Button Clicked message
SendMessage(wndDialog, WM_COMMAND, 3, wndButton )
endif
endif
SendMessage(wndDialog, WM_COMMAND, 1, 0x00110818 )
endif
return Str(wndDialog,10)+str(wndButton,10)