Windows Programming
From Wikibooks, the open-content textbooks collection
Contents |
[edit] Introduction
This book is an attempt to be a comprehensive source for any developer who is interested in programming for the Windows platform. This book will start its discussion at the lowest level, with the Win32 API (C and VB Classic) and MFC (C++). Beyond these basic sections, we will discuss COM, and the creation of ActiveX modules from a variety of languages. Next, we will delve into the Windows DDK, and talk about programming device drivers for Windows platform. Finally, we will move on to the highest-level programming tasks, including shell extensions, shell scripting, and finally ASP and WSH.
Some other topics that will be discussed here are: writing screen-savers, creating HTML help modules, and compiling DLL files.
The goal is to make a comprehensive book on programming windows. This book will try to focus on topics that are specific to Windows, and will avoid topics that are general programming topics. A number of books have already been written about many of the subjects in this book, however. Specifically, there are entire wikibooks dedicated to programming in Visual Basic and Visual Basic.NET. This book will provide appropriate links to these books, and will not try to "reinvent the wheel".
The reader is assumed to have a previous knowledge of the programming languages involved. Specifically, prior knowledge in C, C++, and Visual Basic will be required for certain sections.
[edit] Table of Contents
[edit] Section 1: Windows Basics
- Windows System Architecture
- User Mode vs Kernel Mode
- C and Win32 API
- <Windows.h>
- Handles and Data Types
- Unicode
- Dynamic Link Libraries (DLL)
- Programming Windows With OSS Tools
- Resource Scripts
[edit] Section 2: Win32 API and UI Controls
- Message Loop Architecture
- Interfacing (Mouse, keyboard, and timer messages)
- Window Creation
- User Interface Controls
- GDI and Drawing
- Dialog Boxes
- Input-Output
- File Management
- Memory Subsystem (heaps, virtual memory)
- Multitasking
- Interprocess Communication
- MDI Programs
- Registry API
- Security API
- Winsock
[edit] Section 3: Microsoft Foundation Classes and COM
- Introduction to MFC
- Classes Hierarchy
- Classes and interfacing
- COM and ActiveX
- COM Programming
- DCOM and COM+
- Multi-language programming examples
- OLE Programming
[edit] Section 4: Device Driver Programming
- Device Driver Introduction
- The DDK
- Driver Structure
- Driver API
- Terminate and Stay Resident (TSR)
- Virtual Device Drivers (VXD)
- Windows Driver Model (WDM)
- Vista Driver Migration
[edit] Section 5: Shell Programming
- Programming Shell Extensions
- Extending IE
- Programming Screen-savers
- Programming Services
- Programming CMD aka Windows Batch Programming
- Control Panel Applets
- Windows Script Host
- ASP
- JScript
- VBScript
- PerlScript
- Compiled HTML Help and Help API
[edit] Appendices
- Resource Script Reference
- Obtaining the SDK
- Obtaining the DDK
- Obtaining MASM
- Obtaining the HTML Help Workshop
- Windows Programming/Key Combinations
- 64-bit Windows Migration
- Windows Vista Migration
- Lists of Available APIs and related libraries
[edit] Further Reading
[edit] Wikimedia Resources
Programming Languages:
Information about Windows:
Related topics:
[edit] External Resources
- Advanced Win32 API Newsgroup
- Microsoft Developers Network
- Petzold, Charles, "Programming Windows", Microsoft Press
- Hart, Johnathan, "Windows System Programming", second edition, 2001. ISBN 0201703106
- Gordon, Alan, "The COM and COM+ Programming Primer", 2000, ISBN 0130850322
- Oney, Walter, "Programming the Windows Driver Model", second edition, 2002. ISBN 0735618038