>>********************************************************** >>* 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 >> >>********************************* >>>>