38,99 €
inkl. MwSt.
Versandkostenfrei*
Versandfertig in über 4 Wochen
  • Broschiertes Buch

There have been innumerable books, magazine articles, conference sessions, training classes, and online postings on how to program for Windows. There has been very little written, however, which explains the rationale behind why Windows works the way it does. It turns out that some of Windows' odder quirks have perfectly logical reasons behind them. Gaining an understanding of this will help Windows programmers develop better applications with less sweat and frustration. For years Raymond Chen has been explaining the "why" behind Windows in his blog, and explaining it in an engaging and…mehr

Produktbeschreibung
There have been innumerable books, magazine articles, conference sessions, training classes, and online postings on how to program for Windows. There has been very little written, however, which explains the rationale behind why Windows works the way it does. It turns out that some of Windows' odder quirks have perfectly logical reasons behind them. Gaining an understanding of this will help Windows programmers develop better applications with less sweat and frustration. For years Raymond Chen has been explaining the "why" behind Windows in his blog, and explaining it in an engaging and captivating style, which has made him one of the premier bloggers in the technology world. Now Chen distills his years of experience in one book, packed with behind the scenes explanations that will be useful for any Windows programmer. Not only is this book practical, but its style and gentle humor make it a pleasure to read. The author will be promoting it on his blog, in his monthly column in TechNet Magazine, and through his many speaking engagements. Joel Spolsky, one of the most famous of all bloggers, has written a foreword for the book. Product Description
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

Backcover
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

Preface xxiiiAcknowledgments xxviiAbout the Author xxixChapter One: Initial Forays into User Interface Design Why 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 95 Why 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 GetWindowText

How 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 Area

Why 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 Issues What 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 Function The early years 71

Selectors 73

Transitioning to Win32 75

A peek at the implementation 76

Chapter Seven: Short Topics in Windows Programming The scratch program 79

Getting a custom right-click menu for the caption icon 85

What's the difference between CreateMenu and CreatePopupMenu? 86

When does the window manager destroy menus automatically? 88

Painting only when your window is visible onscreen 89

Determining whether your window is covered 93

Using bitmap brushes for tiling effects 95

What is the DC brush good for? 98

Using ExtTextOut to draw solid rectangles 100

Using StretchBlt to draw solid rectangles 102

Displaying a string without those ugly boxes 103

Semaphores don't have owners 110

An auto-reset event is just a stupid semaphore 112

Chapter Eight: Window Management Why do I get spurious WM_MOUSEMOVE messages? 115

Why is there no WM_MOUSEENTER message? 118

The white flash 118

What is the hollow brush for? 119

What's so special about the desktop window? 120

The correct order for disabling and enabling windows 121

A subtlety in restoring the previous window position 122

UI-modality versus code-modality 123

The WM_QUIT message and modality 126

The importance of setting the correct owner for modal UI 129

Interacting with a program that has gone modal 132

A timed MessageBox, the cheap version 133

The scratch window 135

The bonus window bytes at GWLP_USERDATA 136

A timed MessageBox, the better version 136

A timed context menu 138

Why does my window receive messages after it has been destroyed? 139

Chapter Nine: Reminiscences on Hardware Hardware backward compatibility 141

The ghost CD-ROM drives 142

The Microsoft corporate network: 1.7 times worse than hell 143

When vendors insult themselves 144

Defrauding the WHQL driver certification process 145

A twenty-foot-long computer 146

The USB cart of death 147

New device detected: Boeing 747 147

There's an awful lot of overclocking out there 148

Chapter Ten: The Inner Workings of the Dialog Manager On the dialog procedure 151

The evolution of dialog templates 163

Why dialog templates, anyway? 196

How dialogs are created 197

The modal dialog loop 204

Nested dialogs and DS_CONTROL 216

Why do we need a dialog loop, anyway? 224

Why do dialog editors start assigning control IDs with 100? 225

What happens inside DefDlgProc? 226

Never leave focus on a disabled control 228

What happens inside IsDialogMessage? 229

Why is the X button disabled on my message box? 237

Chapter Eleven: General Software Issues Why daylight saving time is nonintuitive 239

Why do timestamps change when I copy files to a floppy? 241

Don't trust the return address 242

Writing a sort comparison function 243

You can read a contract from the other side 245

The battle between pragmatism and purity 249

Optimization is often counterintuitive 250

On a server, paging = death 253

Don't save anything you can recalculate 254

Performance gains at the cost of other components 255

Performances consequences of polling 257

The poor man's way of identifying memory leaks 258

A cache with a bad policy is another name for a memory leak 259

Chapter Twelve: Digging into the Visual C++ Compiler Do you know when your destructors run? 267

The layout of a COM object 272

Adjustor thunks 274

Pointers to member functions are ver
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
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Autorenporträt
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.