如何列出启动程序

时间:2011-02-02 12:17:20

标签: c#

这有效。

Software \ Microsoft \ Windows \ CurrentVersion \ Run

中的所有启动程序
        RegistryKey HKCU = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
        foreach (string Programs in HKCU.GetValueNames())
        {
            string GetValue = HKCU.GetValue(Programs).ToString();
            Console.WriteLine(getFilePath(GetValue)); //Environment.NewLine
        }
        HKCU.Close();

而这不是。

HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ Run

中的所有启动程序
   RegistryKey key = Registry.LocalMachine.OpenSubKey("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run");
            foreach (string Programs in key.GetValueNames())
            {
                string GetValue = key.GetValue(Programs).ToString();
                Console.WriteLine(getFilePath(GetValue));
            }

请注意;我有管理员权限,我有一个32位操作系统,也是我的应用程序设置。

2 个答案:

答案 0 :(得分:0)

必须是

RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run");

而不是

RegistryKey key = Registry.LocalMachine.OpenSubKey("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run");

已选择HKLM“Registry.LocalMachine”。

顺便说一句,我的Windows 7没有这个密钥。

答案 1 :(得分:0)

只需使用以下内容......

RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");

RegistryKey keyy1 = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");