none
chiudere un processo esterno fra tanti RRS feed

  • Domanda

  • Ciao, chiedo scusa ho un problema devo chiudere un istanza specifica di un software che ha come unica differenza dalle sorelle il percorso.

    ho pensato di farlo così ma non ottengo la WorkingDirectory.

            private void KillM4() 
            {
                try
                {
                    Process[] ext = Process.GetProcessesByName("M4");
                    int i=0;
                    while (i < ext.Length)
                    {
                        if (ext[i].StartInfo.WorkingDirectory == this.mainDir)
                        {
                            ext[i].Kill();
                        }
                        i++;
                    }
                }
                catch ( Exception er )
                {
                    MessageBox.Show( er.Message );
                }
            }



    mercoledì 11 dicembre 2019 11:43

Risposte

  • Ho risolto, posto la mia soluzione caso mai altri avessero una problematica similare 
    private void KillM4( bool restart = true ) 
            {
                try
                {
                    Process[] ext = Process.GetProcessesByName("M4");
                    int i=0;
                    while (i < ext.Length)
                    {
                        string process = ext[i].MainModule.FileName.Replace('\\', '/');
                        process = process.Remove(process.LastIndexOf('/')+1);
                        if (process == this.m4LocalDir)
                        {
                            ext[i].Kill();
                            if (!restart)
                            {
                                this.btnStart.Text = "Apri";
                            }
    
                        }
                        i++;
                    }
                }
                catch ( Exception er )
                {
                    MessageBox.Show( er.Message );
                }
            }

    mercoledì 11 dicembre 2019 12:48