How to Support Multiple Screens on a Device (Windows Embedded CE 6.0)


You can use multiple display adapters to create a single, large continuous desktop that spans all the screens on your system. The larger desktop is useful because it can allow your users to display full-sized application windows side-by-side.

Windows Embedded CE provides functions that allow applications to control how they are positioned in a multiple screen system, however, the OS, based on user input, ultimately controls how windows and dialog boxes are positioned and displayed.

Hardware and Software Assumptions

  • Your Visual Studio installation includes a CEPC x86 board support package (BSP).
  • You have a CEPC already configured. For more information, see How to Set Up a CEPC and How to Use the IDE to Create, Customize, and Build a Run-Time Image.
  • You have 2 - 4 identical display adapters, with multiple monitor support, installed in your CEPC. The ATI Rage XL Expert 98 display adapter** is the only board with a multiple monitor capable driver that ships with Windows Embedded CE.
  • Both of the monitors that you want to use for monitor spanning have an identical display resolution. Notice that this feature does not work when the monitors each have different display resolutions.


Step Topic

1. Create an empty, display-based operating system (OS) for your CEPC.

Creating an Empty Display-Based OS

2. Add your multiple monitor-enabled display driver to your OS design.

Keep the VGA Linear (Flat) Framebuffer display driver in your OS design.

Adding an Item from the Catalog

3. In the Catalog Items View, expand the OS design, expand Core OS, Expand CEBASE, expand Graphics and Multimedia Technologies, and then expand Graphics. Add the catalog item Multiple Monitor Support to your OS design by clicking the checkbox next to the item in the catalog list.

Adding an Item from the Catalog

4. Edit your OS design's registry to reflect the number of display adapters in your system:

  • In the Solution Explorer tab, expand ParameterFiles.
  • Expand your OS design's parameters tree to reveal the file Project.reg and then add the following registry setting for a two-monitor system:

    "Total Monitors"=dword:2
    The previous setting in Project.reg overwrites the one in Common.reg because the Project.reg file is loaded after Common.reg.
  • Save your changes in Project.reg.

Not applicable

5. Choose a Debug or Release configuration to target when Platform Builder builds the OS design into a run-time image.

To use the kernel debugger, make sure that support for the kernel debugger is enabled.

Levels of Debugging Support

Building a Run-Time Image From a Debug Configuration

Building a Run-Time Image From a Release Configuration

6. If you expect the size of either the debug or the release run-time image to exceed 32 MB, enable support for a large run-time image in the settings for the OS design.

Debug run-time images are typically larger than release run-time images. If you choose a debug configuration and the OS design contains many features, it is likely that the size of the run-time image will exceed 32 MB.

Enabling a Run-Time Image Size Larger Than 32 MB

7. Build the OS design into a run-time image.

Building a Run-Time Image

8. In the Output window, on the Output tab, verify that the build contains no errors.

Build Error Debugging Process

9. Choose a download service appropriate for the connection hardware. The download service will download a run-time image to the CEPC.

Download Service Selection

10. Set up and configure the connection hardware required for the download service. That hardware connects the CEPC to the development workstation, on which Platform Builder is installed. Examples of connection hardware include cables, a hub, or Ethernet network adapters.

Hardware Configuration

11. If you selected Serial Download Service in step 9, configure the HyperTerminal terminal emulation application to display the serial debug output from the serial port on the CEPC.

This configuration requires a null-modem cable connected to a serial port, such as COM1.

Configuring HyperTerminal for BSPs

12. Turn on the CEPC so that it becomes active on the Ethernet network or over the serial connection, and Platform Builder can discover it.

Not applicable

13. Configure the connection to the CEPC.

Choose the appropriate topic based on whether the development workstation and the CEPC are connected by an Ethernet network or a serial port connection.

Configuring an Ethernet Remote Connection

Configuring a Serial Remote Connection

14. Download the run-time image to the CEPC through the configured connection.

Downloading a Run-Time Image to a CEPC

Troubleshooting: Downloading a Run-Time Image

15. After your run-time image is loaded, start a windowed application and open a dialog box. Move them around to see how they transition from one screen to another.

  • To start a windowed application, from the Start menu, choose Programs and then choose Windows Explorer.
    When you start it, the application window fills the primary screen. Press F11 to put Windows Explorer into windowed mode. You can now click the window's title bar and drag the window to the other screen.
  • To open a dialog box, from the Start menu, choose Settings and then choose Taskbar and Start Menu.
  • When the Taskbar and Start Menu Properties dialog box appears, drag it to the other screen.

Not applicable

**The non-Microsoft software and hardware referenced in this document are included for illustrative purposes only. Illustrations that use such third party software and hardware as examples are not intended to be an endorsement or recommendation of any of these products. We provide this information only as a convenience for our customers for purposes of explaining a practical application and do not provide warranties of any kind, whether express, implied or statutory, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.


Internally, your OS enumerates the display adapters in the order they appear on the PCI bus. The OS considers the first display adapter on the PCI bus to be the primary display adapter. Each subsequent display adapter extends the screen area to the immediate right of the area controlled by its predecessor on the PCI bus.


The taskbar is only displayed on the screen attached to the primary adapter. It is not possible to extend the desktop area above or below the primary screen.


After your OS loads, you might find that your Windows Embedded CE desktop appears out of sequence compared to the physical layout of your screens. For example, the left half of your desktop may appear on your right screen and the right half of your desktop may appear on the left screen. There is no way to compensate for this with software settings in your OS. You must physically rearrange your hardware.

See Also


Multiple Screens Registry Settings
Multiple Screens OS Design Development

Other Resources

Multiple Screens How-to Topics