1

プログラムでWindowsの起動時に実行されるアプリケーションのリストを取得したい。

これらのアプリケーションは msconfig->startup に表示されます。

しかし、私は C:\User\Appdata\Microsoft\windows\start menu\programs\startup でそれを見ると

フォルダが空であることを示しています。

C# プログラムでスタートアップ アプリケーションのリストを取得する方法。

4

2 に答える 2

4

良い記事があります:システム構成ユーティリティを使用したスタートアップ アプリの理解と制御

また、すべてのスタートアップ プログラムのリストを表示する優れたツールもあります: 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());
}
于 2012-11-01T16:20:17.390 に答える