可以实现我们的应用程序随Windows的启动即可执行的功能。
下面就是实现的代码:
form1.vb
importsMicrosoft.Win32.Registry
PublicClassForm1
InheritsSystem.Windows.Forms.Form
#region"Windows窗体设计器生成的代码"
PublicSubNew()
MyBase.New()
'该调用是Windows窗体设计器所必需的。
InitializeComponent()
'在InitializeComponent()调用之后添加任何初始化
EndSub
'窗体重写处置以清理组件列表。
ProtectedOverloadsOverridesSubDispose(ByValdisposingAsBoolean)
IfdisposingThen
IfNot(componentsIsNothing)Then
components.Dispose()
EndIf
EndIf
MyBase.Dispose(disposing)
EndSub
'Windows窗体设计器所必需的
PrivatecomponentsAsSystem.ComponentModel.IContainer
'注意:以下过程是Windows窗体设计器所必需的
'可以使用Windows窗体设计器修改此过程。
'不要使用代码编辑器修改它。
FriendWithEventsCheckBox1AsSystem.Windows.Forms.CheckBox
FriendWithEventsbtnSaveAsSystem.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()>PrivateSubInitializeComponent()
Me.CheckBox1=NewSystem.Windows.Forms.CheckBox()
Me.btnSave=NewSystem.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=NewSystem.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=NewSystem.Drawing.Font("宋体",10.0!)
Me.btnSave.ForeColor=System.Drawing.SystemColors.ControlText
Me.btnSave.ImeMode=System.Windows.Forms.ImeMode.NoControl
Me.btnSave.Location=NewSystem.Drawing.Point(0,16)
Me.btnSave.Name="btnSave"
Me.btnSave.Size=NewSystem.Drawing.Size(144,24)
Me.btnSave.TabIndex=32
Me.btnSave.Text="保存设置"
'
'Form1
'
Me.AutoScaleBaseSize=NewSystem.Drawing.Size(5,13)
Me.ClientSize=NewSystem.Drawing.Size(144,40)
Me.Controls.AddRange(NewSystem.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)
EndSub
#endRegion
DimRegAsMicrosoft.Win32.RegistryKey
PrivateSubInitVar()
IfbtnSave.Visible=TrueThen
EndIf
Reg=CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run",True)
IfReg.GetValue("MengXianHui")<>""Then
CheckBox1.Checked=True
Else
CheckBox1.Checked=False
EndIf
EndSub
PrivateSubSaveSettings()
IfCheckBox1.Checked=TrueThen
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","")
EndIf
InitVar()
MessageBox.Show("您已经设置了,请重新启动计算机看效果。","提示",_
MessageBoxButtons.OK,MessageBoxIcon.Information)
IfCheckBox1.Checked=TrueThen
Me.Dispose(True)
EndIf
EndSub
PrivateSubbtnSave_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_
HandlesbtnSave.Click
SaveSettings()
EndSub
EndClass