0

私が作成しているプログラム内で、助けが必要です! 単一のプロセスを強制終了できるシンプルなタスク マネージャーがあります。ただし、複数のプロセスを強制終了できるようにする必要があり、数日間立ち往生しており、複数のプロセスを強制終了する方法が少しわかりません。誰でもアドバイスをもらえますか?

複数のプロセスとは、Firefox にプロセスを追加するという意味ではなく、リストビューまたは SQL から複数のプロセスをロードするという意味ですか?

これまでの私のコードは次のとおりです。プロセスを sql に保存して、fire fox がある場所にロードすることはできるのではないかと考えていました。

foreach (System.Diagnostics.Process pr in System.Diagnostics.Process.GetProcesses())//GETS PROCESSES
{
  if (pr.ProcessName == "firefox")//KILLS FIREFOX.....REMOVE FIREFOX.....CONNECT SAVED SQL PROCESSES IN HERE MAYBE??
  {
      pr.Kill(); //KILLS THE PROCESSES
  }
}
4

1 に答える 1

3
DataSet ds = new DataSet();// SQL STUFF
SqlConnection con = new SqlConnection(ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("SELECT ProcessName FROM ApplicationProcesses", con);
// since you start from SqlDataAdapter I'm continue from there..           
da.Fill(ds, "ProcessNames");
// get the process in the database to a array
string[] preocesArray = ds.Tables["ProcessNames"]
        .AsEnumerable()
        .Select(row => row.Field<string>("ProcessName"))
        .ToArray();

// kill the process if it is in the list 
var runningProceses = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i < runningProceses.Length; i++)
{
    if (preocesArray.Contains(runningProceses[i].ProcessName))
    {
        runningProceses[i].Kill(); //KILLS THE PROCESSES
    }
}
于 2013-05-20T09:59:01.710 に答える