Feedback

VB - Autostart with windows Property

Veröffentlicht von am 3/3/2008
(4 Bewertungen)
Eigene Software mit Windows starten lassen. Mit dieser kleinen Klasse ist das mit einem Property möglich welches auf "True" oder "False" zu setzen ist.

    Class clsAutoStart
        Private Reg As Microsoft.Win32.RegistryKey
        Private m_AutoStart As Boolean

        Public Property AutoStart() As Boolean
            Get
                Dim O As Object
                Reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
                O = Reg.GetValue(My.Application.Info.ProductName, "")
                If O Is Nothing OrElse O.ToString.Length = 0 OrElse O.ToString <> Application.ExecutablePath Then
                    Return False
                Else
                    Return True
                End If
            End Get
            Set(ByVal value As Boolean)
                If value = True Then
                    Reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
                    Reg.SetValue(My.Application.Info.ProductName, Application.ExecutablePath)
                Else
                    Reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
                    Reg.SetValue(My.Application.Info.ProductName, "")
                End If

            End Set
        End Property
    End Class


2 Kommentare zum Snippet

General Bison schrieb am 3/3/2008:
SUPER SACHE!
Mit folgender Modifikation, kann man das Programm Benutzerunabhängig starten:

Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(
"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
Rainer Schuster schrieb am 3/3/2008:
Generell ganz gut, aber unmanaged Code per Dll-Import. Das geht besser über die managed Klassen aus dem Namespace Microsoft.Win32.Registry.

siehe http://msdn2.microsoft.com/en-us/library/microsoft.win32.registry.aspx
 

Logge dich ein, um hier zu kommentieren!