Wie man das Hintergrundbild des Login Screens unter Windows 7 ändert, habe ich bereits in diesem Beitrag beschrieben. Ist wirklich keine große Sache. Interessant wird es jetzt natürlich, wenn man einzelne Elemente, wie Brandings, Buttons oder den Benutzer-Avatar ausblenden möchte.
Vorab: das ist kein leichtes Unterfangen, da hierzu eine DLL bearbeitet und neu kompiliert werden muss. Ich beschreibe alles Schritt für Schritt und wenn ihr euch daran orientiert, dürfte auch nichts schief gehen. Natürlich kann ich hierfür keine Haftung für irgendwelche Schäden am Betriebssystem übernehmen.
So, jetzt aber genug Intro. Los gehts:
1. Systemdatei kopieren und sichern
Als erstes machen wir eine Kopie von der Systemdatei authui.dll
, welche wir gleich bearbeiten werden. Dazu öffnet ihr den Pfad C:\Windows\system32
und kopiert die Datei authui.dll
an einen Platz eurer Wahl (z.B. auf den Desktop). Davon erstellt ihr dann nochmals eine Kopie, welche ihr authui_BACKUP.dll
(o.ä.) nennt, damit ihr im Notfall die Ursprungsdatei wiederherstellen könnt. Ihr habt also jetzt zwei Dateien auf dem Desktop: authui.dll
und authui_BACKUP.dll
.
2. Resource Hacker installieren und Systemdatei öffnen
Als nächstes installiert ihr das Programm Resource Hacker und öffnet dieses über die Verknüpfung im Startmenü. Danach öffnet ihr über dieses Programm die Datei authui.dll
und navigiert an folgenden Pfad: UIFILE/12400/[erster Unterpunkt]
.
Rechts im Fenster seht ihr nun XML-Code, welcher die Elemente des Login Screens später entsprechend anzeigt und anordnet.
3. Systemdatei bearbeiten
Nun könnt ihr den XML-Code bearbeiten. Ich habe euch dazu im folgenden die wichtigsten Elemente zusammengefasst.
Passt jetzt bitte unbedingt auf, dass ihr keine Syntax-Fehler verursacht (z.B. Hochkomma vergessen, Tag nicht geschlossen, o.ä.). Falls ihr einen Fehler macht, wird euer Login Screen mit hoher Wahrscheinlichkeit nicht mehr geladen und das macht euch dann vermutlich erstmal ziemlich viel Ärger! Ausblenden könnt ihr Elemente, indem ihr das Attribut layoutpos="none"
dem jeweiligen Knoten hinzufügt bzw. falls bereits vorhanden auf none
ändert. Die Knoten könnt ihr einfach über die Suchfunktion (Strg+F) suchen. Ersetzt dabei alle Vorkommen. (In der Regel kommt aber jeder Eintrag nur einmal vor.)
Windows-Branding ausblenden:
Alt:<element id="atom(Branding)"/>
Neu:<element id="atom(Branding)" layoutpos="none"/>
Benutzer-Avatar ausblenden:
Alt:<ZoomableElement id="atom(PictureContainer)" layout="filllayout()">
Neu:<ZoomableElement id="atom(PictureContainer)" layout="filllayout()" layoutpos="none">
Benutzernamen und den Schriftzug „Gesperrt“ ausblenden:
Alt:<element id="atom(SelectorFieldFrame)" margin="rect(0rp,0rp,0rp,5rp)" layout="verticalflowlayout(0,0,2)"/>
Neu:<element id="atom(SelectorFieldFrame)" margin="rect(0rp,0rp,0rp,5rp)" layout="verticalflowlayout(0,0,2)" layoutpos="none"/>
Passwort-Eingabefeld ausblenden (Passworteingabe trotzdem noch möglich, wenn man den Fokus nicht verliert):
Alt:<element id="atom(NonSelectorFieldsFrame)" visible="false" layout="verticalflowlayout(0,0,2)"/>
Neu:<element id="atom(NonSelectorFieldsFrame)" visible="false" layout="verticalflowlayout(0,0,2)" layoutpos="none"/>
Button „Benutzer wechseln“ ausblenden:
Alt:<button id="atom(SwitchUser)" content="resstr(12123)" accname="resstr(12140)" visible="false" shortcut="auto"/>
Neu:<button id="atom(SwitchUser)" content="resstr(12123)" accname="resstr(12140)" visible="false" shortcut="auto" layoutpos="none"/>
Button „Erleichterte Bedienung“ ausblenden:
Alt:<button id="atom(Accessibility)" tooltip="true" layoutpos="left"/>
Neu:<button id="atom(Accessibility)" tooltip="true" layoutpos="none" visible="false"/>
Nach jeder Änderung werdet ihr gefragt, ob das Skript kompiliert werden soll. Einfach jedesmal mit ja bestätigen. Nachdem ihr eure gewünschten Änderungen durchgeführt habt, könnte ihr (falls noch nicht geschehen) die neue DLL über den Befehl „Compile Script“ über den Resource Hacker erzeugen und speichern.
4. Systemdatei überschreiben
Zuletzt müsst ihr nun die Systemdatei C:\Windows\system32\authui.dll
mit der bearbeiteten DLL auf eurem Desktop ersetzen. Leichter gesagt als getan. Sobald ihr versucht die Datei zu überschreiben, werdet ihr vermutlich einen Berechtigungsfehler erhalten (auch wenn ihr als Administrator angemeldet seid). Falls nicht, prima – dann seid ihr jetzt fertig und könnt euren modifizierten Login Screen mit Win+L testen.
Alle anderen müssen sich noch zum Besitzer der Datei machen. Hierfür empfehle ich das Programm TakeOwnership. Kurz installieren, ausführen und im anschließenden Dialog über den Punkt „Take Ownership“ die Systemdatei C:\Windows\system32\authui.dll
auswählen. Danach könnte ihr die Datei endlich überschreiben und euren modifizierten Login Screen ebenfalls mit Win+L testen.
Falls ihr Probleme habt die Originaldatei zu löschen, weil die Datei durch den Explorer in Verwendung ist, könnte ihr mit dem Taskmanager den Prozess „explorer.exe“ beenden, die Datei löschen und über die Befehlskette „Neuer Task -> explorer.exe“ den Explorer wieder starten.
Für den Fall der Fälle:
Solltet ihr nun einen schwarzen Bildschirm sehen und nicht mehr interagieren können, dann habt ihr eine fehlerhafte DLL erzeugt. Das ist erstmal ziemlich blöd, da ihr Euch jetzt nicht mehr anmelden könnt 🙁 . Nichtsdestotrotz habt ihr für diesen Fall mit eurer Backup-Datei (hoffentlich) vorgesorgt. Um die fehlerhafte DLL im Systemverzeichnis mit der Backup-Datei zu ersetzen, könnt ihr z.B. über euren Windows-Installationsdatenträger booten und über die Commandline die Datei zurückkopieren.