Verificare se software in esecuzione

di Anonimizzato28083 il
8 risposte
Buonasera a tutti,
che funzione posso utilizzare per verificare se un applicativo è già in esecuzione per impedire, ad esempio, che una funzione shell lo lanci nuovamente?

grazie mille

8 Risposte

  • In generale i una tua applicazione?
  • Si nel dettaglio vorrei verificare se un processo msaccess è in esecuzione prima di lanciare un altro database.
    Grazie
  • In .net potresti scorrere la lista dei processi in esecuzione e vedere se c'è già quello che vuoi evitare di chiamare per una seconda volta (Process[] processCollection = Process.GetProcesses(); ),
    non sò se access ha qualche funzione che consenta di ritornare un elenco dei processi in esecuzione
  • Ti ringrazio, ma cercavo proprio qualcosa da poter utilizzare in access
  • Puoi usare WMI ... ti dò un suggerimento iniziale da sviluppare

    Set processes = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'NomeProcesso' ")
  • Navigator2348 ha scritto:


    Buonasera a tutti,
    che funzione posso utilizzare per verificare se un applicativo è già in esecuzione per impedire, ad esempio, che una funzione shell lo lanci nuovamente?

    grazie mille
    Cosa devi fare di preciso...?
    Se devi impedire istanze multiple, converrebbe usare Mutex... certo fa access è poco simpatico ma è IL METODO.

    https://www.experts-exchange.com/articles/2104/Avoiding-running-multiple-instances-of-an-application.html
  • Per la precisione un Named Mutex...
  • Navigator2348 ha scritto:


    Si nel dettaglio vorrei verificare se un processo msaccess è in esecuzione prima di lanciare un altro database.
    Grazie
    non è mica tanto chiaro se vuoi impedire di aprire lo stesso database o msaccess in generale indipendentemente dal database;
    ... nel primo caso potresti anche aprire il database in modalità esclusiva

    HTH
Devi accedere o registrarti per scrivere nel forum
8 risposte