Training
Certifications
Books
Special Offers
Community




 
Programming Microsoft® Windows® CE .NET, Third Edition
Author Douglas Boling
Pages 1264
Disk 1 Companion CD(s)
Level Int/Adv
Published 05/28/2003
ISBN 9780735618848
Price $59.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Table of Contents


    Acknowledgmentsxix
    Introductionxxi
PART I  WINDOWS PROGRAMMING BASICS 
1  Hello Windows CE3
    What Is Different About Windows CE3
        Fewer Resources in Windows CE Devices4
        Unicode4
        New Controls5
        Componentization5
        Win32 Subset6
    It's Still Windows Programming6
        Hungarian Notation6
    Your First Windows CE Application7
        Building Your First Application10
        Running the Program11
        What's Wrong?11
    Hello212
    Anatomy of a Windows-Based Application15
        The Window Class15
        The Window Procedure15
        The Life of a Message16
    Hello317
        Registering the Window Class20
        Creating the Window22
        The Message Loop23
        The Window Procedure24
    HelloCE28
        The Code29
        Running HelloCE36
2  Drawing on the Screen 39
    Painting Basics 40
        Valid and Invalid Regions 40
        Device Contexts 41
    Writing Text 43
        Device Context Attributes 44
        The TextDemo Example Program 46
        Fonts 52
        The FontList Example Program 58
    Bitmaps 66
        Device-Dependent Bitmaps 67
        Device-Independent Bitmaps 68
        DIB Sections 68
        Drawing Bitmaps 71
    Lines and Shapes 74
        Lines 74
        Shapes 77
        Fill Functions 80
        The Shapes Example Program 82
3  Input: Keyboard, Mouse, and Touch Screen 91
    The Keyboard 91
        Input Focus 92
        Keyboard Messages 92
        Keyboard Functions 98
        The KeyTrac Example Program 100
    The Mouse and the Touch Screen 109
        Mouse Messages 109
        Working with the Touch Screen 110
        The TicTac1 Example Program 118
4  Windows, Controls, and Menus 129
    Child Windows129
    Window Management Functions130
        Enumerating Windows131
        Finding a Window131
        Editing the Window Structure Values132
    Windows Controls135
        Button Controls137
        The Edit Control140
        The List Box Control141
        The Combo Box Control141
        Static Controls142
        The Scroll Bar Control143
        The CtlView Example Program147
    Menus179
        Handling Menu Commands181
    Resources181
        Resource Scripts182
        Icons184
        Accelerators185
        Bitmaps186
        Strings186
    The DOIView Example Program187
5  Common Controls and Windows CE205
    Programming Common Controls206
    The Common Controls208
        The Command Bar209
        The CmdBar Example221
        Command Bands236
        The CmdBand Example246
        The Menu Bar260
        The MenuBar Example269
        The Month Calendar Control286
        The Date and Time Picker Control289
        The List View Control292
        The CapEdit Control294
    Other Common Controls295
    Unsupported Common Controls296
6  Dialog Boxes and Property Sheets297
    Dialog Boxes298
        Dialog Box Resource Templates298
        Creating a Dialog Box302
        Dialog Box Procedures303
        Modeless Dialog Boxes307
        Property Sheets308
        Common Dialogs314
    The DlgDemo Example Program316
PART II  WINDOWS CE PROGRAMMING 
7  Memory Management357
    Memory Basics357
        About RAM358
        About ROM358
        About Virtual Memory359
        An Application's Address Space362
    The Different Kinds of Memory Allocation364
        Virtual Memory365
        Heaps371
        The Local Heap372
        Separate Heaps373
        The Stack375
        Static Data376
        String Resources379
        Selecting the Proper Memory Type379
        Managing Low-Memory Conditions380
8  Files and the Registry385
    The Windows CE File System386
        The Object Store vs. Other Storage Media387
        Standard File I/O387
        The FileView Sample Program396
        Memory-Mapped Files and Objects406
        Navigating the File System408
    The Registry415
        Registry Organization416
        The Registry API417
        The RegView Example Program421
9  Windows CE Databases 439
    Databases 439
        Basic Definitions 439
        The Database API 441
        The AlbumDB Example Program 458
10  Modules, Processes, and Threads489
    Modules489
    Processes493
        Creating a Process494
        Terminating a Process497
        Other Processes498
    Threads499
        The System Scheduler499
        Creating a Thread502
        Setting and Querying Thread Priority504
        Setting a Thread's Time Quantum506
        Suspending and Resuming a Thread506
    Fibers507
    Thread Local Storage509
    Synchronization511
        Events512
        Waiting...514
        Semaphores518
        Mutexes520
        Duplicating Synchronization Handles521
        Critical Sections521
        Interlocked Variable Access523
    Windows CE Security525
    Interprocess Communication527
        Finding Other Processes527
        WM_COPYDATA 528
        Named Memory-Mapped Objects529
        Message Queues531
        Communicating with Files and Databases534
    The XTalk Example Program535
    Exception Handling549
        C++ Exception Handling549
        Win32 Exception Handling552
11  Notifications557
    User Notifications557
        Setting a User Notification558
    Timer Event Notifications563
    System Event Notifications564
    The Note Demo Example Program566
    Querying Scheduled Notifications580
PART III  COMMUNICATIONS 
12  Serial Communications585
    Basic Serial Communication585
        Opening and Closing a Serial Port586
        Reading from and Writing to a Serial Port587
        Asynchronous Serial I/O588
        Configuring the Serial Port589
        Setting the Port Timeout Values592
        Querying the Capabilities of the Serial Driver594
        Controlling the Serial Port595
        Clearing Errors and Querying Status597
        Stayin' Alive598
    The CeChat Example Program598
