LoginSignup
1
0

C# 起動中のプロセス一覧の取得、起動、終了

Posted at

背景

業務で使用しているツールを自動化するために色々と試しました。その備忘録です。
・ツールを起動する
・ツールを終了する
・ツールが起動するか確認する

プロセスを起動する

//メモ帳を起動する
Process p = Process.Start("notepad.exe");

プロセスを終了させる

//ローカルコンピュータ上で実行されている"notepad"という名前の
//すべてのプロセスを取得
Process[] ps = Process.GetProcessesByName("notepad");

//配列から1つずつ取り出す
foreach (Process p in ps)
{
	p.Kill();//プロセスを強制的に終了させる
}

起動中のプロセス一覧を取得する

using System.Diagnostics;

//ローカルコンピュータ上で実行されているすべてのプロセスを取得
Process[] ps = Process.GetProcesses();

//配列から1つずつ取り出す
foreach (Process p in ps)
{	
	try	
	{
		tbMessage.Text += $"プロセス: {p.ProcessName} {p.Id} {p.MainModule.FileName}" + Environment.NewLine;
	}
	catch (Exception ex)
	{
		tbMessage.Text += $"エラー: {ex.Message}";
	}
}

メモ帳が閉じない?

p.Close();を使って「メモ帳を閉じる」ことが出来ると思っていましたが、期待する動作になりませんでした。
もう少しプロセスについて理解を深める必要がありそうです。

memo_GPT.png

参考ページ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0