Elephant
oreilly.com O'Reilly Network Safari Bookshelf Conferences Sign In/My Account | View Cart   
Book List Learning Lab eDocuments O'Reilly Gear Newsletters Press Room Jobs      O'Reilly China O'Reilly France O'Reilly Germany O'Reilly Japan O'Reilly Taiwan O'Reilly UK 

This book qualifies for free shipping
Win32 API Programming with Visual Basic
see larger cover

Win32 API Programming with Visual Basic

By Steven Roman, Ph.D.
First Edition November 1999 
ISBN: 1-56592-631-5
534 pages, $39.95 US, $58.95 CA, £28.50 UK
Add to Cart Add to UK Cart

Table of Contents



Preface

I. Declaring API Functions in Visual Basic

1. Introduction
     What Is the Win32 API?
     The Obstacles to Win32 API Programming Under Visual Basic
     Proceed with Circumspection
     Cautions

2. Preliminaries
     Character Codes
     Parameters and Arguments
     Dynamic Link Libraries
     Some C++ Syntax
     Pointers

3. API Declarations
     The VB Declare Statement
     The VC-to-VB Translation Game Plan
     Passing Parameters to an External Function
     CopyMemory-A VB Hacker's Dream
     Dealing with API Errors

4. Data Types
     What Is a Data Type?
     Fundamental and Derived Data Types
     Visual Basic Data Types
     Basic VC++ Data Types
     Translating Derived Data Types
     Win32 Typedefs
     An Example
     Structures and User-Defined Types
     Flags
     Symbolic Constants

5. Signed and Unsigned Data Types
     Signed and Unsigned Representations
     Why Two Different Representations?
     Unsigned Representation
     Signed Representation
     Translating Between Signed and Unsigned Representations
     Converting Between Word Lengths

6. Strings
     The BSTR
     C-Style LPSTR and LPWSTR Strings
     String Terminology
     Tools for Exploring Strings
     String Conversion by VB
     Passing Strings to the Win32 API
     Strings and Byte Arrays
     Getting the Address of a Variable of User -Defined Type

7. System Information Functions
     The Computer's Name
     Special Windows Paths
     The Operating System Version
     System Metrics
     System Parameters
     System Colors

8. Exception Handling
     Thwarting the General Protection Fault
     Replacing the Default Exception Handler
     The Replacement Exception Handler
     A Complete Example

II. The Windows Operating System

9. Windows Architecture
     Processes and Threads
     Windows Architecture
     Differences Between Windows 9x and Windows NT

10. Objects and Their Handles
     Handles
     Example: File Mapping

11. Processes
     Process Handles and IDs
     Module Handles
     Identifying a Process
     Process Pseudohandles
     Enumerating Processes
     Is This Application Already Running?

12. Threads
     Thread Handles and Thread IDs
     Thread Priority
     Thread Synchronization
     Waiting Can Be Tricky

13. Windows Memory Architecture
     Types of Memory
     The Address Space of a Process
     Example: Using GetSystemInfo
     Allocating Virtual Memory
     Example: Using GlobalMemoryStatus
     Virtual Memory Management
     Heaps of Memory
     Example: Mapping Virtual Memory

14. Portable Executable Files
     Module Relocation
     The PE File Format
     Example: Getting PE File Information

III. Windows (USER32.DLL Programming )

15. Windows: The Basics
     Terminology
     Window Styles
     Owned Windows
     Z Order
     Enumerating Windows
     Size and Position Functions

16. Windows Messages
     The Message Queues of a Thread
     The Windows Messaging System
     Posting and Sending Messages
     Example: Sending Messages to a Listbox
     Interprocess Marshalling
     Copying Data Between Processes
     The Local Input State

17. Window Classes and the Window Creation Process
     Window Classes
     Predefined Window Classes
     The Window Procedure of a Window Class
     Creating a Window
     Window Styles
     Windows and VB Controls
     Example: Spying on Windows

18. Windows Subclassing
     Subclassing a Window or Window Class
     Example: Subclassing the VB Checkbox Class

19. Windows Hooks
     Global and Thread-Specific Hooks
     Setting the Hook
     Hook Procedures
     Hook Types
     Hook Chains
     Example: A Local Hook
     Example: A Global Hook

20. DLL Injection and Foreign Process Access
     Accessing a Foreign Process: The Hooked Thread Graph
     Allocating Foreign Memory
     Example: Foreign Control Extraction
     Example: Fixing the VB6 Help System

IV. The Windows GDI (GDI32.DLL Programming )

21. Bitmaps
     Rectangles
     Bitmaps
     Bitmap Functions
     Using Bitmaps in Menus

22. Device Contexts I: Overview
     How Windows Handles Window Painting
     Device Contexts

23. Device Contexts II: Types of Device Contexts
     Information Device Contexts
     Memory Device Contexts
     Printer Device Contexts
     Display Device Contexts
     Coordinate Systems

24. Device Contexts III: Coordinate Systems
     GDI Coordinate Systems
     Virtual Space
     Device Space
     Page Space
     Virtual Space to Physical Space
     Setting Up Logical Coordinates in Physical Space
     Mapping Modes
     World Space

25. Fonts
     Font Families
     Font Technologies
     Character Sets
     Logical and Physical Fonts
     Enumerating Fonts

V. Appendixes

A. The Clipboard

B. The Windows Shell

C. The Registry and Private Profiles

Return to Win32 API Programming with Visual Basic


O'Reilly Home | Privacy Policy

© 2005, O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.