13  Windows CE Networking615
    Windows Networking Support615
        WNet Functions616
        The ListNet Example Program627
14  Device-to-Device Communication637
    Basic Sockets638
        Initializing the Winsock DLL638
        Stream Sockets639
    IrSock645
        Querying and Setting IR Socket Options647
        Blocking vs. Nonblocking Sockets648
        The MySquirt Example Program651
    Bluetooth670
        Stack671
        Discovery672
        Publishing a Service682
        Bluetooth Communication with Winsock685
        Bluetooth Communication with Virtual COM Ports687
        The BtHello Example Program692
    OBEX714
        Initialization714
        Application Callbacks714
        Device Discovery716
        OBEX Communication718
        The ObexSquirt Example Program722
15  Connecting to the Desktop747
    The Windows CE Remote API748
        RAPI Overview748
        Predefined RAPI Functions751
        The RapiDir Example Program758
        Custom RAPI Functions762
        The RapiFind Example Program768
    The CeUtil Functions777
    Connection Notification781
        Registry Method782
        COM Method783
        The CnctNote Example Program786
        Connection Detection on the Windows CE Side794
    Direct Socket Connections795
PART IV  DEVICE PROGRAMMING 
16  The Explorer Shell 799
    Working with the Shell 800
        The Shell Namespace 800
        Special Folders 801
        Shortcuts 803
        Configuring the Start Menu804
        Recent Documents List 805
        Launching Applications806
        The Taskbar807
        The TBIcons Example Program 809
        The Out Of Memory Error Dialog Box 816
    Console Applications 817
        The CEFind Example Program 818
        Console Redirection822
    Hardware Keys 823
        Virtual Codes for Hardware Keys823
        Using the Application Launch Keys825
        Dynamically Overriding Application Launch Keys827
17  Programming the Pocket PC831
    What Is a Pocket PC?831
        Is It a PDA, a Phone, or Both?832
        The Pocket PC Screen833
    Hello Pocket PC834
        Differences in a Pocket PC Application843
        Building HelloPPC848
    The New Menu 849
        The NewMenuX Example850
    Pocket PC Notifications859
        Adding a Notification860
        Modifying a Notification863
        Removing a Notification864
    Dialog Boxes864
        Full-Screen Dialog Boxes865
        Input Dialogs866
        Property Sheets868
    AutoRun869
    Additional Pocket PC Shell Functions871
        Full-Screen Windows871
        Freeing Memory871
        Controlling the SIP872
18  Extending the Pocket PC875
    Custom Today Screen Items875
        Implementing a Today Screen Item876
        Registering the Custom Item880
        Debugging a Custom Item881
        The PowerBar Custom Today Screen Item881
    Custom Input Methods895
        The Components of a SIP895
        Threading Issues with Input Methods896
        The IInputMethod and IInputMethod2 Interfaces897
        The IIMCallback and IIMCallback2 Interfaces902
        The NumPanel Example Input Method905
19  Programming the Smartphone929
    Introducing the Smartphone930
        A Smartphone Application932
    The Smartphone's MenuBar Control939
        Creating a Smartphone MenuBar Control940
        Working with the Buttons and Menus942
        The Back Button and Other Interesting Buttons944
    Message Boxes947
    Dialog Boxes949
        Scrolling Dialogs950
    Smartphone Controls950
        Text Controls951
        Expandable Edit Controls953
        Spinner Controls954
    File Operation in the Smartphone956
    Communication958
        Phone API958
        The Connection Manager961
        SMS Messaging965
        The SMSTalk Example974
    Smartphone Security995
20  GAPI, the Game API997
    GAPI Initialization998
        Getting Display Information999
        Querying Button Information1000
        Accessing the Buttons1001
    Drawing to the Screen1001
    Indirect Access to the Frame Buffer1002
    GAPI Maintenance1003
    Cleaning Up1003
    The GAPIShow Example1004
PART V  ADVANCED WINDOWS CE 
21  System Programming1025
    The Windows CE Memory Architecture1025
    Writing Cross-Platform Windows CE Applications1028
        Platforms and Operating System Versions1028
        Compile-Time Versioning1030
        Explicit Linking1032
        Run-Time Version Checking1032
    Power Management1033
        Querying the Power State1033
        Changing the Power State1036
        The Power Manager1039
22  Device Drivers and Services1045
    Basic Drivers1045
        Driver Names1046
        The Device Driver Load Process1047
        Enumerating the Active Drivers1050
        Reading and Writing Device Drivers1052
    Writing a Windows CE Stream Device Driver1054
        The Stream Driver Entry Points1055
        Device Interface Classes1065
        Device Driver Power Management1067
    Building a Device Driver1070
        Debug Zones1070
        The Generic Driver Example1071
    Asynchronous Driver I/O1079
    Services1084
        Service Architecture1085
        The Life of a Service1085
        Application Control of a Service1087
        The Service DLL Entry Points1089
        The Service IOCTL Commands1091
        Super Service1094
        Services.exe Command Line1098
        TickSrv Example Service 1098
23  Programming the .NET Compact Framework1113
    It's Becoming a Managed World1113
        To .NET or Not to .NET1114
    A Brief Introduction to Managed Applications1116
        HelloCF1117
        Common Language Runtime Basics1120
    The Framework Class Library1125
    Windows Forms Applications1126
        A Basic Windows Forms Application1127
        Configuring a Top-Level Form1133
    Compact Framework Unique Classes1134
    Accessing the Underlying Operating System1139
        P/Invoke1140
        P/Invoke Arguments1142
    The IrSquirtCF Example1147
INDEX1165



Last Updated: May 30, 2003
Top of Page