- CPL-Datei
-
Die Systemsteuerung ist in Computern mit dem Betriebssystem Microsoft Windows ein zentrales Hilfsmittel, um die Einstellungen des Computers seinen persönlichen Bedürfnissen anzupassen.
Inhaltsverzeichnis
Aufbau
Die Systemsteuerung ist im Explorer ein Ordner (eine Art „virtueller Dateiordner“), der vom Betriebssystem aus einer Reihe von Control-Panels zusammengestellt wird. Diese sind in Form von CPL-Dateien im Systemverzeichnis C:\WINDOWS\system32 oder C:\WINNT\system32 (also %windir%\system32) vorhanden.
Funktion
In der Systemsteuerung kann man im Wesentlichen folgende Änderungen machen:
- Systeminformationen (
SYSDM.CPL
) - Darstellung und Designs: Die Darstellung des Windows-PCs ändern (Bildschirmauflösung, Darstellung der Fenster, der Icons oder den Desktop-Hintergrund ändern (
DESK.CPL
) - diverse Interfaces konfigurieren: Maus (
MAIN.CPL
), Joystick (JOY.CPL
) - Drucker und andere Hardware: Drucker und andere Hardware installieren, deinstallieren oder aktualisieren (
DESK.CPL
,HDWWIZ.CPL
– Hardwareassistent), Energieoptionen (POWERCFG.CPL
) - Netzwerk- und Internetverbindungen: Netzwerkkonfiguration, Neue Internetverbindungen einrichten, löschen oder (nur Windows XP) die Windows-Firewall deaktivieren oder die Einstellungen dieser ändern (
NCPA.CPL
– Netzwerk und DFÜ-Verbindungen,INETCPL.CPL
– Eigenschaften des Internet Explorers und anderes) - Benutzerkonten (nur Windows NT): Ein neues Benutzerkonto erstellen oder vorhandene Benutzerkonten löschen
- Software: Übersicht über die vorhandene Software mit Möglichkeiten zur Installation oder Deinstallation neuer Software (
APPWIZ.CPL
) - Datums-, Zeit-, Sprach-, und Regionaleinstellungen: Zeit und Zeitzone bzw. Datum ändern, Systemsprache ändern (
TIMEDATE.CPL
) - Sounds, Sprachein-/ausgabe und Audiogeräte: Ändern der Windows-internen Sounds bzw. Einstellungen für Sprachein-/ausgabegeräte konfigurieren (
INTL.CPL, MMSYS.CPL
) - Eingabehilfen: Einstellen der Eingabehilfen für beeinträchtigte Computernutzer, wie zum Beispiel Bildschirmlupe (
ACCESS.CPL
) - Leistung und Wartung: Den Computer warten, wie zum Beispiel Defragmentierung oder Datenträgerbereinigung ausführen
- Geplante Tasks: Zeitpläne für Aktionen erstellen
- Sicherheitscenter (nur XP): Automatische Aktualisierungen konfigurieren, bzw. Einstellungen der Windows Firewall konfigurieren. Außerdem ist dort eine Übersicht über eine eventuell vorhandene Personal Firewall oder Virenscanner vorhanden
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.
CPL-Datei
Eine CPL-Datei ist inhaltlich nichts anderes als eine umbenannte DLL-Datei.
Durch die so veränderte Dateiendung wird es möglich, automatisch alle Dialogboxen in der Übersichtsdarstellung „Systemsteuerung“ des Explorers zusammenzustellen – Näheres siehe Technische Details.
Dateien mit der Endung CPL könnten der Anwendung %windir%\system32\control.exe zugeordnet 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.
Technische Details
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-Anbieter sein, der sein Produkt komfortabel über die Systemsteuerung bedienen lassen möchte. Es erfolgt jeweils eine ganze Serie von Aufrufen des CPlApplet.
Gesamtliste
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 heutzutage wohl jedes Mal mit Öffnen von „Systemsteuerung“) durch alle %windir%\system32\*.CPL durch, sammelt diese Darstellungsinformationen sowie deren zugehörige Datei einschließlich Aufrufcode und schreibt das Ergebnis im Schlüssel HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder in das FeldPresentation Cache
.rundll32 shell32,Control_RunDLL
(ohne Parameter) öffnet ein spezielles Explorer-Fenster Systemsteuerung und stellt dieses (aktualisierte) Ergebnis zur Auswahl bereit.Währenddessen sind alle aufgelisteten CPL-Dateien geöffnet. Beim Schließen der Systemsteuerung werden alle CPlApplet erneut mehrfach aufgerufen.
Ausführung
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.
CONTROL.EXE
CONTROL.EXE macht heute wohl nichts anderes mehr als rundll32.exe shell32.dll,Control_RunDLL (und durchgereichte Parameter) aufzurufen. 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.
Weblinks
- CPlApplet im MSDN (englisch)
- Systeminformationen (
Wikimedia Foundation.