Igor Delovski Board Forum Index Igor Delovski Board
My Own Personal Slashdot!
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

My Win32 Books

 
Post new topic   Reply to topic    Igor Delovski Board Forum Index -> Win32
Win32  
Author Message
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Sun Jun 25, 2006 10:59 pm    Post subject: My Win32 Books Reply with quote

Like many before, I started with Petzold and that book was most important
of all my Windows programming books. Even later, after I typed into editor
and tried most of book’s examples I needed it for lot of details I missed the
first time. Petzold is must-have for Win32 programming. Any way you look
at it, you need this book.



Next book that I've used almost every day is Microsoft Windows 2000
API SuperBible
. This book is just part of MSDN put on paper, but some-
how browsing it turned out to be more productive than search feature of
MSDN.

Third book that was constantly in my hands was Windows Graphics
Programming
by Feng Yuan. This book uses C++, but I've managed to
convert all the interesting stuff into plain C and use it in my projects rather
easy. If you want to dive deeper into device contexts, GDI, fonts and
bitmaps there’s no substitute for this exceptional work. Feng Yuan used to
work for HP on device drivers for HP printers, but later he joined Microsoft.

Code: https://github.com/tpn/windows-graphics-programming-src

.

Fourth essential Win32 resource is Advanced Windows by Jeffrey
Richter
which covers lower level components of core Windows operating
system like memory allocation, files, processes, threads and DLLs. The
more I learned about Windows programming, the more I needed this
book.

Fifth book to make it on this list is Win32 Programming by Brent Rector &
Joseph Newcomer. This book covers vast Windows programming area and
at first sight appears to be perfect for absolute beginners and real experts
but later I started noticing that I use this book only when I have no other
alternative. There is something wrong with its style and general attitude of
its authors. They both seem to be very knowledgeable about the issues
they write about but for some reason I preferred Petzold or Richter or Yuan
whenever I could. Nevertheless, everybody into Windows programming
need this book and I am really glad I have it.

.


Last edited by delovski on Tue Mar 16, 2021 6:43 pm; edited 10 times in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Tue Jun 27, 2006 10:12 pm    Post subject: Reply with quote

Charles Petzold, on his web site lists his books and writes a blog. He did
one article about contemporary trends in programming community that rai-
sed a lot of dust lately: Does Visual Studio Rot the Mind?

Feng Yuan has his own web site and a blog at MSDN where he wrote
few months ago that his book Windows Graphics Programming: Win32
GDI and DirectDraw (ISBN 0130869856) gets reprinted.


Jeffrey Richter seems to write here and there at Wintellect.

Joseph M. Newcomer is a Microsoft MVP, an award presented to the pe-
ople who help out on a volunteer basis on the Microsoft newsgroups. His
articles are available on his MVP essays page. That site is a huge collect-
ion of code samples and programming experience. Enjoy!
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Wed Jun 28, 2006 5:19 pm    Post subject: Reply with quote

Maybe old and outdated, but still, Win32 Programmer's Reference,
from 1993 is valuable source of Windows programming information. Parts
of today’s MSDN are exact copy of this book. Hard to believe, but several
topics I found in this book were never again covered in any of the other
books that I have.

. .

Windows 95 Common Controls & Messages API Bible is a second
book from API Bible series by Richard J. Simon and published by The Waite
Group. The Waite Group disappeared since then so their books are hard to
find these days. First book from the series was updated a bit, redesigned
a little and published first under name Windows NT API SuperBible and
later as Windows 2000 API SuperBible. Yes, NT API SuperBible is almost
identical to 2K API SuperBible. And yes, I have them both.

Common Controls & Messages was never republished and I spend
some time searching for it. The book covers Toolbars, Status Controls,
Property Sheets, Wizards, Tab Controls, Image Lists, List & Tree Views,
Rich Edit, TrackBar, Progress, Header, Up-Down Control, Dynamic Data
Exchange Basics and impressive list of all sorts of window messages and
notifications. Rather useful book even today!

P.S. I couldn't find better cover pictures. Maybe I should have shot them
myself. And check out this usenet thread: Books on Common Controls


Last edited by delovski on Wed Jul 19, 2006 9:33 pm; edited 4 times in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Thu Jun 29, 2006 10:06 pm    Post subject: Reply with quote

