The Windows Concept Journey — “Control Panel”

Shlomi Boutnaru, Ph.D.
2 min readMay 19, 2024

--

The goal of the “Control Panel” is to help users with configuring system-level features of the operating system. Examples for those are: system maintenance, security, hardware/software setup and user account management. When speaking about “Control Panel” we usually mean the entire Windows control panel feature, while specific control panels are referred by “Control Panel Items” (https://learn.microsoft.com/en-us/windows/win32/uxguide/winenv-ctrl-panels) — as shown in the screenshot below.

Overall, the control panel’s items are also called “applets”. Each applet is a “*.CPL” file which is basically a DLL/PE file that exports the “CPlApplet” function. There are a couple of ways for registering an “applet”. Placing the “*.CPL” file in the “%windir%\System32” directory. Also, adding the information (location/name of the CPL file) about the applet in the following subkey: “HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls”. (https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/hh127454(v=vs.85)). .

Lastly, we can also add the CLSID (class identifier, part of Microsoft’s “Component Object Model” aka COM) for the applets in the following location: “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\” (https://winaero.com/how-to-add-anything-you-want-to-control-panel/). By the way, the configuration done by applets is mostly relevant for the local machine, as opposed to MMC snap-ins which are hosted by “mmc.exe” (https://medium.com/@boutnaru/the-windows-process-journey-mmc-exe-microsoft-management-console-a584afe66d86). Those snap-ins also support remote management using protocols like MS-RPC.

See you in my next writeup ;-) You can follow me on twitter — @boutnaru (https://twitter.com/boutnaru). Also, you can read my other writeups on medium — https://medium.com/@boutnaru. You can find my free eBooks at https://TheLearningJourneyEbooks.com.

--

--