Autore Topic: Come uccidere un processo, avviato con Shell o Exec, dopo un paio di secondi ?  (Letto 147 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 08 Luglio 2022, 22:03:59 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Se la terminazione del processo deve avvenire automaticamente, io userei un Timer.

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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »