web-dev-qa-db-ja.com

Windowsスタートアップでexeを開始する方法

可能性のある複製:
Windowsスタートアップにexeファイルを配置する方法

C#でアプリケーションを構築したとします。インストールしたら、Windowsが起動するたびにバックグラウンドで実行するか、ユーザーがWindowsアカウントにログインすると言うことができます。それを行う方法はありますか? Windowsサービスの作成を除きますか?

特定のイベントがトリガーされると、アプリケーションは基本的にメッセージを表示しますThanks

25
nightWatcher

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に感謝します。

56
Badr Hari

これは、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 
13
Jonathan

アプリケーションをレジストリに追加して、起動時に実行できます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
または
HKEY_CURREN_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

または、システムのスタートアップフォルダに追加できます。

サービスを記述したくない場合、これらはおそらく最も一般的で最も簡単なオプションです。

2

レジストリで実行可能ファイルを指す新しいキーを設定する必要があります。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

このリンクの詳細情報 http://msdn.Microsoft.com/en-us/library/aa376977(v = vs.85).aspx

2
Javi R

最も簡単な方法は、%userprofile%\Start Menu\Programs\Startupdirectoryまたは%allusersprofile%\Start Menu\Programs\Startup

レジストリキーHKLM\Software\Microsoft\Windows\CurrentVersion\Run(すべてのユーザー)およびHKCU\Software\Microsoft\Windows\CurrentVersion\Run(現在のユーザーのみ)も配信されます。

多くの場合、サービスとしてインストールすることは良いアプローチですが、あなたが言うようにインタラクティブになる場合はそうではありません。

1
Jon Hanna

他の誰もそれについて言及していないので、トリガーが「システム起動時」であるスケジュールされたタスクを使用してこれを達成できることを指摘します。ただし、UIインタラクションを必要とするアプリでこれを試したことはありません-バックグラウンドプロセスでは機能しますが、デスクトップコンテキストを必要とするものでは機能しないと思われます(ユーザーがログを記録するまで、オン)。

0
Eight-Bit Guru

Pathの実行可能ファイルにRegistryを書き込むことができます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

また、Windowsを起動するたびに実行されます。

0
fixagon

C:\Users\@username@\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startupにアプリケーションへのショートカットを配置できます。

Visual Studioセットアッププロジェクトを使用していますか?はいの場合、そこから直接ショートカットを設定できます。

0
as-cii

まあ、これは本当に「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
0
Patric