Code: Select all
#include "minigui.ch"
#define APP_TITLE 'Mi Programa'
#define MsgAlert( c ) MsgEXCLAMATION( c, "Atencion", , .f. )
Function Main ()
Local hWnd
IF IsExeRunning( cFileNoPath( HB_ArgV( 0 ) ) )
MsgAlert( "El programa " + APP_TITLE + " yá estaba siendo ejecutado!" )
hWnd := FindWindow( APP_TITLE )
IF hWnd > 0
IF IsIconic( hWnd )
Restore( hWnd )
ELSE
SetForeGroundWindow( hWnd )
ENDIF
ELSE
MsgStop( "No es possible encontrar el programa !", "Error", , .f. )
ENDIF
ELSE
DEFINE WINDOW Form1 ;
AT 0,0 ;
WIDTH 320 ;
HEIGHT 240 ;
TITLE "Mi Programa" ;
MAIN
END WINDOW
CENTER WINDOW Form1
ACTIVATE WINDOW Form1
ENDIF
Return Nil
#pragma BEGINDUMP
#define HB_OS_WIN_USED
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include "hbapi.h"
#include "hbapiitm.h"
HB_FUNC( ISICONIC )
{
hb_retl( IsIconic( ( HWND ) hb_parnl( 1 ) ) );
}
HB_FUNC ( FINDWINDOW )
{
hb_retnl( ( LONG ) FindWindow( 0, hb_parc( 1 ) ) );
}
HB_FUNC( ISEXERUNNING ) // ( cExeNameCaseSensitive ) --> lResult
{
HANDLE hMutex = CreateMutex( NULL, TRUE, ( LPTSTR ) hb_parc(1) );
hb_retl( GetLastError() == ERROR_ALREADY_EXISTS );
ReleaseMutex( hMutex );
}
#pragma ENDDUMP