vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: System/Windows · Desktop/Bildschirm/Display   |   VB-Versionen: VB2005, VB200823.05.08
Bildschirmschoner ermitteln und starten

Es wird der Pfad des eingestellten Bildschirmschoners aus der Registrierdatenbank ermittelt. Falls der Pfad vorhanden ist wird der Screensaver gestartet.

Autor:   Heinz PrelleBewertung:     [ Jetzt bewerten ]Views:  12.392 
www.visual-basic5.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit nachfolgender Klasse lässt sich der im System eingestellte Bildschirmschoner ermitteln. Weiterhin wird der Bildschirmschon anschließend autom gestartet.

Erstellen Sie ein neues Windows-Forms Projekt, platzieren auf die Form einen Button (Button1) und fügen nachfolgende Code in den Codeteil der Form ein:

Imports Microsoft.Win32
Public Class Form1
  ''' <summary>
  ''' Klasse zur Ermittlung des Bildschirmschoner-Pfades aus der
  ''' Registrierdatenbank.
  ''' </summary>
  Private Class GetScreenSaverPath
 
    ' Hinweis: Der Eintrag - SCRNSAVE.EXE - ist nur vorhanden wenn zuvor
    ' ein Screensaver definiert wurde.
    Private Const ValueName As String = "SCRNSAVE.EXE"
 
    ''' <summary>
    ''' Übergibt den Pfad an die Funktion GetPath
    ''' </summary>
    Private Shared ReadOnly Property Path() As String
      Get
        Return "Control Panel\Desktop"
      End Get
    End Property
 
    ''' <summary>
    ''' Gibt den ermittelten Pfad des Bildschirmschoners
    ''' aus der Registrierdatenbank zurück.
    ''' </summary>
    Public Shared Function GetPath() As String
      ' Die Variable ScreensaverPath nimmt den ermittelten Pfad auf
      Dim ScreensaverPath As String = String.Empty
      ' Fehlerüberwachung einschalten
      Try
        ' Zugriff auf die Registrierdatenbank initialisieren 
        ' und mit den benoetigten Parametern auswerten.
        Using hKey As RegistryKey = Registry.CurrentUser.OpenSubKey(Path)
          ScreensaverPath = DirectCast(hKey.GetValue(ValueName, ""), String)
        End Using
      Catch ex As Exception
        ' Eventuell auftretenden Fehler abfangen
        ' und Fehlermeldung ausgeben
        MessageBox.Show(ex.Message.ToString(), "Info")
      End Try
 
      ' Rückgabe des Pfades
      Return ScreensaverPath
    End Function
  End Class
  Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
 
    ' Pfad ermitteln
    Dim Path As String = GetScreenSaverPath.GetPath()
 
    ' Statusmeldung der Pfadermittlung in der Titelzeile anzeigen
    Me.Text = IIf(Path.Length > 0, Path, "Pfad wurde nicht gefunden")
 
    ' Konnte kein Pfad ermittelt werden wird die Prozedur verlassen.
    If Path.Length = 0 Then
      Return
    Else
      ' Prüfen ob die angegebene Datei existiert. 
      ' Ist dies der Fall...
      If IO.File.Exists(Path) Then
        ' ... wird der Bildschirmschoner gestartet.
        ' Dateinamen in der Titelzeile anzeigen
        Me.Text = "Screensave: " & IO.Path.GetFileName(Path)
 
        ' Initalisierung
        Dim psi As ProcessStartInfo = New ProcessStartInfo()
        With psi
          .ErrorDialog = True
          ' Pfadübergabe
          .FileName = Path
        End With
 
        ' Prozess starten
        Process.Start(psi)
      Else
        ' Konnte die Datei nicht gefunden werden, Fehler anzeigen
        MessageBox.Show("Datei wurde nicht gefunden...", "Info")
      End If
    End If
  End Sub
End Class

Dieser Tipp wurde bereits 12.392 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel