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.699 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
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 Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. |
||||||||||||||||
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. |