Name eines eigenen Bildschirmschoners in Windows-Dialog ändern

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Name eines eigenen Bildschirmschoners in Windows-Dialog ändern

    Ich habe einen Bildschirmschoner mit VB.NET entwickelt. Die EXE habe ich in .scr umbenannt und nach Windows/System32 kopiert. Leider entspricht der Name im Windows-Dialog, wo man den Screensaver wählen kann, dem Dateinamen der EXE-Datei (und nicht einem von mir definierten).

    Also heißt die Datei z. B. "Test_Screensaver.exe", so steht in der Auswahlliste von Windows "Test_Screensaver". Ich möchte aber lieber z. B. "Test-Bildschirmschoner" dort sehen.

    Natürlich könnte ich die Datei umbenennen, aber es muss auch anders gehen, denn die Bildschirmschoner von Windows haben auch Namenseinträge, die sich von den Dateinamen unterscheiden.

    In keinem Tutorial zum Thema Screensaver-Entwicklung stand etwas dazu.

    Hat jemand einen Tipp für mich? Natürlich habe ich in den Projekteigenschaften überall den korrekten Namen eingetragen, nur wird der wohl nicht genommen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Leider schaffe ich es nicht, den Tipp in VB.NET umzusetzen (der ist nämlich für C#).

    So wie ich das sehe, hat jedes VB-Projekt bereits eine Stringtabelle als Ressource, und da kann man keine ID festlegen.

    Gehe ich den Weg wie unter dem Link beschrieben, so weiß ich bereits bei diesem Schritt nicht weiter:
    In the Designer window, right-click the ResTempl1.rct node and click Add Resource

    Hat jemand eine Idee?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Doch. Wie geschrieben, bin ich ja schon bei einem späteren Schritt. Aber da weiß ich nicht, was damit gemeint ist. Ich sehe dann im Designerfenster eine Ansicht wie in einem Hex-Editor.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Du kannst nicht einfach im Designerrechtsklicken und Add Resource auswählen?

    Es scheinen auch noch weitere Probleme auf dich zuzukommen, selbst wenn du die res Datei erstellt hast.

    social.msdn.microsoft.com/Foru…t-managed?forum=vbgeneral
    Das ist meine Signatur und sie wird wunderbar sein!
    Blöd gefragt: Was ist der Designer? Ich ging davon aus, dass das der große Bereich ist, wo man auch die Formulare "designen" kann.

    Das hier ist das Ergebnis vor dem genannten Schritt, den ich nicht verstehe:


    Was ist hier zu tun? Wo mache ich den Rechtsklick?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Eigentlich einfach in die Mitte. Bei mir sieht es halt ganz anders aus, habe allerdings C# Visual Studio 2010.
    Kannst du es vll speichern als 32-bit Resource File (*.res) und dann nochmal öffnen?
    Weil es sieht wirklich nur aus wie eine Hexeditor Ansicht.

    Bzw. wenn du auf New File und native Template gehst, da hast ja "open" und ich hab da noch "open with". Wähl da mal Resource Editor aus? Deiner sieht aus wie der Binary Editor!
    Das ist meine Signatur und sie wird wunderbar sein!
    Es gibt da leider kein Kontextmenü.

    "Öffnen mit" ergibt nur das hier:



    Und egal was ich auswähle, es kommt das hier:



    Nur mit "Öffnen" gibt es keinen Fehler, aber dann habe ich das Hexeditor-Layout.

    Ich habe Visual Studio Community 2015.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Leider nein. Das bezieht sich vielleicht alles nur auf andere Sprachen, nicht auf Visual Studio allgemein. Kommt mir zumindest so vor. Vor allem ist überall von ".rc" die Rede, aber meine Datei heißt ".rct".

    Und es ist übrigens tatsächlich eine Binärdatei.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich frage mal in eine ganz andere Richtung: Kann man irgendwo eine ID (eine Zahl) für einen String in einer Ressource angeben oder gibt es eine ID für die Ressource selbst (also für die Stringtabelle)? Ich glaube, das ist genau das Problem. VB.NET hat schon standardmäßig ohne Zutun eine Stringtabelle in den Ressourcen, aber da kann ich keine ID eingeben. Die muss aber scheinbar auf "1" stehen, damit Windows den Namen des Screensavers liest.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Danke für den Tip.

    Bei einem vorhandenen Screensaver konnte ich mit dem Resource Hacker die enthaltene String Table und damit den angezeigten Namen manipulieren.
    Leider ist in meinem selbstgeschriebenen Screensaver keine solche String Table enthalten.

    Auch mein Versuch mit einem Hex-Editor blieb erfolglos, da die entsprechende angezeigte Bezeichnung nicht zu finden ist (anscheinend verschlüsselt).

    Gruß

    Zerberus
    Ich habe leider noch keine Lösung. Im Moment brauche ich es nicht mehr, da das Projekt abgeschlossen ist. Aber natürlich wäre es toll, wenn wir irgendwann eine Lösung für VB.NET finden würden (in allen anderen Sprachen scheint das kein Problem zu sein).

    Ich benutze die VS Community Edition 2015 und da ist ein Ressourcen-Editor enthalten. Zumindest würde ich sagen, dass das einer ist. ;) Man kann z. B. Stringtabellen anlegen. Bringt aber nichts.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Da ich an besagten Bildschirmschoner in Kürze wieder ran muss (Erweiterungen einarbeiten), wäre es natürlich schön, wenn ich das fehlende Feature, worum es in diesem Thread geht, zeitgleich einarbeiten könnte. Daher erlaube ich mir nach mehr als einem Jahr einen Push. ;)

    Also, hier noch mal das Problem: Ich möchte in Visual Basic .NET den von Windows angezeigten Namen eines Bildschirmschoners ändern. Wichtig, ist, dass ich Infos für VB.NET brauche. Nicht VB6, nicht C#, nicht C++, nichts sonstiges. Das funktioniert nämlich leider alles nicht.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    @Marcus Gräfe So ganz trivial scheint das nicht zu sein, denn in der Bubbles.scr, die als "Seifenblasen" angezeigt wird, kommt der String "Seifenblasen" nicht vor.
    In der kommunizierenden Ressourcen-Datei Bubbles.scr.mui im Ordner C:\Windows\System32\de-DE\ ist der Anzeigename eingetragen,
    Datei in *.txt umbenannt und dann im Notepad mit Codierung UCS-2 Big Endian betrachtet.

    Leider ist das keine .NET-Ressource-Datei, ich kann sie so nicht auslesen.

    Wenn Du einen "fremdsprachigen" .NET-ScreenSaver kennst, reich ihn mal durch, den kann ich vielleicht auslesen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!