This project is read-only.

Project Description

Some applications to add to Compact 2013 OS that were available in previous versions of Windows Embedded Compact/CE but not part of the current version.


  • Version 5.2 is now available, as in repository.
    • A few small fixes to do with the Start Menu from V5.0, V5.1 and V5.11
      • Menu sort capability was restored as was the "pseudo" Start Menu.
    • Also fixed image on AboutBoxes
    • All should now be OK.
  • Includes full source code for Managed Code Tools
  • Managed Code Tools are built via batch file with OS.
    • NB: Need to set BUILDVSPROJECT to 1 in the OS Environment properties  to force
      build of SDK projects
      • Note in V5.11 this was set but has now be unset.
    • Otherwise uses previously built binaries.
  • Full discussion of the software available:


Compact13Tools consists of two software layers. The bottom layer contains the SDK C# Managed Code for the tools, which are built there. The top layer as well as building the Native Code tools, binds the built bottom layer .exes into the OS image. See the Blog article for details.



A Compact 2013 MinShelll OS with the new "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

Compact 2013 Tools Apps V5.0
Application Description

Now included in this project from

Compact13ForeverShell Use this as "the shell" instead. It launches 'Minshell in a loop so that if Minshell exits/crashes it is relaunched.
Compact13RunApp Can browse file system to choose app and launch it. Can navigate to shortcuts as well.
Compact13TaskManager 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.
Compact13WebBrowser A simple Web Browser implementation in IE style using the Compact Framework WebBrowser component.
Compact13Notepad 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

Compact13PrototypeApp 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 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 and MFC code.
  • 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.

Last edited Apr 21, 2014 at 6:35 AM by DJonesEmbedded, version 57