C# 禁用注册表中的启动程序;

C# 禁用注册表中的启动程序;,c#,startup,autorun,C#,Startup,Autorun,有很多程序管理启动应用程序。他们得到一些程序列表,允许用户在启动时启用/禁用程序 我可以从注册表中获得一些程序列表(如HKLM/Software/Microsoft/Windows/CurrentVersion/Run和其他程序) 它们如何执行启用/禁用?若我删除注册表项,那个么这个程序将从启动列表中消失 如何在不删除注册表项的情况下禁用程序启动?它的注册表项中有标志吗 我没有任何代码,因为我不知道如何才能做到这一点 提前感谢。您可以在启动时这样设置程序: private void Se

有很多程序管理启动应用程序。他们得到一些程序列表,允许用户在启动时启用/禁用程序

我可以从注册表中获得一些程序列表(如
HKLM/Software/Microsoft/Windows/CurrentVersion/Run
和其他程序)

它们如何执行启用/禁用?若我删除注册表项,那个么这个程序将从启动列表中消失

如何在不删除注册表项的情况下禁用程序启动?它的注册表项中有标志吗

我没有任何代码,因为我不知道如何才能做到这一点


提前感谢。

您可以在启动时这样设置程序:

    private void SetStartup()
    {
        RegistryKey rk = Registry.CurrentUser.OpenSubKey
            ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
        rk.SetValue("Notepad", "c:\windows\notepad.exe");
    }
现在,如果要删除它,只需稍微编辑路径即可

    rk.SetValue("Notepad", "c:\windows\notepad.exe_");

稍后如果要重置,只需删除下划线。

是否编写了代码来完成此操作?否,我只能从注册表项(HKLM/Software/Microsoft/Windows/CurrentVersion/Run和其他项)获取启动程序,但我不知道如何禁用程序而不删除注册表项或获取程序状态(已启用或已禁用).那么为什么这个问题加上了C?你没有回答他的问题。他想用编程的方式来做。好的,伙计们。饶了我吧。我已经编辑了答案。不管怎样,谢谢你。那看起来很粗糙。。。我想这就是你想要的: