[C#][VB.NET] プロセスの起動、終了、起動中の一覧確認

[C#][VB.NET] プロセスの起動、終了、起動中の一覧確認

プロセスを起動する

実行中の .NET アプリから別プロセス(アプリ)を起動するには Process.Start() を使います。

以下メモ帳を起動する例です。using System.Diagnostics; で名前空間を追加しておいてください。

C#

// using System.Diagnostics;

// メモ帳起動
Process.Start("notepad");
// メモ帳起動(c:\work\hoge.txt を開く)
Process.Start("notepad", @"c:\work\hoge.txt");

VB.NET

Process.Start("notepad")
Process.Start("notepad", "c:\work\hoge.txt")

Process.Start() はいくつかの引数をとることができます。上の例では起動するファイル名とパラメータを指定するパターンです。

ProcessStartInfo で指定することもできます。

C#

// using System.Diagnostics;

var processStartInfo = new ProcessStartInfo();
processStartInfo.FileName = "notepad";
processStartInfo.Arguments = @"c:\work\hoge.txt";
Process.Start(processStartInfo);

VB.NET

Dim ProcessStartInfo = New ProcessStartInfo()
ProcessStartInfo.FileName = "notepad"
ProcessStartInfo.Arguments = "c:\work\hoge.txt"
Process.Start(ProcessStartInfo)

パスワードやユーザー名やいろいろほかにも指定できるみたいです。使いやすいほうを使えばよいかと

プロセスを強制的に停止する

プロセスを強制的に停止する方法です。タスクマネージャーからキルするのと同じなので通常終了とは違います。

プロセス名で起動中のプロセスを検索しそれらをループして順番に Kill していきます。

C#

// using System.Diagnostics;

// メモ帳のプロセスを強制終了する。
var processes = Process.GetProcessesByName("notepad");
foreach (var process in processes)
{
    process.Kill();
}

VB.NET

Dim processes = Process.GetProcessesByName("notepad")
For Each process In processes
    process.Kill()
Next

起動中のプロセス一覧を確認する

Process.GetProcesses() ですべての起動中プロセスを取得できます。

以下起動中のプロセスの名前を列挙します。

C#

// using System.Diagnostics;

var processes = Process.GetProcesses();
foreach (var process in processes)
{
    var name = process.ProcessName;
    Console.WriteLine(name);
}

VB.NET

Dim processes = Process.GetProcesses()
For Each process In processes
    Dim name = process.ProcessName
    Console.WriteLine(name)
Next

以上。

.NET Frameworkカテゴリの最新記事