1. ホーム
  2. c#

[解決済み] スタートアップ時にプログラムを起動するように設定する方法

2023-07-29 21:34:17

質問

私は、小さなアプリケーションで CheckBox オプションがあり、ユーザーがアプリを Windows で起動するかどうかを設定できます。

私の質問は、起動時にアプリを実行するように実際に設定する方法です。

psです。私は .NET 2.0 で C# を使用しています。

どのように解決するのですか?

いくつかの選択肢がありますが、優先順位をつけてください。

  1. 現在のユーザーのスタートアップ フォルダに追加します。これは、アプリを実行するための最小限の権限を必要とし、ユーザーに最も多くのコントロールと何が起こっているかのフィードバックを提供します。マイナス面は、ユーザーがプログラムでその画面を表示したときに、チェックボックスがすでにチェックされていることを次回表示するかどうかを決定するのが少し難しくなることです。
  2. に追加します。 HKey_Current_User\Software\Microsoft\Windows\CurrentVersion\Run レジストリキーに追加します。ここでの唯一の問題は、レジストリへの書き込みアクセスが必要なことで、これは常に利用できるわけではありません。
  3. ユーザーのログインをトリガーとするスケジュールされたタスクの作成
  4. それを HKey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run レジストリキーに追加します。 ここでの唯一の問題は、レジストリへの書き込みアクセスが必要なことで、これは常に利用できるわけではありません。
  5. Windows サービスとしてそれをセットアップします。以下の場合にのみ、これを行います。 本当に という意味です。 そして のために、このプログラムを実行したいと確信しているのですね。 すべて のユーザーに対して実行したいことがわかります。

この回答はもう古くなっています。これを書いてから、Windows 10 がリリースされ、スタート メニュー フォルダーの動作方法が変更されました...その中には Startup フォルダーも含めてです。Windows がこれらの場所に対して使用する内部データベースを参照することなく、そのフォルダーにファイルを追加または削除することがどれほど簡単であるかは、私にはまだわかりません。