Gambas-it

Gambas dal mondo esterno => Mailing List => Topic aperto da: vuott - 06 Luglio 2022, 23:07:53

Titolo: Come uccidere un processo, avviato con Shell o Exec, dopo un paio di secondi ?
Inserito da: vuott - 06 Luglio 2022, 23:07:53
https://lists.gambas-basic.org/pipermail/user/2022-July/076425.html

https://lists.gambas-basic.org/pipermail/user/2022-July/076445.html
Titolo: Re:Come uccidere un processo, avviato con Shell o Exec, dopo un paio di secondi ?
Inserito da: vuott - 07 Luglio 2022, 01:35:46
Se la terminazione del processo deve avvenire automaticamente, io userei un Timer (https://gambaswiki.org/wiki/comp/gb/timer?l=it).

Esempio con applicazione a "riga di comando":
Codice: [Seleziona]
Private tempus As Timer
Private pr As Process

Public Sub Main()

' Apre il programma della calcolatrice di gnome e ne gestisce il processo:
  pr = Shell "gnome-calculator" As "Processo"
 
' Crea un Timer e ne imposta il ritardo a 2000 millisecondi:
  With tempus = New Timer As "Tempus"
    .Delay = 2000
    .Start
  End With

End

Public Sub Tempus_Timer()
 
  pr.Kill   ' Termina il processo del programma "gnome_calculator"
 
End

Public Sub Processo_Kill()   ' Questo Evento viene sollevato, quando il processo viene terminato
 
  Print "Processo "; pr.Id; " terminato !"
 
  tempus.Stop   ' Arrestando il Timer, ottiene anche la chiusura dell'applicazione Gambas
 
End