0

これは私の現在のコードです:

RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
                registryKey.SetValue("Programname", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));

これにはエラーなどはありませんが、私のプログラムを指していません。代わりに、Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)は私のAppDataフォルダーを指します(予想どおり)。ただし、そのフォルダー内の実行可能ファイルを指すにはどうすればよいですか?

私はC#2.0を使用しています

4

1 に答える 1

0

使用する必要があります

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

また

System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase

パスを取得するには..

したがって、次のようになります。

RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
                registryKey.SetValue("Programname", System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
于 2012-08-18T04:56:54.913 に答える