通过设置和读取注册表,可以实现我们的应用程序随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.ClickSaveSettings() End Sub End Class