Montag, 12. Juli 2010

Matrix Screensaver

Mit dem Wissen aus dem vorigen Post, wie Screensaver zu programmieren sind, habe ich mich dran gesetzt, einen Matrix Screensaver zu programmieren.
In dem Screensaver werden die angezeigten Buchstaben als Instanzen einer Klasse verwaltet, die eine Funktion zum Zeichnen der Buchstaben implementiert.
In bestimmten Zeitabständen wird eine ganze Reihe mit Buchstaben erzeugt und alle Buchstaben werden regelmäßig nach unten bewegt.
Die Zeichnung erfolgt nicht direkt auf das Formular, sondern in einen Buffer. Erst, wenn alle Buchstaben neu in diesen gezeichnet wurden, wird der komplette Buffer auf das Formular gerendert.
Ich werde hier einfach mal die .scr - Datei und die Sourcefiles posten, wer möchte kann das ganze ja gerne mal ausprobieren.
Ganz im Matrixstyle laufen bei dem Bildschirmschoner grüne Buchstaben über den Bildschirm:

Den kommentierten Quellcode könnt ihr euch hier herunterladen, die ausführbare Screensaver - Datei gibt's hier.
Eine Erläuterung, wie man Bildschirmschoner mit C# erstellt und wie diese in Windows einzubinden sind, gibt es im vorigen Post.

Nachtrag: Ein Video zu diesem Projekt gibt's jetzt auch auf Youtube.

Kommentare:

  1. Hi,
    ich habe einen Bildschirm nach deiner Anleitung erstellt. Der läuft soweit, nur wenn ich ihm aus dem Windows-Bildschirmschoner-Einstellen Dialog auswähle erhalte ich eine Fehlermeldung "This application could not be started." die mich auf diese Homepage verweist: https://support.microsoft.com/de-de/help/2715633/shim-errors-for-the-.net-framework-version-and-platform-support

    Das passiert übrigens auch bei deinem Matrix-Bildschirmschoner, sowohl bei der von mir selbstkompillierten Version über den Quellcode, wie auch wenn ich deine bereits fertige SCR herunterlade.

    AntwortenLöschen
    Antworten
    1. Hallo,
      wenn ich versuche, meine damals erstellte .scr - Datei als Screensaver zu installieren, kriege ich den gleichen Fehler - die Version ist wohl zu alt.
      Wenn ich allerdings meinen Code neu kompilliere und die .exe - Datei in eine .scr umwandle, kann ich diese normal als Screensaver installieren.
      Welche Windows, .Net und Visual Studio Version hast du? Alles auf dem neuesten Stand?
      Viele Grüße

      Löschen
    2. Hi,

      ich habe dank dem mycsharp-Forum den "Fehler" gefunden.
      Das Zielframework 4.6.2 frisst der irgendwie nicht. Umstellen auf .NET 3.5 oder, wie bei mir, da ich parallel.foreach verwende, auf .NET 4 brachte Abhilfe.
      Zur Info: VisualStudio Community 2015 V14.02.25422.01 Update 3;
      .NET V4.6.01586

      Löschen