Because an original equipment manufacturer (OEM) can choose different Windows CE components to include in the H/PC, not all devices have the same features. When programming for the H/PC, you must consider what hardware features the OEM has made available to you. Pay particular attention to the amount of ROM and RAM and the memory page size of the device. In general, H/PCs contain the following hardware:
H/PCs have an LCD with a resolution of 480 x 240 or higher in a landscape orientation. The screen can have a color resolution of 2, 4, or 8 bits per-pixel. The pixel arrangement renders the display in black and white, grayscale, or 256 colors.
A continuous resistive touch panel covers the LCD. The touch panel, which works similarly to a mouse on a desktop computer, allows a user to directly manipulate objects on the screen. Tapping the screen sends the same kind of messages that are generated by clicking the left button of a mouse that is connected to a Windows-based desktop computer. Because an H/PC has no mouse, cursor support is limited to a spinning hourglass used as a wait cursor. You cannot change the shape of the cursor to indicate an active target, such as a hyperlink.
The H/PC keyboard is a QWERTY keyboard with some keys omitted. QWERTY is the standard English-language keyboard layout named for the six leftmost characters in the top row of alphabetic characters. The H/PC keyboard includes a CTRL key, an ALT key, and two SHIFT keys. Infrequently used keys, such as PRINT SCREEN and SCROLL LOCK, are not included. The keyboard supports separate key-down and key-up events.
You use the built-in audio hardware to associate sounds with notification events or to play wave (.wav) files. To reduce code size, you access .wav files stored in ROM.
H/PCs include a built-in, nine-pin serial port. Applications use the serial port for communication between the H/PC and a desktop computer. H/PCs can connect to desktop computers by using a serial cable or an optional docking cradle that is connected to the desktop computer. The cradle is available from H/PC manufacturers. Some H/PCs support data communications through a modem connected to the serial port. The serial port can be used as a printer port as well.
An infrared communications serial port that conforms to the Infrared Data Association (IrDA) specifications is included. H/PCs can communicate with other H/PCs, desktop computers, or printers through IrDA-compliant infrared ports. Additionally, IR ports support printers that are IR-enabled, as well as printers with parallel interfaces.
Some H/PCs have an internal modem, a built-in, one-way pager, or a PC Card slot for additional communications hardware. Because Windows CE supports only a portion of the Personal Computer Memory Card International Association (PCMCIA) standard, not all modems are supported. However, because Windows CE supports installable device drivers, third-party software and hardware vendors can add support for additional devices by providing device drivers that you can install into an H/PC's RAM. H/PCs also support flash cards as a means of transferring files and adding extra memory.