Programming Industrial Strength Windows - Shrink Wrap Your App!
by Petter Hesselberg covers complete development of a text editor as
relatively complex application, from install to uninstall.

On the back cover of the book there’s a warning: Error handling has been
included to show how it's done! Tremendously useful book to any Win32
developer. It is out of print and used copies are rather expensive at the
moment, but getting even more expensive over time unfortunately. I paid
mine more than $100 two years ago.

The book comes with a CD containg the complete source code of example
application. Same code can be found at Petter Hesselberg's web site.

.


There’s another Windows Graphics Programming. This one is by Julio
Sanchez
and Maria P. Canton. The book contains two parts. One is more
general and is aimed at Win32 novices, covering general Win32 topics and
the second part is about graphics programming. Nice to have, but every-
body seems to prefer the Feng Yuan’s book with the same title. Then aga-
in, if someone picks this book as his first and only Win32 book, he can get
away with it, actually.


Last edited by delovski on Fri Feb 09, 2007 3:39 pm; edited 3 times in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri Jun 30, 2006 9:52 pm    Post subject: Reply with quote

There are two books following in Jeffrey Richter's footsteps. One of them is
Windows System Programming, third edition by Johnson M. Heart.
Exellent Win32 books covering advanced topics you’ll need sooner or later.

Migration from Win32 to Win64 is discussed. Then, DLLs, thread usage and
models, interfaces, and synchronization. Unicode, the extended character
set used by Windows. Structured Exception Handling. Windows memory
management and memory-mapped files. Registry. Mailslots, pipes, sockets
and there are comments about use of Berkeley Sockets vs Windows
Sockets. Then ther’s a chapter about Win Object Security, SIDs and ACLs.

Author maintains his personal web site: "Errata, comments, updates,
code downloads, reader comments, performance data, and more examples."

.

The other is Multithreading Applications in Win32: The Complete Gu-
ide to Threads
by Jim Beveridge & Robert Wiener. So far I’ve only touch-
ed threads in examples but never in production code. Out of fear that I’d
lose control over my own applications. Hope this book can bring me at pe-
ace with threads.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Sun Jul 02, 2006 12:02 am    Post subject: COM Books Reply with quote

So far I have three books about COM, but I’m still half-baked about
important COM concepts. I know for sure I need few more words about it
before I’m confortable enough to call myself COM expert.

On the cover of the first of my COM books, Essential COM there’s that
statement by some Microsoft fellow how "Nobody explains COM better than
Don Box"
. Well, it may be true, but I know I finaly learned what I need
from Jeff Glatt’s articles on The CodeProject. Only then did I start
understanding what this book writes about. Essentially, nobody explains
COM better than Jeff Glatt!



There’s another COM book on my bookshelf: The COM and COM+
Programming Primer
by Alan Gordon. Funny that he notes, but here’s
how he starts his book: "COM, COM+, DCOM, MTS, OLE, ActiveX and
Windows DNA. If you are confused as to what they mean, you are not alone
and it's not your fault."
Ha, ha!

.

And there's another book! By no one else, but Alan Gordon himself: The
.NET and COM Interoperability Handbook
. I’m still not sure why on
earth did I buy that book because I have no plans about .Net or anything
related to it.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Wed Jul 05, 2006 11:17 pm    Post subject: Reply with quote

Applications Interface Programming Using Multiple Languages by
Ying Bai is something I picked up in a bookstore just in case... In case
I need to connect my code to other stuff like Java or VisualBasic.

So far I never had such need, but in future, if I ever start collaborating
with others or if I find someone’s legacy code in Visual Basic 6, Matlab,
Smalltalk, LabView, Java or Perl I’ll have this book to assist me gluing all
that code with my C.

.

Purpose and even general idea behind Active Directory is foreign to me as
foreign languages so I bought Microsoft Windows 2000 Active Dire-
ctory Programming
by Charles Oppermann to help me in that area. Un-
fortunately I haven’t opened it more than few times but reviews seem to
be very positive. And I went and visited author's interesting blog.

At least, the book gave me definition of COM Automation. It is "the mecha-
nism that interpreted scripting languages such as VBScript and JScript use
to access COM objects - originally known as OLE Automation."


Last edited by delovski on Tue Aug 29, 2006 10:40 pm; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Thu Jul 06, 2006 9:50 pm    Post subject: Reply with quote

Microsoft Windows Internals by Mark Russinovich & David Solomon. This
is one immensely useful book, especially for guys who like to know why
something works the way it works and then they want to know if that’s
for sure!

Visit Mark Russinovich’s web site Sys Internals and his blog. If you don't have
a shortcut to RegMon utility on your Desktop you can't consider yourself a
serious Windows developer.


.


One of the books I bought after a lot of ruminating in a bookstore was
Debugging Applications for Microsoft .Net and Microsoft Windows by
John Robbins because of the infamous .Net word in its title.

The book is about designing software with least amount of bugs as possible
with advices on use of debugging tools and techniques. Be ready for a few
surprises. On page 519, there's a warning: "..., my recommendation is to
avoid using C++ exception handling because your life will get infinitely simpler
and your code will be easier to debug."
There’s this never-ending debate on
return codes vs exceptions
and this book seem to dislike C++ exceptions
enough to be clear about it. Check this: "Only code for which performance
isn't important can use C++ exception handling"
or this: "Never ever use catch(...)!"

This book has that word .Net in its title but most of it has nothing to do
with .Net and you can safely look at it as just another Win32 book with few
useless chapters you're supposed to skip anyway. John Robbins is one of
the founders of Wintellect where he maintains his Blog. Check out at least
one post: CrashFinder Returns.

p.s. Microsoft buys Windows utility software maker


Last edited by delovski on Tue Jul 18, 2006 6:19 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri Jul 07, 2006 10:13 pm    Post subject: Games Reply with quote

At some point I realized (or I thought I did) that Win32 programming books
are going to disappear from the stores and that’s how I started buying
every book with at least a few lines of Win32 code. It didn’t matter what was
the subject of the book.

That is why I brought home Tricks of the Windows Game Programming
Gurus
by Andre LaMothe. I was standing there in a bookstore, browsing
the book, looking at the code in there, reading a line of comment here, a
line there, wondering if I really need to buy it since I'd never programmed
games. Next moment I saw some more game programming books and just
to stop this pain I decided to buy them all.

.

Multiplayer Game Programming by Todd Barron. Yes, networking, few
tricks with resources, graphics, file and memory management. Multiplayer
means networking, sockets, etc.

Developer's guide to Multiplayer Games by Andrew Mulholland & Teijo Hakala.

.

Fundamentals of Audio and Video Programming for Games by Peter
Turcan & Mike Wasson
. Eventually, I learned few things from these
books even though I still have no plans about starting any game projects.

P.S. Link to the online version of The Guru Tricks Book.


Last edited by delovski on Tue Apr 28, 2009 12:54 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Tue Aug 29, 2006 2:43 pm    Post subject: Reply with quote

Network Programming for Microsoft Windows by Anthony Jones &
Jim Ohlund
. This book covers Internet protocols Ipv4 and Ipv6, Winsock
design, socket options and loctls, Mailslots and Named Pipes.

The book covers network programming using C/C++ for most of its examples,
but there are several done in C# and VB.

.

But maybe a better choice for information about networking issues is
Sockets, Shellcode, Porting, & Coding: Reverse Engineering Exploits
and Tool Coding for Security Professionals, by James C Foster & Mike Price.

The book starts with the intro on programming languages (C, C++, Perl,
Java, C#) stressing their vulnerability and security issues. Then the book
covers BSD sockets, Windows & Winsock and then it shows how to write
portable networking code. Very useful.


Last edited by delovski on Wed Sep 06, 2006 3:18 pm; edited 4 times in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Wed Sep 06, 2006 3:05 pm    Post subject: Deep down Reply with quote

The book Programming Microsoft Windows CE .Net, Third Edition, by
Douglas Boling is anathor book I bought just in case, plus it even has
magical word .Net in its title and obligatory 50-page chapter on managed
code at the end.

As expected, there are a lot of Windows CE / Pocket PC / Smartphone topics,
but the book contains topics relevant even to desktop-only programmers,
like memory management, files & registry, processes & threads, serial
communication, networking, shell programming and a few pages about device
drivers and services. Nice.

.

Another deep down & dirty book I have surely is Programming the Microsoft
Windows Driver Model
, Second edition by Walter Oney. The book got
mixed reviews and "there are 26 pages of errata downloadable from Oney's
web site." Be careful.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri Sep 08, 2006 8:31 pm    Post subject: Reply with quote

The book Microsoft Windows XP Registry Guide, by Jerry Honeycutt
turned out to be quite a usefull resource. It seems that there's no other book
covering the Windows Registry as this book or other editions of the same
book by the same author.

.

Another book by the same autor: Microsoft Windows Desktop Deployment
Resource Kit
. The books are in a way similar and they contain several
copy/paste pages. Although not directly aimed at programmers, it helps you
better understand install process of MS Windows and applications made for
Windows and with that knowledge you'll be a lot smarter when you start
designing install for your own application.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri Jan 05, 2007 2:53 am    Post subject: Reply with quote

Writing Secure Code, by Michael Howard, David C. LeBlanc

This book shows you how to create a buffer overflow attack. A buffer
overflow occurs when you allow the user to enter more data into a string
than you expected. Due to the way the program stack is set up, an attacker
can sneak some arbitrary code into your memory. Lots of exploits use this
technique.

At first, the whole concept of buffer overflows may sound like a bad science
fiction, but it’s all just bytes in computer memory. Four bytes can represent
a number, a string or a function pointer. You as a programmer decide what
it is and if you’re not careful someone or something can trick you and place
one thing where you expected something else.

The book presents a lot of interesting material and war stories. Strategy,
secure coding practices and principles, security technologies, secure coding
techniques, running with least privilege, cryptography, secure networking,
port hijacking, firewalls, denial of service attacks and few other topics
make this book indispensable for most Windows programmers.

.

Code Complete, Second Edition by Steve McConnell is a book about
code writing and the first rule about code writing seems to be: Make your
code more readable!

The book offers a lot of advice, arguments , stories and experience, all
accompanied with plenty of sample code, It helps you remember that
simplifying complex world is one of the key values of good designs. That
is why it talks so much about variable and funcion naming, code formatting
and structure. Don't try to be too clever with your code. Keep everything
as simple and obvious as possible.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Sat Jan 20, 2007 9:51 pm    Post subject: Reply with quote

Raymond Chen's book finally arrived today. The Old New Thing: Practical
Development Throughout the Evolution of Windows
.

Since 2003 Raymond Chen writes The Old New Thing, probably the best blog
on MSDN. He was part of Windows development since the early nineties and
knows about Windows programming more than almost anyone else.

.

Another book I bought recently: Hunting Security Bugs, by Tom Gallagher,
Bryan Jeffries & Lawrence Landauer
.

This book discuses tools and techniques for searching and exterminating
vulnerabilities and security flaws. Written by the Office team testers this
book explains the thinking process behind their methods for security testing.

This book too seems to have issues with exceptions: "Not only do exception
handlers make it somewhat harder to notice buffer overruns, it turns out
the exception handling routines can be useful for atackers."

Besides buffer owerruns, this book introduced me to the concept of format
string overruns
. Like, printf() family format strings. Scary? Yes, but it gets
worse.


Last edited by delovski on Tue Jan 23, 2007 11:03 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Sun Jan 21, 2007 9:17 pm    Post subject: Reply with quote

I've been buying Windows programming books without much discrimination.
As I saw one in a bookstore or on Amazon, I just bought it with an idea
that one day I'll understand why. That is how I ordered Windows NT/2000
Native API Reference
, by Gary Nebbett. How can you not like a book about
'windows native api'?

When it came I was so disappointed - why am I wasting my money on this
kind of stuff? How can I possibly ever need a book about low-level api calls like
ZwQuerySystemInformation() or ZwReadVirtualMemory() or maybe ZwCreateFile()
or ZwOpenFile() or any of those strangely named and most likely 'undocumented'
functions? How stupid can I get? But, few days later I found some other book.

.

Rootkits: Subverting the Windows Kernel, by Greg Hoglund & Jamie Butler.
Now, this one is a real horror book. It blew my mind.


Last edited by delovski on Tue Jan 23, 2007 7:02 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Tue Jan 23, 2007 6:14 pm    Post subject: Reply with quote

Visual C++ Windows Shell Programming by Dino Esposito.

Way too cool resource! The book starts with a basic introduction to Win-
dows shell, special folders, shortcuts and shell API functions like SHFile-
Operation(). Then it continues with shell hooks and COM objects use, task-
bar, recycling bin manipulation and drag & drop support.

.

ATL Internals, by Brent E. Rector & Chris Sells.

First impression: samizdat. I don't think I ever held one of those, but this
book is most likely a perfect example of how they must have looked like.
The book's pages look as if they were printed on some very old lo-res laser
printer that needs at least head cleaning if not complete service including
drum change. Other than that, the book is excellent.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Wed Feb 07, 2007 10:01 am    Post subject: Reply with quote

Raymond Chen: Bonus material for The Old New Thing is now available for download

"The source code for the programs in the book can be downloaded from
the "Source Code" link. And on a more embarrassing note, there's that
'Errata' link, too."
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Mon Jan 14, 2008 5:39 pm    Post subject: Reply with quote

Just came from Amazon:

Advanced Windows Debugging, by Mario Hewardt & Daniel Pravat.

After only a few minutes browsing through this book I think its greatest
value is in teaching you how to use various debugging tools most people
never herad about.

.

Windows via C/C++, by Jeffrey Richter & Christophe Nasarre.

New editition of the famous Richter's book with all the updates for new Vista
APIs, "including the latest information about Windows XP." Heh.


Last edited by delovski on Sat Feb 14, 2009 2:53 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Mon Jan 28, 2008 4:14 pm    Post subject: Reply with quote

Writing Secure Code for Windows Vista, by Michael Howard & David
LeBlanc


Very light book - 200 pages only. Yet it covers a lot - SAL, safer C functi-
ons, UAC, token manipulation, integrity levels, code signing, virtualization,
IPv6, buffer overrun and networking defenses, Secure Socket extensions,
Windows Firewall, Cryptography API, ...

Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Thu May 08, 2008 4:46 pm    Post subject: Reply with quote

Dynamics of Software Development (2006 ed), by Jim McCarthy

At first glance, this appers to be a well written and easy to read book. It
describes Jim McCarthy's story on developing Visual C++ 1.0 and from
reviews on the cover and Amazon, the first edition from 1995 was some
sort of groundbreaking work related to Extreme Programming or maybe
even Agile Development. Interesting at least.

.

One of those books: Undocumented Windows NT®, by Prasad Dabak,
Sandeep Phadke & Milind Borate
. Out of press so I bought it.
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri May 30, 2008 6:47 pm    Post subject: Reply with quote

Just came from Amazon: Developer's Workshop to COM and ATL 3.0,
by Andrew W. Troelsen

It seems like each subject is explained first in direct COM with C++ and
then with ATL. That makes this book truly unique.

Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Wed Jun 18, 2008 1:38 am    Post subject: Reply with quote

A link to online version of Windows Shell Programming in Visual C++
by Dino Esosito. Hm!
Back to top
View user's profile Send private message Visit poster's website
delovski



Joined: 14 Jun 2006
Posts: 3524
Location: Zagreb

PostPosted: Fri Aug 14, 2009 9:33 pm    Post subject: Reply with quote

More out of habit than real need I bought two books. One is Programming
Server-Side Applications for Microsoft Windows 2000
, another great
title by Jeffrey Richter & Jason D. Clark

.

And the other is Inside Ole, by Kraig Brockschmidt.
Back to top
View user's profile Send private message Visit poster's website
Ike
Kapetan


Joined: 17 Jun 2006
Posts: 3136
Location: Europe

PostPosted: Fri Dec 22, 2023 6:55 pm    Post subject: Reply with quote

git - Programming Windows 5th edition source code

"Source code contained in Charles Petzold's excellent Programming Windows
5th edition.

All samples have been updated to use Visual Studio 2022 and retargeted to
use the latest Windows SDK. An invalid free that was causing crashes in
Chapter 9's Environ sample has been fixed, and a separate crash in Chapter
10's PoePoem sample has also been fixed. The old *.dep, *.dsw, and *.dsp files
can be found in the earlier commits if you need them. That being said, the
source code is two decades old and has been minimally retouched here."
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Igor Delovski Board Forum Index -> Win32 All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Delovski.hr
Powered by php-B.B. © 2001, 2005 php-B.B. Group