In tip 3274 » Can I hide selected Control Panel applets, I explained how to hide selected Control Panel applets using Group Policy. I also explained how Group Policy stored your selection in the Registry.

To hide applets from the Control Panel display:

1. Use the Registry Editor to navigate to HKEY_CURRENT_USER\Control Panel\don't load. If the don't load sub-key is missing, add it.

2. To hide an applet, add a Value Name that is the applet <filename>.cpl as a string (REG_SZ) data type. While technically, it doesn't matter if you set the data value, I like to set mine to No.

3. You must logoff and logon for these settings to become effective.

NOTE: You may find that the following two applets are already configured:

ncpa.cpl
odbccp32.cpl

If you remove the odbccp32.cpl Value Name, Data Sources (ODBC) is displayed in Control Panel.

If you remove the ncpa.cpl Value Name, a second Network Connections icon is displayed, the new one requiring a double-click to see the configurable objects.

Here is a list of some common Control Panel applets:

     File name      Applet Description
     Access.cpl            Accessibility properties      
     Appwiz.cpl      Add/Remove Programs properties
     Desk.cpl      Display properties
     Hdwwiz.cpl      Add Hardware properties
     Inetcpl.cpl      Internet properties
     Intl.cpl      Regional Settings properties
     Irprops.cpl      Infrared Port properties
     (located in %SystemRoot%\Driver cache\I386\Driver.cab until you install an infrared device)      
     Joy.cpl      Joystick properties
     Main.cpl      Mouse properties
     Mmsys.cpl      Multimedia properties
     Ncpa.cpl      Network Connections properties
     Nusrmgr.cpl      User Accounts properties
     Nwc.cpl      Gateway Services for NetWare properties
     Odbccp32.cpl      Open Database Connectivity (ODBC) Data Source Administrator properties
     Powercfg.cpl      Power Options properties
     Sapi.cpl      Speech Properties
     (located in "%CommonProgramFiles%\Microsoft Shared\Speech")
     Sysdm.cpl      System properties
     Telephon.cpl      Phone and Modem Options properties
     Timedate.cpl      Time and Date properties

I have scripted HideApplet.bat to add and delete applets.

The syntax for using HideApplet.bat is:

HideApplet Applet A|D

Where A adds the applet and D deletes the applet.

Example

To add the tablet.cpl applet to the don't load list:

hideapplet tablet.cpl a

To delete the odbccp32.cpl from the don't load list:

hideapplet odbccp32.cpl d

HideApplet.bat contains:

@echo off
setlocal
if \{%2\}<h1><a name="_goto_error_loop_if_2_">\{\} goto error
:loop
if \{%2\}</a></h1>\{\} endlocal&goto :EOF
set applet=%1
set AddRem=%2
shift
shift
if /i "%AddRem%" EQU "A" goto Add
if /i "%AddRem%" EQU "D" goto Del
@echo Syntax: HideApplet Applet A^|D
@echo Syntax: HideApplet %applet% %AddRem%
goto loop
:error
@echo Syntax: HideApplet Applet A^|D
endlocal
goto :EOF
:Add
@echo REG ADD "HKCU\Control Panel\don't load" /V %Applet% /T REG_SZ /F /D "No"
REG ADD "HKCU\Control Panel\don't load" /V %Applet% /T REG_SZ /F /D "No"
@echo.
goto loop
:Del
@echo REG DELETE "HKCU\Control Panel\don't load" /V %Applet% /F
REG DELETE "HKCU\Control Panel\don't load" /V %Applet% /F
@echo.
goto loop