编写随Windows启动自动运行的程序

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

你可能感兴趣的:(windows,Class,Components)