Si ha ragione
vuott, ho recuperato dalla wiki e da passate discussioni del codice da lui postato e ho messo insieme questo esempio.
Per fare una prova di questo codice occorre creare nella nostra cartella (directory)
home una nuova cartella e nominarla
ProgrammaConControllo.
Avviamo l'
IDE di Gambas e creiamo un semplice programma grafico (non importa dove lo salviamo) che nomineremo
ProgB in cui ci limiteremo a scrivere
B nella Proprietà
Text di
FMain.form.
Quindi da
Progetto > Crea > Eseguibile... navighiamo fino alla cartella appena creata (
ProgrammaConControllo) e salviamo l'eseguibile al suo interno.
Sempre dalla
IDE creiamo un nuovo programma grafico che nomineremo
ProgA dove in
FMain.class copieremo il seguente codice.
Public Sub Form_Open()
Dim iID As New Integer[]
Dim sPath As String = User.Home &/ "ProgrammaConControllo"
If Exist(sPath) Then
Message.Info("#La directory esiste")
iID = Desktop.FindWindow("B")
sPath &= "/ProgB.gambas"
If iID.count = 0 Then
Try Exec [sPath] Wait
If Error Then Message.Info("#L'applicazione non esiste!")
Else If iID.count > 0 Then
Message.Info("#L'applicazione è già avviata!")
End If
Endif
Message.Info("#Mi sto chiudendo")
Me.Close
End
Come per il programma B creiamo l'eseguibile salvandolo in
ProgrammaConControllo.
Fatto.
Chiudiamo l'ide e dalla cartella ProgrammaConControllo avviamo il programma A (
ProgA) per verificarne il funzionamento.
P.S. Molto probabilmente il
New in Dim iID è superfluo...