Résumé
Table of Contents
Acknowledgments | xvii | |
Introduction | xix | |
Part I | Windows Programming Basics | |
1 | Hello Windows CE | 3 |
What Is Different About Windows CE | 3 | |
Fewer Resources in Windows CE Devices | 4 | |
Unicode | 4 | |
New Controls | 5 | |
It's Still Windows Programming | 6 | |
The Window Class | 6 | |
Your First Program | 8 | |
Hungarian Notation | 15 | |
My Programming Style | 16 | |
Building HelloCE | 16 | |
2 | Drawing on the Screen | 35 |
Painting Basics | 36 | |
Valid and Invalid Regions | 36 | |
Device Contexts | 37 | |
Writing Text | 39 | |
Device Context Attributes | 39 | |
The TextDemo Example Program | 40 | |
Fonts | 47 | |
The FontList Example Program | 52 | |
Bitmaps | 62 | |
Device Dependent Bitmaps | 63 | |
Device Independent Bitmaps | 64 | |
DIB Sections | 64 | |
Drawing Bitmaps | 67 | |
Lines and Shapes | 70 | |
Lines | 70 | |
Shapes | 72 | |
The Shapes Example Program | 75 | |
3 | Input: Keyboard, Touch Screen, and Menus | 85 |
The Keyboard | 85 | |
Input Focus | 86 | |
Keyboard Messages | 86 | |
Keyboard Functions | 91 | |
The KeyTrac Example Program | 94 | |
The Touch Screen and the Stylus | 103 | |
Stylus Messages | 103 | |
The TicTac1 Example Program | 112 | |
Menus | 122 | |
Handling Menu Commands | 124 | |
Resources | 125 | |
Resource Scripts | 125 | |
Icons | 127 | |
Accelerators | 128 | |
Bitmaps | 129 | |
Strings | 129 | |
The TicTac2 Example Program | 130 | |
4 | Windows, Controls, and Dialog Boxes | 147 |
Child Windows | 148 | |
Window Management Functions | 149 | |
Scroll Bars and the FontList2 Example Program | 151 | |
Windows Controls | 167 | |
Button Controls | 168 | |
The Edit Control | 171 | |
The List Box Control | 171 | |
The Combo Box Control | 172 | |
Static Controls | 173 | |
The Scroll Bar Control | 174 | |
The CtlView Example Program | 174 | |
Dialog Boxes | 206 | |
Dialog Box Resource Templates | 206 | |
Creating a Dialog Box | 209 | |
Dialog Box Procedures | 211 | |
Modeless Dialog Boxes | 214 | |
Property Sheets | 216 | |
Common Dialogs | 222 | |
The DlgDemo Example Program | 224 | |
Part II | Windows CE Basics | |
5 | Common Controls and Windows CE | 263 |
Programming Common Controls | 264 | |
The Common Controls | 266 | |
The Command Bar | 266 | |
The CmdBar Example Program | 278 | |
Command Bands | 293 | |
The CmdBand Example Program | 303 | |
The Month Calendar Control | 317 | |
The Date and Time Picker Control | 320 | |
The List View Control | 322 | |
The LView Example Program | 325 | |
Other Common Controls | 344 | |
Unsupported Common Controls | 345 | |
6 | Memory Management | 347 |
Memory Basics | 347 | |
About RAM | 348 | |
About ROM | 348 | |
About Virtual Memory | 349 | |
The Windows CE Address Space | 350 | |
An Application's Address Space | 354 | |
The Different Kinds of Memory Allocation | 357 | |
Virtual Memory | 357 | |
Heaps | 363 | |
The Local Heap | 364 | |
Separate Heaps | 365 | |
The Stack | 368 | |
Static Data | 369 | |
String Resources | 371 | |
Selecting the Proper Memory Type | 371 | |
Managing Low-Memory Conditions | 372 | |
7 | Files, Databases, and the Registry | 377 |
The Windows CE File System | 378 | |
The Object Store vs. Other Storage Media | 379 | |
Standard File I/O | 380 | |
Creating and Opening Files | 380 | |
Reading and Writing | 382 | |
The FileView Sample Program | 387 | |
Memory-Mapped Files and Objects | 405 | |
Navigating the File System | 409 | |
Databases | 415 | |
Basic Definitions | 416 | |
The Database API | 417 | |
The AlbumDB Example Program | 433 | |
The Registry | 463 | |
Registry Organization | 464 | |
The Registry API | 465 | |
The RegView Example Program | 469 | |
8 | Processes and Threads | 487 |
Processes | 487 | |
Creating a Process | 488 | |
Terminating a Process | 491 | |
Other Processes | 492 | |
Threads | 493 | |
The System Scheduler | 493 | |
Never Do This! | 495 | |
Creating a Thread | 496 | |
Thread Local Storage | 501 | |
Synchronization | 503 | |
Events | 504 | |
Waiting... | 505 | |
Semaphores | 509 | |
Mutexes | 511 | |
Critical Sections | 512 | |
Interlocked Variable Access | 514 | |
Windows CE Security | 515 | |
Interprocess Communication | 516 | |
Finding Other Processes | 517 | |
The XTalk Example Program | 519 | |
Exception Handling | 533 | |
The __try, __except Block | 533 | |
The __try, __finally Block | 536 | |
Part III | Communications | |
9 | Serial Communications | 539 |
Basic Serial Communication | 539 | |
Opening and Closing a Serial Port | 540 | |
Reading and Writing to a Serial Port | 541 | |
Asynchronous Serial I/O | 542 | |
Configuring the Serial Port | 543 | |
Setting the Port Timeout Values | 546 | |
Querying the Capabilities of the Serial Driver | 547 | |
Controlling the Serial Port | 549 | |
Clearing Errors and Querying Status | 550 | |
Stayin' Alive | 551 | |
The Infrared Port | 552 | |
Raw IR | 552 | |
IrComm | 555 | |
The CeChat Example Program | 556 | |
10 | Windows Networking and IrSock | 575 |
Windows Networking Support | 575 | |
WNet Functions | 576 | |
The ListNet Example Program | 587 | |
Basic Sockets | 596 | |
Initializing the WinSock DLL | 597 | |
Stream Sockets | 598 | |
IrSock | 603 | |
The MySquirt Example Program | 609 | |
TCP/IP Pinging | 628 | |
11 | Connecting to the Desktop | 635 |
The Windows CE Remote API | 636 | |
RAPI Overview | 636 | |
Predefined RAPI Functions | 640 | |
The RapiDir Example Program | 646 | |
Custom RAPI Functions | 650 | |
The RapiFind Example Program | 656 | |
The CeUtil Functions | 665 | |
Connection Notification | 670 | |
Registry Method | 670 | |
COM Method | 672 | |
The CnctNote Example Program | 675 | |
Connection Detection on the Windows CE Side | 684 | |
File Filters | 684 | |
Registering a File Filter | 684 | |
The File Filter Interfaces | 690 | |
The ICeFileFilterOptions Interface | 694 | |
The DivFile Filter Example | 695 | |
Part IV | Advanced Topics | |
12 | Notifications | 711 |
User Notifications | 711 | |
Setting a User Notification | 712 | |
Timer Event Notifications | 717 | |
System Event Notifications | 718 | |
The NoteDemo Example Program | 719 | |
Querying Scheduled Notifications | 732 | |
13 | The Explorer Shell | 735 |
Working with the Shell | 736 | |
The Shell Namespace | 736 | |
Special Folders | 737 | |
Shortcuts | 739 | |
Configuring the Start Menu | 740 | |
Recent Documents List | 741 | |
Launching Applications | 741 | |
The Taskbar | 743 | |
The TBIcons Example Program | 744 | |
The Out Of Memory Error Dialog Box | 751 | |
Console Applications | 752 | |
The CEFind Example Program | 753 | |
Hardware Keys | 757 | |
Virtual Codes for Hardware Keys | 757 | |
Using the Application Launch Keys | 759 | |
Dynamically Overriding Application Launch Keys | 761 | |
14 | Programming the Pocket PC | 763 |
The Pocket PC Screen | 764 | |
Hello Pocket PC | 764 | |
Differences in a Pocket PC Application | 774 | |
Building HelloPPC | 779 | |
The Menu Bar | 779 | |
Creating a Menu Bar | 780 | |
Menu Bar Resources | 782 | |
Working with a Menu Bar | 786 | |
The NewMenuX Example | 788 | |
The MenuBar Example | 797 | |
Dialog Boxes | 813 | |
Full-Screen Dialog Boxes | 813 | |
Input Dialogs | 815 | |
Property Sheets | 816 | |
AutoRun | 818 | |
SHSipInfo | 821 | |
The Game API | 823 | |
GAPI Initialization | 825 | |
Drawing to the Screen | 827 | |
Indirect Access to the Frame Buffer | 828 | |
GAPI Maintenance | 829 | |
Cleaning Up | 829 | |
The GAPIShow Example | 830 | |
15 | Extending the Pocket PC | 849 |
Writing a Custom Today Screen Item | 849 | |
Creating a Today Screen Item DLL | 850 | |
The PowerBar Custom Today Screen Item | 855 | |
Writing an Input Method | 867 | |
The Components of a SIP | 868 | |
Threading Issues with Input Methods | 869 | |
The IInputMethod and IInputMethod2 Interfaces | 869 | |
The IIMCallback and IIMCallback2 Interfaces | 874 | |
The NumPanel Example Input Method | 877 | |
16 | System Programming | 901 |
The Boot Process | 901 | |
Reset | 902 | |
Powering Up Doesn't Boot the System | 909 | |
System Configuration | 910 | |
Writing Cross-Platform Windows CE Applications | 911 | |
Platforms and Operating System Versions | 911 | |
Compile-Time Versioning | 912 | |
Explicit Linking | 913 | |
Run-Time Version Checking | 916 | |
Power Management | 918 | |
17 | Device Drivers | 925 |
Basic Drivers | 925 | |
Driver Names | 926 | |
Enumerating the Active Drivers | 926 | |
Reading and Writing Device Drivers | 930 | |
Writing a Windows CE Stream Device Driver | 931 | |
The Stream API | 933 | |
Building a Device Driver | 942 | |
Debug Zones | 942 | |
The Generic Driver Example | 944 | |
Asynchronous Driver I/O | 952 | |
Index | 957 |
L'auteur - Douglas Boling
Douglas Boling, author, trainer, and consultant, is widely recognized for his expertise in Windows CE. He teaches on-site seminars on Windows CE and Windows Mobile to corporations around the world. As the founder of Boiling Consulting, Doug also provides consulting services for Windows CE projects including programming, architectural review, and support. He speaks at leading professional developer conferences, such as VSLive! and the Microsoft Windows Embedded Developers Conference.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Microsoft Press |
Auteur(s) | Douglas Boling |
Parution | 30/11/2001 |
Édition | 2eme édition |
Nb. de pages | 1000 |
Format | 18,8 x 23,5 |
Couverture | Broché |
Poids | 1624g |
Intérieur | Noir et Blanc |
EAN13 | 9780735614437 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse