Systemsteuerung
| |
---|---|
Basisdaten
| |
Entwickler | Microsoft |
Aktuelle Version | siehe Microsoft Windows |
Betriebssystem | Windows |
Die Systemsteuerung ist ein zentrales Hilfsmittel der grafischen Benutzeroberfläche von Windows, mit welcher die Einstellungen des Systems den persönlichen Bedürfnissen angepasst werden können. Die Systemsteuerung ist bei Windows-Betriebssystemen – mit der Einführung des Explorers[1] – eine Art virtueller Ordner, welcher vom Betriebssystem aus einer Reihe Control-Panels zusammengestellt wird (Weiteres dazu unten, im Abschnitt CPL-Datei).
In der Systemsteuerung kann man im Wesentlichen folgende Änderungen machen:
SYSDM.CPL
).DESK.CPL
).MAIN.CPL
), Joystick (JOY.CPL
).DESK.CPL
, HDWWIZ.CPL
– Hardwareassistent), Energieoptionen (POWERCFG.CPL
).NCPA.CPL
– Netzwerk und DFÜ-Verbindungen, INETCPL.CPL
– Eigenschaften des Internet Explorers und anderes).APPWIZ.CPL
).TIMEDATE.CPL
).INTL.CPL
, MMSYS.CPL
).ACCESS.CPL
).TabletPC.CPL
).wscui.CPL
).Des Weiteren finden sich noch einige andere Module für die Konfiguration von Geräten wie Maus, Telefon, Scanner und ähnlichem.
Daneben kann sich auch Software von Drittanbietern mit einer passenden CPL-Datei in der Systemsteuerung eintragen, diese Technik verwenden etwa Java, QuickTime oder diverse Virenscanner.
In CPL-Dateien sind die auch sogenannten Control-Panels (entlehnt aus dem englischen control panel) beschrieben. Diese sind inhaltlich nichts anderes als umbenannte DLL-Dateien. Durch die so veränderte Dateiendung wird es möglich, automatisch alle Dialogboxen in der Übersichtsdarstellung „Systemsteuerung“ des Explorers zusammenzustellen – Näheres im Abschnitt unter Technische Einzelheiten.
Das Systemverzeichnis %SystemRoot%\system32
, in dem sich die CPL-Dateien befinden, ist bei einer Standard-Installation üblicherweise C:\WINDOWS\system32
, bei Windows NT bis Version 4.0 war es C:\WINNT\system32
.
Dateien mit der Endung CPL
könnten der Anwendung %SystemRoot%\system32\control.exe
übergeben werden, wodurch zumindest das Standard-Applet der CPL-Datei gestartet würde. Von diesem Konzept aus den 1990ern ist Microsoft in diesem Zusammenhang aber schon seit Langem abgekommen – die CPL-Dateien enthalten eine Reihe weiterer Dialogboxen, welche über diese Zuordnung nicht zugänglich sind. Tatsächlich erfolgt der Aufruf inzwischen in der Form rundll32.exe shell32.dll,Control_RunDLL PanelDatei,Argumente
, wobei es völlig unerheblich ist, ob die Endung der PanelDatei .CPL
oder .DLL
lautet. Unter rundll32.exe
sind auch Beispiele aufgeführt.
CPL-Dateien sollten genauso wie andere DLL- und EXE-Dateien gegen Manipulationen (Malware) geschützt werden, indem nur Administratoren (und noch nicht einmal jedem Administrator) Schreibrecht gestattet wird.
CPL/DLL verfügen alle über den Einstiegspunkt CPlApplet
. Das CPlApplet
ist von denjenigen zu programmieren, die die CPL-Datei bereitstellen. Dies kann jeder Software- und vor allem Hardware-Anbieter sein, der sein Produkt komfortabel über die Systemsteuerung bedienen lassen möchte. Es erfolgt jeweils eine ganze Serie von Aufrufen des CPlApplet
.
Die CONTROL.EXE macht heute nichts anderes mehr als die Systemsteuerung (und deren virtuellen Ordner) aufzurufen. Dieser auch – beispielsweise über Cmd – einfacher mit control
aufrufbare Befehl ruft wiederum den Befehl rundll32.exe shell32.dll,Control_RunDLL
auf und reicht gegebenenfalls mitangegebene Übergabewerte an diesen langen Befehl hindurch. In den 1990ern waren darin zusätzlich noch einige Standard-CPL wie MAIN
, DESK
, INTL
, PORTS
, TIMEDATE
mit englischen Schlüsselwörtern der einzelnen Hauptdialoge voreingestellt.
God Mode (deutsch: „Gott-Modus“; auch als God-Mode oder GodMode) ist eine dem Computerspieler-Jargon entlehnte inoffizielle Bezeichnung für eine Funktion unter Windows Vista[3] und folgenden Versionen, alle Einstellungen der Systemsteuerung zu sehen. Es ist eine Auflistung aller erreichbaren Funktionen zusätzlich zu den Haupt-Systemelementen.[4] Obwohl seit Windows Vista verfügbar und in den Grundzügen von Microsoft selbst dokumentiert,[5] wurde diese Möglichkeit den meisten Nutzern erst kurz nach Erscheinen von Windows 7 bekannt. Unter Namen, die eine der God-Mode-Variationen enthalten, kursieren diverse Programme, die diese Funktion bereitstellen wollen. Von Microsoft selbst wird die Funktionalität als „Using File System Folders as Junction Points“ (deutsch „Verwendung von Dateisystemordnern als Verknüpfungspunkte“) bezeichnet.[5]
Die Wirkungsweise beruht auf einer speziellen Klassen-ID (englisch Class ID, kurz CLSID). Microsoft veröffentlichte die CLSID’s für die einzelnen Funktionen der Systemsteuerung,[6] nicht jedoch die CLSID für den sogenannten Gott-Modus, so dass sich diese unangekündigt ändern könnte. Bis inklusive Windows 10 ist sie aber identisch und wirksam. Diese CLSID ist {ED7BA470-8E54-465E-825C-99712043E01C}
(ob Groß- oder Kleinschreibung, ist egal).
<Beliebiger Name>.{ED7BA470-8E54-465E-825C-99712043E01C}
<Beliebiger Name>
kann frei gewählt werden, wichtig ist die Erweiterung mit der CLSID. Dieser Ordner kann anschließend direkt oder über eine Verknüpfung geöffnet werden.explorer.exe
oder kopiere eine vorhandene aus dem Systemmenü und ändere sie anschließend so, dass sie folgenden Inhalt hat:explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}
Auf eine bestimmte „Abfrage“-Aufrufserie von CPlApplet
wird von dieser DLL eine Liste der von ihr bereitgestellten Hauptdialog-Codes mit Verweisnummern auf deren jeweiligen landessprachlichen Klarnamen, Beschreibungsdetails und Icon zurückgegeben (CPLINFO
, NEWCPLINFO
).
rundll32 shell32,Control_FillCache_RunDLL
geht (genauso wie jedes Mal mit Öffnen von „Systemsteuerung“) durch alle %SystemRoot%\system32\*.cpl
durch, sammelt diese Darstellungsinformationen sowie deren zugehörige Datei einschließlich Aufrufcode. Bis etwa Windows XP wurde das Ergebnis auch im Registrierungs-Schlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder
in dem Feld Presentation Cache
zur beschleunigten Darstellung gespeichert. Da sich jedoch Icons und Textelemente situationsabhängig mit jedem Aufruf ändern dürfen, wird der Zwischenspeicher auf den heutigen schnellen Maschinen aber (standardmäßig) nicht mehr benutzt, der Schlüssel ist jedoch auf Benutzerebene (HKCU\…
) weiterhin vorhanden.
rundll32 shell32,Control_RunDLL
(ohne Parameter) öffnet ein spezielles Explorer-Fenster Systemsteuerung und stellt das (aktualisierte) Gesamtergebnis zur Auswahl bereit. Währenddessen sind alle aufgelisteten CPL-Dateien geöffnet. Beim Schließen der Systemsteuerung werden alle CPlApplet
erneut mehrfach aufgerufen.
CPL-Dateien, die als „versteckt“ markiert sind, bleiben anscheinend dauerhaft aus der Systemsteuerung ausgeblendet. CPL-Dateien, auf die nicht Jeder oder Benutzer Leserechte hat, sondern die lediglich Administratoren lesen und ausführen können, verraten ihren Icon und Titel nicht und erscheinen deshalb für Normalbenutzer nicht in der Systemsteuerung. Das hilft dann der Übersichtlichkeit, wenn normale Benutzer ohnehin die Steuerungsoptionen nicht ändern könnten und die aktuellen Einstellungen auch gar nicht verstehen möchten.
Durch interaktives Anklicken eines Eintrags im Fenster Systemsteuerung oder rundll32.exe shell32,Control_RunDLL PanelDatei,Argumente
oder selbstgeschriebenen direkten Aufruf erfolgt die entsprechende Aufrufserie von CPlApplet
im Modus Ausführen. Als Argument wird CPlApplet
der Code der gewünschten Hauptdialogbox übergeben, ein weiterer Code mag beispielsweise einen Registerkarten-Tab bezeichnen.
Der landessprachliche Klarname lässt sich anscheinend ebenfalls als Aufrufparameter von Control_RunDLL
verwenden.
Es erfolgt der jeweilige Benutzerdialog und daraufhin die entsprechende Speicherung und Umsetzung der gewünschten Einstellungen – wie auch immer.
…und Anmerkungen: