可能性のある複製:
Windowsスタートアップにexeファイルを配置する方法
C#でアプリケーションを構築したとします。インストールしたら、Windowsが起動するたびにバックグラウンドで実行するか、ユーザーがWindowsアカウントにログインすると言うことができます。それを行う方法はありますか? Windowsサービスの作成を除きますか?
特定のイベントがトリガーされると、アプリケーションは基本的にメッセージを表示しますThanks
Windowsスタートアップフォルダーへのショートカットに追加します。
Environment.GetFolderPath(Environment.SpecialFolder.Startup)
または、次のようなレジストリに追加します。
RegistryKey add = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
add.SetValue("Your App Name", "\"" + Application.ExecutablePath.ToString() + "\"");
すべてのユーザーで実行する場合は、CurrentUserをLocalMachineに変更できます。 Aidiakapiに感謝します。
これは、Windowsレジストリを使用して実行できます。このレジストリキーを確認することをお勧めします。
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
アプリケーションをレジストリに追加して、起動時に実行できます
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
またはHKEY_CURREN_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
または、システムのスタートアップフォルダに追加できます。
サービスを記述したくない場合、これらはおそらく最も一般的で最も簡単なオプションです。
レジストリで実行可能ファイルを指す新しいキーを設定する必要があります。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
このリンクの詳細情報 http://msdn.Microsoft.com/en-us/library/aa376977(v = vs.85).aspx
最も簡単な方法は、%userprofile%\Start Menu\Programs\Startupdirectory
または%allusersprofile%\Start Menu\Programs\Startup
レジストリキーHKLM\Software\Microsoft\Windows\CurrentVersion\Run
(すべてのユーザー)およびHKCU\Software\Microsoft\Windows\CurrentVersion\Run
(現在のユーザーのみ)も配信されます。
多くの場合、サービスとしてインストールすることは良いアプローチですが、あなたが言うようにインタラクティブになる場合はそうではありません。
他の誰もそれについて言及していないので、トリガーが「システム起動時」であるスケジュールされたタスクを使用してこれを達成できることを指摘します。ただし、UIインタラクションを必要とするアプリでこれを試したことはありません-バックグラウンドプロセスでは機能しますが、デスクトップコンテキストを必要とするものでは機能しないと思われます(ユーザーがログを記録するまで、オン)。
Path
の実行可能ファイルにRegistry
を書き込むことができます
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
また、Windowsを起動するたびに実行されます。
C:\Users\@username@\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
にアプリケーションへのショートカットを配置できます。
Visual Studioセットアッププロジェクトを使用していますか?はいの場合、そこから直接ショートカットを設定できます。
まあ、これは本当に「Windowsサービス」を使用する必要があるように聞こえます。
プログラムメニューの[スタートアップ]フォルダにEXEへのショートカットを含めるなど、他のオプションもあります(そのシステムのすべてのユーザーに対して実行する場合は[すべてのユーザー])。
別のオプションは、Windowsレジストリを使用することです。 exeを指す「実行」にエントリを追加できます。
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce