procedure ActivateWindow lparameters tnHwnd declare short SetForegroundWindow in win32API integer nHwnd declare short ShowWindow in WIN32API alias Win32ShowWindow ; integer hwnd, ; integer nCmdShow declare short GetWindowPlacement in WIN32API ; integer hwnd, ; string @ lpwndpl #define SW_SHOWMINIMIZED 2 #define SW_SHOWMAXIMIZED 3 #define SW_MAXIMIZE 3 #define SW_SHOWNOACTIVATE 4 #define SW_SHOW 5 #define SW_MINIMIZE 6 #define SW_SHOWMINNOACTIVE 7 #define SW_SHOWNA 8 #define SW_RESTORE 9 #define SW_SHOWDEFAULT 10 #define SW_FORCEMINIMIZE 11 local lnHWND, lpwndpl lpwndpl = chr(4*3+8*2+4*4)+replicate(chr(0),4*3+8*2+4*4-1) SetForegroundWindow( m.tnHWND ) if ( GetWindowPlacement(m.tnHWND, @lpwndpl) # 0 ) and ; inlist(asc(substr(m.lpwndpl, 4+4+1, 1)), ; SW_SHOWMINIMIZED, SW_MINIMIZE, SW_SHOWMINNOACTIVE, SW_FORCEMINIMIZE) Win32ShowWindow(m.tnHWND, SW_RESTORE) endif