Gambas3 => Programmazione => Topic aperto da: Gratisweb - 14 Maggio 2024, 22:30:36
Titolo: impedire avvio multiplo
Inserito da: Gratisweb - 14 Maggio 2024, 22:30:36
Creo un programma in gambas e lo avvio, come si fà in modo che se si avvia di nuovo per sbaglio invece si deve chiudere automaticamente ? Mi spiego...... Io credo un programma che si chiama ESEMPIO1 lancio ESEMPIO1 senza chiuderlo lancio di nuovo ESEMPIO1 ed invece si deve chiudere perchè già l' ho aperto prima. Come si fà ?
Titolo: Re:impedire avvio multiplo
Inserito da: vuott - 14 Maggio 2024, 23:00:55
Titolo: Re:impedire avvio multiplo
Inserito da: Gratisweb - 15 Maggio 2024, 07:22:02
Ho provato questo è funziona......
Public Sub Form_Activate() ' oppure "Sub Main()" se il programma è a "linea di comando"
Dim s, cmdline As String Dim id As New String[]
For Each s In Dir("/proc", "*", gb.Directory) If Exist("/proc" &/ s &/ "cmdline") Then cmdline = File.Load("/proc" &/ s &/ "cmdline") If (cmdline Like "*" & Application.Name & ".gambas*") Then id.Push(Split(File.Load("/proc" &/ s &/ "stat"), Chr(32))[0]) If id.Count > 1 Then If id[id.Max] > id[id.Max - 1] Then Quit Endif Endif Endif Next
End
Ma funziona solo se il file eseguibile finisce con .gambas..... Ma se il file eseguibile non finisce con .gambas ma non ha estensionee?
Esempio invece di chiamarsi esempio.gambas si chiama esempio
Perchè appena rinomino il file eseguibile togliendo il .gambas non funziona
Titolo: Re:impedire avvio multiplo
Inserito da: vuott - 15 Maggio 2024, 15:09:55
...prova a eliminare la parola ".gambas" dal codice. In sostanza la nuova riga sarà: