>********************************************************** >* detects if program is already running >* if it is then it shuts down > >FUNCTION ckrun >PARAMETERS WindowName >#define GW_OWNER 4 >#DEFINE GW_HWNDFIRST 0 >#DEFINE GW_HWNDNEXT 2 >declare integer SetForegroundWindow in win32api long lnhWnd >declare integer GetWindowText in win32api integer, string, integer >declare integer GetWindow in win32api integer,INTEGER >declare integer IsWindowVisible in win32api integer >declare integer GetActiveWindow in win32api >IsWindEx = .F. >if len(WindowName) < 1 > return .t. >endif >foxhwnd = GetActiveWindow() && get the window handle of this window >hwndNext = GetWindow(foxhwnd,GW_HWNDFIRST) && get the handel of the first window > >**** loop thru each window to search the title >DO WHILE hwndNext <> 0 > *** if window is not the foxpro handle and not a child window > IF (hwndnext <> foxhwnd .AND. GetWindow(hwndnext,GW_OWNER) = 0) > > Stuffer = SPACE(64) > x = GetWindowText(hwndnext,@Stuffer,64) && get the window text >*** check to see if this is the specified window. > IF WindowName $ Stuffer > IsWindEx = .T. > =SetForegroundWindow(hwndnext) && BRING WINDOW TO FRONT > EXIT > ENDIF > ENDIF > hwndNext = GetWindow(hwndnext,GW_HWNDNEXT) >ENDDO >RETURN IsWindEx > >********************************* >>