请教:vb程序如何在windows启动时自动加载运行?

djfdd 2004-03-21 02:46:33
vb程序如何在windows启动时自动加载运行?如同杀毒软件一样在系统启动时自动运行.具体代码怎样写....
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyjken 2004-04-01
  • 打赏
  • 举报
回复
不错啊。如果我想取消windows启动时自动加载运行呢??
TBNTB 2004-03-24
  • 打赏
  • 举报
回复
樓上各位已說完了﹐不過我再補充一點﹕
打包程序時﹐可在打包工具里增加注冊表鍵﹐如直接在
注册表"HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\Run"
下新建要運行的程序路經。使用這個安裝程序后﹐就會自動注冊鍵值。
這種方法比較簡單﹐不用編寫修改注冊表的代碼
sakurako 2004-03-24
  • 打赏
  • 举报
回复
楼上的诸位都说干净了
没什么好说的了
同意
julysixth 2004-03-21
  • 打赏
  • 举报
回复
在注册表"HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\Run"下新建一个字符串,其值为自动执行的程序名.将他的数据设置成程序所在的目录.就可以了

Option Explicit
Const REG_SZ As Long = 1
Const HKEY_LOCAL_MACHINE = &H80000002

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Sub Form_Load()
Text1.Text = App.Path & "\你的程序的名字.exe"
End Sub
Private Sub Command1_Click()
Dim hKey As Long
Dim myexe As String
Dim myint As Integer
myint = Len(Text1.Text) - InStrRev(Text1.Text, "\")
myexe = Right(Text1.Text, myint)
If Text1.Text <> "" Then
RegCreateKey HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey
RegSetValueEx hKey, myexe, 0, REG_SZ, ByVal Text1.Text, 13
RegCloseKey hKey
End If
End Sub
名牌大灰狼 2004-03-21
  • 打赏
  • 举报
回复
同上
写得不错
华芸智森 2004-03-21
  • 打赏
  • 举报
回复
Option Explicit

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006

Public Const REG_NONE = 0
Public Const REG_SZ = 1
Public Const REG_EXPAND_SZ = 2
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public Const REG_DWORD_BIG_ENDIAN = 5
Public Const REG_MULTI_SZ = 7

Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Sub Main()
Dim hKey As Long, SubKey As String, Exe As String

SubKey = "Software\Microsoft\Windows\CurrentVersion\Run"
Exe = "notepad"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey

RegSetValueEx hKey, "记事本", 0, REG_SZ, ByVal Exe, _
LenB(StrConv(Exe, vbFromUnicode)) + 1
RegCloseKey hKey

MsgBox "notepad 程序已经被设定成 Windows 启动时自动被执行的程序!"
End Sub


1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