C#でプロセスの操作
この記事はhttps://takymsystems.blog.fc2.com/blog-entry-57.htmlに転載しました。
前回はスクリーンショットを作成するソフトを作りました。
今回はC#でプロセスを操作してみました。
仕様は以下のとうりです。
- 起動してすぐにメモ帳を起動します。
- メモ帳が閉じるまで待機します。
ソースコードは以下のとうりです。
Program.cs
using System; using System.Diagnostics; using System.Threading; // 名前空間とクラスの名前が同じなので名前を変える。 using ProcessControl = System.Diagnostics.Process; namespace Process { class Program { static void Main(string[] args) { // 起動するファイルの設定。 ProcessStartInfo psi = new ProcessStartInfo(); // 起動すファイル。 psi.FileName = "C:\\Windows\\notepad.exe"; // シェルを使用しない。 psi.UseShellExecute = false; // プロセスを開始する。 ProcessControl pc = ProcessControl.Start(psi); // ループの初期化。 char[] bars = { '/', '―', '\', '|' }; int i = 0; Console.CursorVisible = false; Console.ForegroundColor = ConsoleColor.Magenta; while (true) { Console.Write(bars[i]); Console.Write(" 待機中です。"); Console.SetCursorPosition(0, Console.CursorTop); // ファイルが終了するまで待機。 if (pc.HasExited) break; i++; if (i >= 4) i = 0; Thread.Sleep(100); } pc.WaitForExit(); Console.CursorVisible = true; Console.ResetColor(); // コンソールウィンドウが閉じないようにする。 Console.WriteLine("続行するには何かキーを押してください......"); Console.ReadKey(true); } } }
実行画面です。
感想
このアプリケーションは応用しないと使い道がないと思いました。
ソースコードのダウンロード