This paper provides an overview of embedded application programming for Windows CE platforms and devices. It provides a survey of the Windows CE operating system and the features and capabilities of the OS, and discusses the various development tools options available to developers, whether they are writing applications for off-the-shelf consumer platforms, such Windows Mobile PocketPC or Smartphone, or building custom hardware platforms from scratch. It then describes the major APIs available, from communications and networking functionality to graphical user interface libraries.