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 13.128 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
|
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. |
|||||||||||||||||


Bildschirmschoner ermitteln und starten


