Page 1 of 1
VISTA - how to avoid double start of programs
Posted: Mon Sep 18, 2006 7:16 am
by Otto
In VISTA FW - FWH programs can be started twice.
How to detect if an app is allready running?
Thanks in advance
Otto
Posted: Mon Sep 18, 2006 7:56 am
by Antonio Linares
Otto,
Code: Select all
#include "FiveWin.ch"
#define GW_CHILD 5
#define GW_HWNDNEXT 2
function Main()
local oWnd
if Is Exe Running( cFileName( HB_ARGV( 0 ) ) )
ShowApplication()
else
DEFINE WINDOW oWnd TITLE "Test"
ACTIVATE WINDOW oWnd
endif
return nil
function ShowApplication()
local hWnd := FindWnd( cFileNoExt( HB_ARGV( 0 ) ) )
if hWnd != nil
SetForeGroundWindow( hWnd )
endif
return nil
function FindWnd( cTitle )
local hWnd := GetWindow( GetDesktopWindow(), GW_CHILD )
while hWnd != 0
if Upper( cTitle ) $ Upper( GetWindowText( hWnd ) )
return hWnd
endif
hWnd = GetWindow( hWnd, GW_HWNDNEXT )
end
return nil