8

WindowWindows の起動時にアプリケーション ( WPF ) を起動したい。さまざまな解決策を試しましたが、誰もうまくいかないようです。これを行うには、コードに何を書く必要がありますか?

4

1 に答える 1

16

レジストリにキーを追加する必要があると言うのは正しいです。

次のキーを追加します。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

現在のユーザーのアプリケーションを開始する場合。

または:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

すべてのユーザーに対して開始する場合。

たとえば、現在のユーザーのアプリケーションを開始するには:

var path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true);
key.SetValue("MyApplication", Application.ExecutablePath.ToString());

2行目を次のように置き換えるだけです

RegistryKey key = Registry.LocalMachine.OpenSubKey(path, true);

Windows の起動時にすべてのユーザーに対してアプリケーションを自動的に起動する場合。

アプリケーションを自動的に起動したくない場合は、レジストリ値を削除してください。

そのような:

var path = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
RegistryKey key = Registry.CurrentUser.OpenSubKey(path, true);
key.DeleteValue("MyApplication", false);

このサンプル コードは、WinForms アプリ用にテストされました。WPF アプリの実行可能ファイルへのパスを特定する必要がある場合は、次を試してください。

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

「Application.ExecutablePath.ToString()」を実行可能ファイルへのパスに置き換えるだけです。

于 2012-06-16T16:29:31.553 に答える