Vb.net Windows启动时启动应用程序

Vb.net Windows启动时启动应用程序,vb.net,Vb.net,我搜索并使用了来自互联网的代码来完成这项工作,但没有完成我正在使用的代码 Dim appstartup_path As String = Path.GetDirectoryName(Application.StartupPath) Dim regKey As Microsoft.Win32.RegistryKey regKey = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win

我搜索并使用了来自互联网的代码来完成这项工作,但没有完成我正在使用的代码

Dim appstartup_path As String = Path.GetDirectoryName(Application.StartupPath)
    Dim regKey As Microsoft.Win32.RegistryKey
    regKey = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)

    If CheckBox2.Checked = True Then

        regKey.SetValue("my_app", "app_path")
        regKey.Close()

    Else

        regKey.DeleteValue("my_app", False)

    End If
但未设置对象引用的获取错误。。。! 那么这是正确的方法吗

或者解决方案是什么


Thnaks

我现在无法测试这一点,但在我看来

regKey = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\...
包含冗余的
HKEY\U LOCAL\U机器
条目
Registry.LocalMachine
已表示
HKEY\U LOCAL\U MACHINE
文件夹。您希望选择的任何子文件夹都不应包含它

regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft...

应该可以工作。

Hi John,如果执行此操作,则会出现错误“请求的注册表访问不允许”。Rahul,这意味着至少您的注册表项现在已分配了有效的注册表项(非空)。现在你在访问权方面遇到了问题,这不是我真正喜欢的。对注册表的访问受Windows操作系统的限制,并取决于策略、用户类型等。您必须以管理员身份运行该程序。@Arwin Zhang我从Visual studio运行该程序,并从管理员处登录。所以为什么它会给我这个错误?@RahulShirphule好的,我需要告诉您,即使您的帐户类型是Admin,但您的VS并不是完全仍处于管理员状态。如果您不相信,请尝试将项目文件夹移动到C:\Program Files\并打开它,您将被要求在凭据下激活VS。。。我也在做这样的项目。如果需要,我会把照片寄给你