这个问题这么解决,由于系统自动运行的程序都放在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下,你打开注册表,就会看到开机自启程序都在这里,你可以在CommandButton1中将你想运行的程序路径写到该键下,而在CommandButton2中将该值删除就可以了!写注册表需要调用API,我想大家都知道,我就不多说了:)

解决方案 »

  1.   

    Private Sub Command1_Click()
     Dim hKey As Long, SubKey As String, Exe As String    SubKey = "Software\Microsoft\Windows\CurrentVersion\Run"
        Exe = "H:\泡泡龙3\pb.exe"
        RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
        
        RegSetValueEx hKey, "paopao", 0, REG_SZ, ByVal Exe, _
                      LenB(StrConv(Exe, vbFromUnicode)) + 1
        RegCloseKey hKey
        
        MsgBox "notepad 程序已经被设定成 Windows 启动时自动被执行的程序!"End Sub这段代码是加入注册表的,但是删除的怎么写呢?
    敬请指教
      

  2.   

    真的是好可怕!这种问题都来菜鸟,都来问!是不是太可怕了?这么简单的东西还要来真的是不理解!你找一本api的书看看!里面的注册表读写的操作!就可以了!不行你就把快捷方式加到启动程序组中!想qq一样,不是也可以实现了么?
      

  3.   

    既然你都能写了,为什么不能删除呢?
    Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As LongPublic Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
    这样可以了吧?
      

  4.   

    同意shikari(最爱.NET) 
          在CmdAdd_CLICK事件里把程序写入到自动启动
          在CmdDel_CLICK事件里把程序从自动启动里删除
    记得判断该键是否存在.
      

  5.   

    If RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey) = 0 Then
      If RegDeleteValue(hKey, "你的键名") = 0 Then 
        MsgBox "已经删除", vbInformation
          Else
        MsgBox "操作失败", vbCritical, "ERROR"
      End If
    End If
    如果还不明白请给我发短信息!