Project Description
This project is a spin-off from Compact13Tools. Besides the name and URL changes, the Managed Code tools are built directly with OS as Managed Code Subprojects.

Changes from Compact13Tools

  • Functionally the same, ie Same tool apps
  • Apps renamed from Compact13XXXX to CECompactXXXX
  • Similar changes in source code
  • OS Projects are C# Managed Code
    • C# source is built with OS
    • No call to lower layer, which has been removed
  • Tools are located collectively under ThirdParty/Embedded101/CECompactTools in Catlaog
  • SYSGENS for apps have been renamed
  • Registry entries under CECompactTools instead of Compact13Tools
    • HKLM/Software/CECompactTools/Shell/Minshell
  • New URL

This means that the two project are independent, There is no overlap, no interdependencies.

Toolbox Overview

The Toolbox adds some applications to the Platform Builder Catalog for Compact 2013 that were available in previous versions of Windows Embedded Compact/CE but not part of the current version, for development purposes.


The CECompactTools MinShell with its "Start Menu"


With Windows Embedded Compact 2013 (WEC 2013) the OS components were streamlined. Some components are no longer optional (automatically included) some others are no longer available. This is because WEC 2013 refocuses this embedded OS from being a multipurpose OS to be specifically targeted at lean and mean embedded systems. With the removal of such things as the Windows 95 shell, native code control panel applets, the web browser, File Explorer. Task Manager and editor (Wordpad), it is no longer possible to simply implement an OS that functions as a general purpose desktop OS. Some of those components are useful though in the OS development phase.

This project "mocks up" some of the removed applications as Managed Code applications.

Compact 2013 MinShell

The MinShell component that is in the WEC 2013 Catalog provides a mechanism for implementing a form of a start menu. The only component available with it though is the command prompt. Items can be added to the menu through the registry, as when the OS starts it iterates through a list in registry. The Compact13MinShell Codeplex project implements this for some applications such as ipconfig.exe. From Version 3.0 of that project, all applications that are part of this project are conditionally available on its run menu.

These two projects work together. If you just want these applications in your OS then just include them in your OS. If you also what to run them directly from MinShell then add the Compact13MinShell project to your OS (removing the WEC 2013 MinShell component of course).

Applications Available with this Project

CECompactTools V2.0
Application Description

Now included in this project from

CECompactForeverShell Use this as "the shell" instead. It launches 'Minshell in a loop so that if Minshell exits/crashes it is relaunched.
CECompactRunApp Can browse file system to choose app and launch it. Can navigate to shortcuts as well.
CECompactTaskManager A simple implementation of a Task Manager to switch to applications and close applications via their windows. Can also launch new tasks as per Compact13RunApp. This version PInvokes a DLL to do the Window Enums (Works in ARM).
AppWindowEnums Required by 'Taskmanager. The Native Code DLL (OS Subproject) that enumerates app windows and gets their text. Handles the Callbacks.
CECompactWebBrowser A simple Web Browser implementation in IE style using the Compact Framework WebBrowser component.
CECompac3Notepad A text editor with similar UI to the Windows classic Notepad,
CoreCon3 The CoreCon modules required for debugging SDK Managed Code apps.


Included from Additional functionality: Flush Registry

Takes directory from command line and list all apps one or two deep in a menu for launching. Default directories are \Windows and \Temp.
Replaces Compact13MyAppMenu.
Adds a Start Menu using Shortcuts (See Download Release (4.0)

CECompactPrototypeApp Template project for creating additional tools
ConsoleAppWithWindowText Simple Native Code app that writes to its Window text. TaskManager will differentiate between such apps as it uses Window text. TaskManager cannot differentiate between apps called Console.

The Big Picture

Whilst these applications have been "mocked up" use C# Managed Code (Compact Framework) it is envisaged that this project can be extended in the following ways as Community Input is invited:

  • Refine the existing Managed Code apps through improved and additional functionality.
  • Add an Explorer Shell style Start Menu using shortcuts. Done
  • Add more (Managed Code) apps (A Wishlist)
    • Control Panel and CP applets
    • Serial terminal app. Done as a separate project CESerialTerm
      • Integrates with the tools though.
  • Implement the apps in native code
    • Use Toolhelp API
    • Using MFC??
  • Implement the apps in XAML code
    • Also implement the Compact13Minshell in XAML
    • Control panel applets are already implemented


Use these components in developmental OS's only and remove from shipped versions.


  • Where is Version 1?
  • Version 1 is actually the Compact13Tools project

Last edited May 10, 2014 at 11:53 AM by DJonesEmbedded, version 14