This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
"Raymond Chen is the original raconteur of Windows."
--Scott Hanselman, ComputerZen.com
"Raymond has been at Microsoft for many years and has seen many nuances of Windows that others could only ever hope to get a glimpse of. With this book, Raymond shares his knowledge, experience, and anecdotal stories, allowing all of us to get a better understanding of the operating system that affects millions of people every day. This book has something for everyone, is a casual read, and I highly recommend it!"
--Jeffrey Richter, Author/Consultant, Cofounder of Wintellect
"Very interesting read. Raymond tells the inside story of why Windows is the way it is."
--Eric Gunnerson, Program Manager, Microsoft Corporation
"Absolutely essential reading for understanding the history of Windows, its intricacies and quirks, and why they came about."
--Matt Pietrek, MSDN Magazine's Under the Hood Columnist
"Raymond Chen has become something of a legend in the software industry, and in this book you'll discover why. From his high-level reminiscences on the design of the Windows Start button to his low-level discussions of GlobalAlloc that only your inner-geek could love, The Old New Thing is a captivating collection of anecdotes that will help you to truly appreciate the difficulty inherent in designing and writing quality software."
--Stephen Toub, Technical Editor, MSDN Magazine
Why does Windows work the way it does? Why is Shut Down on the Start menu? (And why is there a Start button, anyway?) How can I tap into the dialog loop? Why does the GetWindowText function behave so strangely? Why are registry files called "hives"?
Many of Windows' quirks have perfectly logical explanations, rooted in history. Understand them, and you'll be more productive and a lot less frustrated. Raymond Chen--who's spent more than a decade on Microsoft's Windows development team--reveals the "hidden Windows" you need to know.
Chen's engaging style, deep insight, and thoughtful humor have made him one of the world's premier technology bloggers. Here he brings together behind-the-scenes explanations, invaluable technical advice, and illuminating anecdotes that bring Windows to life--and help you make the most of it.
A few of the things you'll find inside:
- What vending machines can teach you about effective user interfaces
- A deeper understanding of window and dialog management
- Why performance optimization can be so counterintuitive
- A peek at the underbelly of COM objects and the Visual C++ compiler
- Key details about backwards compatibility--what Windows does and why
- Windows program security holes most developers don't know about
- How to make your program a better Windows citizen
Autorentext
Raymond Chen writes The Old New Thing, one of today's most influential technology blogs. A programmer at Microsoft Corporation, Chen has been involved in the evolution of Windows for more than a decade. He also writes TechNet Magazine's Windows Confidential column and has been known to make appearances at technology events.
Inhalt
Preface xxiii
Acknowledgments xxvii
About the Author xxix
Chapter One: Initial Forays into User Interface DesignWhy do you have to click the Start button to shut down? 1
Why doesn't Windows have an "expert mode"? 2
The default answer to every dialog box is Cancel 3
The best setting is the one you don't even sense, but it's there, and it works the way you expect 6
In order to demonstrate our superior intellect, we will now ask you a question you cannot answer 7
Why doesn't Setup ask you if you want to keep newer versions of operating system files? 7
Thinking through a feature 9
When do you disable an option, and when do you remove it? 12
When do you put ... after a button or menu? 13
User interface design for vending machines 13
User interface design for interior door locks 15
The evolution of mascara in Windows UI 16
Chapter Two: Selected Reminiscences on Windows 95Why isn't my time zone highlighted on the world map? 19
Why didn't Windows 95 boot with more than 1GB of memory? 20
Why did Windows 95 have functions called BEAR, BUNNY, and PIGLET? 22
What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS? 23
What was in the Windows 95 Special Edition box? 25
Windows brings out the Rorschach test in everyone 25
The martial arts logon picture 26
Why a really large dictionary is not a good thing 27
An insight into the Windows 95 startup sound 27
It's a lot easier to write a column if you don't care about accuracy 28
Why does the System Properties page round the memory size? 29
Why does my hard drive light flash every few seconds? 29
The hunt for a faster syscall trap 30
One byte used to cost a dollar 31
Each product-support call costs a sale 32
Why isn't Tweak UI included on the Windows CD? 32
Turns out that you can't install Windows via xcopy 34
Buying an entire Egghead Software store 35
The history of the Windows PowerToys 35
How did Windows choose its final build numbers? 38
Why doesn't the build number increment for service packs? 39
Chapter Three: The Secret Life of GetWindowTextHow windows manage their text 41
Enter GetWindowText 42
What if I don't like these rules? 43
Can you give an example where this makes a difference? 44
Why are the rules for GetWindowText so weird? 44
Chapter Four: The Taskbar and Notification AreaWhy do some people call the taskbar the "tray"? 47
Why does the taskbar default to the bottom of the screen? 49
Why doesn't the clock in the taskbar display seconds? 50
Why doesn't the taskbar show an analog clock? 51
When I dock my taskbar vertically, why does the word "Start" disappear? 52
Why don't notification icons get a message when the user clicks the "X" button? 52
Chapter Five: Puzzling Interface IssuesWhat are those little overlay icons? 53
Why are these unwanted files/folders opening when I log on? 54
What do the text label colors mean for files? 56
Why does my advanced options dialog say ON and OFF after every option? 57
What determines the order in which icons appear in the Alt+Tab list? 58
Why is the read-only property for folders so strange? 59
What's with those blank taskbar buttons that go away when I click on them? 59
What is the difference between Minimize All and Show Desktop? 60 What does boldface on a menu mean? 62
Where do those customized Web site icons come from? 62
Where did my task manager tabs and buttons go? 63
Will dragging a file result in a move or a copy? 64
Why does the Links folder keep re-creating itself? 65
Why are documents printed out of order when you multiselect and choose Print? 66
Raymond spends the day doing product support 67
Blow the dust out of the connector 68
How much is that gigabyte in the window? 69
Why can't I remove the "For test/evaluation purposes only" tag? 70
Chapter Six: A History of the GlobalAlloc FunctionThe early years 71
Selectors 73
Transitioning to Win32 75
A peek at the implementation 76
Chapter Seven: Short Topics in Windows ProgrammingThe scratch program 79
Gettin…