プログラムでWindowsの起動時に実行されるアプリケーションのリストを取得したい。
これらのアプリケーションは msconfig->startup に表示されます。
しかし、私は C:\User\Appdata\Microsoft\windows\start menu\programs\startup でそれを見ると
フォルダが空であることを示しています。
C# プログラムでスタートアップ アプリケーションのリストを取得する方法。
良い記事があります:システム構成ユーティリティを使用したスタートアップ アプリの理解と制御。
また、すべてのスタートアップ プログラムのリストを表示する優れたツールもあります: Autoruns。
たとえば、HKLM\Software\Microsoft\Windows\CurrentVersion\Run
キーの文字列値を列挙できます。
const string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
using (RegistryKey startupKey = Registry.LocalMachine.OpenSubKey(runKey))
{
var valueNames = startupKey.GetValueNames();
// Name => File path
Dictionary<string, string> appInfos = valueNames
.Where(valueName => startupKey.GetValueKind(valueName) == RegistryValueKind.String)
.ToDictionary(valueName => valueName, valueName => startupKey.GetValue(valueName).ToString());
}