Control Panel Applet Framework | CodeGuru

Control Panel Applet Framework

 Download Source Code and Example The Windows Control Panel is the ideal way to allow a user to alter settings for an application that runs in the background, or automatically. But what are control panel applets and how do you write one? Well, after some exploring in the MSDN I discovered that control panel applets […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

 Download Source Code and Example


The Windows
Control Panel
is the ideal way to allow a user to alter settings for an application
that runs
in the background, or automatically. But what are control panel
applets
and how do you write one? Well, after some exploring in the MSDN I
discovered
that control panel applets are just standard DLLs with a particular set
of entry
points and a .cpl extension. Place such a file in the Windows System
directory
and the next time you start up control panel your applet will be there.
Having
discovered what I needed to know I set about writing a control panel
applet and
once I’d done that, I turned the bulk of the code into a mini applet
framework
so I wouldn’t have to write it ever again!


To implement your control panel applet
all you
need to do is the following:


  • include
    "ControlApplet.hpp" and
    publicly derive a class from CJBControlPanelApplet.

  • call the CJBControlPanelApplet
    constructor
    and pass resource IDs for the applet’s icon, name and
    description.

  • implement the pure virtual
    function
    OnDoubleClick() – this is where your applet becomes live and can
    display a
    dialog or whatever.

  • create an instance of your applet
    class at
    global scope.

  • link with ControlApplet.cpp and
    include
    ControlApplet.def in your project. ControlApplet.cpp gives you the
    implementation of CJBControlPanelApplet and suitable DllMain() and
    CPlApplet() DLL entry point functions.

So that this article and code can be kept up to date more easily
I’ve
provided a link to where the article is located on my own web pages. Read
the full article and download the source code
.


Last updated: 27 June 1998

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.