Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Accessing other aps.
Message
 
 
To
08/07/1999 17:24:43
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00239110
Message ID:
00239133
Views:
12
>Is it possible to determine if another application is alrady running and to activate that program if it is running?
>There must be some type of window function to access the other available running apps that I am missing.

Here is some code that someone post on the UniversalThread. I don't remember the author. It checks if a program is already running using the window title. The application is brought forward if it is running.
**********************************************************
* 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
Previous
Reply
Map
View

Click here to load this message in the networking platform