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

    技术2022-05-11  145

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

    最新回复(0)