Web開発など

Java, JS, CSS, HTML, Unity, C# のことなどを書いてます。フリーソフトの公開もしています。

C#:常駐アプリの開発

C#で常駐アプリを作る方法を書いていきます。プログラムを実行すると、タスクトレイの下にアイコンが表示されて常駐します。

プロジェクトの作成

Visual Studio を起動して、以下のプロジェクトを作成します。

WPFアプリでも大丈夫ですが、Windowsフォームの機能を使うことになります。タスクトレイで常駐するだけなら Windowsフォームが楽だと思います。

プロジェクト名は任意で、今回は「TaskTrayApp」にしました。

アイコンの追加

Visual Studio の「新しい項目の追加」でアイコン Icon.ico を追加します。

追加したら出力ディレクトリにコピーするようにします。

フォームの削除

今回は Form1 を使わないので削除しました。

プログラムの作成

テンプレートのプログラムを編集して保存します。

Program.cs

namespace TaskTrayApp {
    internal static class Program {
        [STAThread]
        static void Main() {
            ApplicationConfiguration.Initialize();
            CreateNotifyIcon();
            Application.Run();
        }
        private static void CreateNotifyIcon() {
            // 常駐アプリ(タスクトレイのアイコン)を作成
            var icon = new NotifyIcon();
            icon.Icon = new Icon("Icon.ico");
            icon.ContextMenuStrip = ContextMenu();
            icon.Text = "常駐アプリ";
            icon.Visible = true;
        }
        private static ContextMenuStrip ContextMenu() {
            // アイコンを右クリックしたときのメニューを返却
            var menu = new ContextMenuStrip();
            menu.Items.Add("終了", null, (s, e) => {
                Application.Exit();
            });
            return menu;
        }
    }
}

プログラムの実行

プログラムを実行すると、タスクトレイにアイコンが表示されます。今のプログラムだと処理は何もなく、終了させることしかできません。

プログラムの終了

タスクトレイのアイコンを右クリックすると終了させることができます。