通过设置和读取注册表,可以实现我们的应用程序随Windows的启动即可执行的功能。下面就是实现的代码:
Form1.vb
Imports Microsoft.Win32.Registry
Public Class Form1
Inherits System.Windows.Forms.Form
#region " Windows 窗体设计器生成的代码 "
Public Sub New ()
MyBase .New()
' 该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
' 在 InitializeComponent() 调用之后添加任何初始化
End Sub
' 窗体重写处置以清理组件列表。
Protected Overloads Overrides Sub Dispose( ByVal disposing As Boolean )
If disposing Then
If Not (components Is Nothing ) Then
components.Dispose()
End If
End If
MyBase .Dispose(disposing)
End Sub
' windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
' 注意:以下过程是 Windows 窗体设计器所必需的
' 可以使用 Windows 窗体设计器修改此过程。
' 不要使用代码编辑器修改它。
Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
Friend WithEvents btnSave As System.Windows.Forms.Button
< System.Diagnostics.DebuggerStepThrough() > Private Sub InitializeComponent()
Me .CheckBox1 = New System.Windows.Forms.CheckBox()
Me .btnSave = New System.Windows.Forms.Button()
Me .SuspendLayout()
'
' CheckBox1
'
Me .CheckBox1.BackColor = System.Drawing.SystemColors.Control
Me .CheckBox1.Checked = True
Me .CheckBox1.CheckState = System.Windows.Forms.CheckState.Checked
Me .CheckBox1.ForeColor = System.Drawing.SystemColors.ControlText
Me .CheckBox1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me .CheckBox1.Name = " CheckBox1 "
Me .CheckBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes
Me .CheckBox1.Size = New System.Drawing.Size( 142 , 15 )
Me .CheckBox1.TabIndex = 21
Me .CheckBox1.Text = " Windows开机即运行 "
Me .CheckBox1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
' btnSave
'
Me .btnSave.BackColor = System.Drawing.SystemColors.Control
Me .btnSave.Font = New System.Drawing.Font( " 宋体 " , 10.0 !)
Me .btnSave.ForeColor = System.Drawing.SystemColors.ControlText
Me .btnSave.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me .btnSave.Location = New System.Drawing.Point( 0 , 16 )
Me .btnSave.Name = " btnSave "
Me .btnSave.Size = New System.Drawing.Size( 144 , 24 )
Me .btnSave.TabIndex = 32
Me .btnSave.Text = " 保存设置 "
'
' Form1
'
Me .AutoScaleBaseSize = New System.Drawing.Size( 5 , 13 )
Me .ClientSize = New System.Drawing.Size( 144 , 40 )
Me .Controls.AddRange( New System.Windows.Forms.Control() { Me .btnSave, Me .CheckBox1})
Me .FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me .Name = " Form1 "
Me .StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me .Text = " Windows开机即运行 "
Me .ResumeLayout( False )
end Sub
#end Region
dim Reg As Microsoft.Win32.RegistryKey
Private Sub InitVar()
If btnSave.Visible = True Then
end If
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
If Reg.GetValue( " MengXianHui " ) <> "" Then
CheckBox1.Checked = True
Else
CheckBox1.Checked = False
End If
End Sub
Private Sub SaveSettings()
If CheckBox1.Checked = True Then
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
Reg.SetValue( " MengXianHui " , Application.ExecutablePath)
Else
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
Reg.SetValue( " MengXianHui " , "" )
End If
InitVar()
MessageBox.Show( " 您已经设置了,请重新启动计算机看效果。 " , " 提示 " , _
MessageBoxButtons.OK, MessageBoxIcon.Information)
If CheckBox1.Checked = True Then
Me .Dispose( True )
End If
End Sub
private Sub btnSave_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnSave.Click
SaveSettings()
End Sub
End Class
Imports Microsoft.Win32.Registry
Public Class Form1
Inherits System.Windows.Forms.Form
#region " Windows 窗体设计器生成的代码 "
Public Sub New ()
MyBase .New()
' 该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
' 在 InitializeComponent() 调用之后添加任何初始化
End Sub
' 窗体重写处置以清理组件列表。
Protected Overloads Overrides Sub Dispose( ByVal disposing As Boolean )
If disposing Then
If Not (components Is Nothing ) Then
components.Dispose()
End If
End If
MyBase .Dispose(disposing)
End Sub
' windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
' 注意:以下过程是 Windows 窗体设计器所必需的
' 可以使用 Windows 窗体设计器修改此过程。
' 不要使用代码编辑器修改它。
Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox
Friend WithEvents btnSave As System.Windows.Forms.Button
< System.Diagnostics.DebuggerStepThrough() > Private Sub InitializeComponent()
Me .CheckBox1 = New System.Windows.Forms.CheckBox()
Me .btnSave = New System.Windows.Forms.Button()
Me .SuspendLayout()
'
' CheckBox1
'
Me .CheckBox1.BackColor = System.Drawing.SystemColors.Control
Me .CheckBox1.Checked = True
Me .CheckBox1.CheckState = System.Windows.Forms.CheckState.Checked
Me .CheckBox1.ForeColor = System.Drawing.SystemColors.ControlText
Me .CheckBox1.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me .CheckBox1.Name = " CheckBox1 "
Me .CheckBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes
Me .CheckBox1.Size = New System.Drawing.Size( 142 , 15 )
Me .CheckBox1.TabIndex = 21
Me .CheckBox1.Text = " Windows开机即运行 "
Me .CheckBox1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
' btnSave
'
Me .btnSave.BackColor = System.Drawing.SystemColors.Control
Me .btnSave.Font = New System.Drawing.Font( " 宋体 " , 10.0 !)
Me .btnSave.ForeColor = System.Drawing.SystemColors.ControlText
Me .btnSave.ImeMode = System.Windows.Forms.ImeMode.NoControl
Me .btnSave.Location = New System.Drawing.Point( 0 , 16 )
Me .btnSave.Name = " btnSave "
Me .btnSave.Size = New System.Drawing.Size( 144 , 24 )
Me .btnSave.TabIndex = 32
Me .btnSave.Text = " 保存设置 "
'
' Form1
'
Me .AutoScaleBaseSize = New System.Drawing.Size( 5 , 13 )
Me .ClientSize = New System.Drawing.Size( 144 , 40 )
Me .Controls.AddRange( New System.Windows.Forms.Control() { Me .btnSave, Me .CheckBox1})
Me .FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me .Name = " Form1 "
Me .StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me .Text = " Windows开机即运行 "
Me .ResumeLayout( False )
end Sub
#end Region
dim Reg As Microsoft.Win32.RegistryKey
Private Sub InitVar()
If btnSave.Visible = True Then
end If
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
If Reg.GetValue( " MengXianHui " ) <> "" Then
CheckBox1.Checked = True
Else
CheckBox1.Checked = False
End If
End Sub
Private Sub SaveSettings()
If CheckBox1.Checked = True Then
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
Reg.SetValue( " MengXianHui " , Application.ExecutablePath)
Else
Reg = CurrentUser.OpenSubKey( " Software\Microsoft\Windows\CurrentVersion\Run " , True )
Reg.SetValue( " MengXianHui " , "" )
End If
InitVar()
MessageBox.Show( " 您已经设置了,请重新启动计算机看效果。 " , " 提示 " , _
MessageBoxButtons.OK, MessageBoxIcon.Information)
If CheckBox1.Checked = True Then
Me .Dispose( True )
End If
End Sub
private Sub btnSave_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnSave.Click
SaveSettings()
End Sub
End Class