【VB开源代码栏目提醒】:网学会员VB开源代码为您提供三法实现VB编写程序开机自动运行 PDF - 技术总结参考,解决您在三法实现VB编写程序开机自动运行 PDF - 技术总结学习中工作中的难题,参考学习。
Vb三法实现开机启动zxs 用
VB创建zautorun.vbp将此文件名称修改为frmAutoRun.frm加载入工程保存工程生成zautorun.exe文件。
运行zautorun.exe后设置开机启动重新启动看效果。
xp
vb6测试by zxs。
20110710 VERSION 5.00 Begin
VB.Form Form1 BackColor H80000007 BorderStyle 0 None Caption Form1 ClientHeight 5430 ClientLeft 0 ClientTop 0 ClientWidth 7470 LinkTopic Form1 MaxButton 0 False MinButton 0 False ScaleHeight 5430 ScaleWidth 7470 ShowInTaskbar 0 False StartUpPosition 2 屏幕中心 WindowState 2 Maximized Begin
VB.PictureBox Picture1 BackColor H00FFFFC0 FillColor H00C0FFFF ForeColor H00FF8080 Height 3615 Left 2760 ScaleHeight 3555 ScaleWidth 2115 TabIndex 0 Top 1200 Width 2175 Begin
VB.CommandButton Command4 BackColor H00C00000 Caption Exit BeginProperty Font Name 宋体 Size 9 Charset 134 Weight 700 Underline 0 False Italic 0 False Strikethrough 0 False EndProperty Height 855 Left 0 Style 1 Graphical TabIndex 5 Top 2760 Width 2175 End Begin
VB.CommandButton Command3 Appearance 0 Flat BackColor H0000C0C0 Caption ReBoot BeginProperty Font Name 宋体 Size 9 Charset 134 Weight 700 Underline 0 False Italic 0 False Strikethrough 0 False EndProperty Height 495 Left 240 Style 1 Graphical TabIndex 4 Top 1800 Width 1575 End Begin
VB.CommandButton Command5 Appearance 0 Flat BackColor H0000C0C0 Caption ShutDown BeginProperty Font Name 宋体 Size 9 Charset 134 Weight 700 Underline 0 False Italic 0 False Strikethrough 0 False EndProperty Height 495 Left 240 Style 1 Graphical TabIndex 6 Top 2280 Width 1575 End Begin
VB.CommandButton Command1 BackColor H0080FF80 Caption EnAutoRun BeginProperty Font Name 宋体 Size 9 Charset 134 Weight 700 Underline 0 False Italic 0 False Strikethrough 0 False EndProperty Height 495 Left 240 MaskColor H00FFFFFF Style 1 Graphical TabIndex 3 Top 720 Width 1575 End Begin
VB.CommandButton Command2 BackColor H008080FF Caption DisAutoRun BeginProperty Font Name 宋体 Size 9 Charset 134 Weight 700 Underline 0 False Italic 0 False Strikethrough 0 False EndProperty Height 495 Left 240 Style 1 Graphical TabIndex 2 Top 1200 Width 1575 End Begin
VB.CheckBox chkEnAutoRun Appearance 0 Flat BackColor H8000000D Caption 开机启动 ForeColor H80000007 Height 495 Left 240 TabIndex 1 Top 120 Width 1575 End End End Attribute
VB_Name Form1 Attribute
VB_GlobalNameSpace False Attribute
VB_Creatable False Attribute
VB_PredeclaredId True Attribute
VB_Exposed False
Vb三法实现开机启动 用
VB创建zautorun.vbp将此文件名称修改为frmAutoRun.frm加载入工程保存工程生成zautorun.exe文件。
运行zautorun.exe后设置开机启动重新启动看效果。
一些程序在开机时就会自动运行象Winpopup就是这样的这是怎么实现的呢byzxs 可以把需要运行的程序添加到“开始”-“程序”-“启动”中此种方法就不提了大家都知道怎么做。
还有一种方法就是写入注册表了这里我们讨论通过写注册表来实现的方法有两个实现方法。
从中可以看到三个对注册表操作的API函数的使用技巧。
zxs 首先要声明这四个API函数它们分别是RegSetValue、RegCreateKey、RegCloseKeyRegDeleteValue 其作用是设置某一个主键的键值、创建一个主键、关闭对
注册表主键的操作。
zxs 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 RegCloseKey Lib advapi32.dll ByVal hKey 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 Declare Function RegDeleteValue Lib advapi32.dll Alias RegDeleteValueA ByVal hKey As Long ByVal lpValueName As String As Long Private Declare Function RegQueryValueEx Lib advapi32.dll Alias RegQueryValueExA ByVal hKey As Long ByVal lpValueName As String ByVal lpReserved As Long lpType As Long lpData As Any lpcbData As Long As Long Private 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 Private Declare Function RegDeleteKey Lib advapi32.dll Alias RegDeleteKeyA ByVal hKey As Long ByVal lpSubKey As String As Long RegSetValue KeyId MySoftware REG_SZ ByVal MyexePath LenBMyexePath建立新项zxs。
dd RegDeleteKeyKeyId MySoftware 删除新项z xs。
然后声明以下两个常数要进行注册表写入的位置是在HKEY_LOCAL_MACHINE下我们可以在
VB自带的API文本查看器中找到这些常数的定义方法。
Private Const HKEY_LOCAL_MACHINE H80000002 Private Const REG_SZ 1 然后使用如下语句就行了可以把这段
代码放在
程序的某个位置 写注册表 Dim Ret2 As Long 打开 HKEY_LOCAL_MACHINE 下的 softwaremicrosoftwindowscurrentVersionrunServices 主键 RegCreateKey HKEY_LOCAL_MACHINE softwaremicrosoftwindowscurrentVersionrunServices Ret2 将此主键下的“默认”项的值改为c:windowssystemmyprogram.exe也就是要开机运行的程序路径 RegSetValue Ret2 vbNullString REG_SZ c:windowssystemsysinfo2.exe 4 关闭对主键的操作 RegCloseKey Ret2 ----------------方法一---------------用四个函数实现开机自启动------------------- Dim ZautoRun As Boolean Private Sub SetAutoRunByVal autoRun As Boolean 实现/取消本程序开机自启动 Dim KeyId As Long Dim MyexePath As String Dim regkey As String MyexePath App.Path ZAutoRun .exe 获取程序位置z x s regkey SoftwareMicrosoftWindowsCurrentVersionRun 键值位置变量zx s Call RegCreateKeyHKEY_LOCAL_MACHINE regkey KeyId If autoRun Then RegSetValueEx KeyId ZxsSoft 0 REG_SZ ByVal MyexePath LenBMyexePath 建新值z xs Else dd RegDeleteValueKeyId ZxsSoft 删除新值 dd0表示成功 dd2表示 没有找到。
z x s End If RegCloseKey KeyId End Sub Private Sub chkEnAutoRun_Click If chkEnAutoRun.Value 1 Then ZautoRun True Else ZautoRun False Call SetAutoRunZautoRun End Sub --------------法二-------------------利用WScript.Shell Private Sub Command1_Click ok Set my CreateObjectWScript.Shell my.regWrite HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunZxsSoft dirwin App.Path ZAutoRun .exe REG_SZ End Sub Private Sub Command2_Click Set my CreateObjectWScript.Shell my.RegDelete HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunZxsSoft dirwin App.Path ZAutoRun .exe REG_SZ End Sub Private Sub Command3_Click Shell shutdown /t 0 /r vbNormalFocus 重启zxs End Sub Private Sub Command4_Click Unload Me End End Sub Private Sub Command5_Click Shell shutdown /t 0 /s vbNormalFocus 关机zxs End Sub Private Sub Form_Load Dim KeyId As Long Dim MyexePath As String Dim regkey As String Dim dresult As Integer MyexePath App.Path ZAutoRun .exe 获取程序位置zxs regkey SoftwareMicrosoftWindowsCurrentVersionRun 键值位置变量zxs Call RegCreateKeyHKEY_LOCAL_MACHINE regkey KeyId dresult RegQueryValueExKeyId ZxsSoft 0 REG_SZ ByVal MyexePath LenBMyexePath
查询值 成功返回0 否则zxs RegCloseKey KeyId If dresult 0 Then chkEnAutoRun.Value 1 Else chkEnAutoRun.Value 0 查到了则选中否则zxs chkEnAutoRun.Value 0 dd RegQueryValueEx End Sub Private Sub Form_Resize Picture1.Left Form1.Width - Picture1.Width / 2 Picture1.Top Form1.Height - Picture1.Height / 2 End Sub