Home About Workshops Articles Writing Talks Books Contact

Accomplished Author

The following is a list of the books that Richard Grimes has written. He writes the kind of books that he would want to read. When he starts writing a book he make sure that there isn’t a book already on the subject, if there is, and it is a good book then there is no need for him to write on the subject. Richard puts considerable effort into the books that he writes, he does not regurgitate Microsoft documentation, nor does he rely on other books, what you see in my books is original writing, in depth and well researched. These books are not books for the faint hearted nor for those that want a simple introduction, these are books for people who want to know how a technology works and how to use it effectively.

Note that at the beginning of 2003 Wrox Press went bankrupt. Wiley bought the name Wrox Press and some of their titles, Apress bought the remaining titles including all of Richard Grimes' books. All of the Wrox books that Apress bought were pulped, Apress could republish them under the Apress imprint but not under Wrox Press because that imprint was owned by Wiley. That means that you should not see any of Richard Grimes' Wrox books for sale. If you do see them for sale then be aware that Richard will not get any royalty from the sale. If you agree that an author should be rewarded for the effort he puts into a book, do not buy Richard's Wrox Press books. (If the book is second hand then Richard has already had a royalty, so please do buy the book). Richard has a few copies of his books for sale at a discounted price, if you want to buy one of his Wrox books please contact Richard.

 Hilo (MSDN Library)
Online e-book

Richard Grimes

This e-book is a series of 16 articles that highlight key new technologies in Windows 7. Hilo is a Touch enabled application for viewing, editing and sharing applications. It is designed to be used on Tablet PCs but can also be used on desktop PCs too. Hilo is written in unmanaged C++ and can be compiled with the free version of Visual C++ 2010 Express.

Read this e-book on MSDN Library

Programming with Managed Extensions for Microsoft® Visual C++® .NET (Microsoft Press)
ISBN: 0-7356-1724-4

Richard Grimes

The .NET runtime executes Microsoft Intermediate Language, it is largely irrelevant what language that you use to generate that MSIL (largely, but not completely, irrelevant). The official line from Microsoft is that you choose the language that you feel most comfortable using. However, if all languages are equal to the .NET runtime, then some languages are more equal that others (to paraphrase George Orwell). C++ has distinct advantages over other .NET languages.

In this book I explain how to program .NET assemblies using the Managed Extensions for the Visual C++ compiler. I cover all aspects of .NET and C++: types, delegates, events, multi threading, GUI development. I also give a complete appraisal of how to use Visual Studio.NET to develop projects (although VS.NET is not required for the majority of the book) and how to use the debugger.

Buy this book from Amazon...

Developing Applications with Visual Studio.NET (Addison Wesley)
ISBN: 0-201-70852-3

Richard Grimes

.NET is the biggest ever shift in Microsoft’s technologies. The framework will influence everything that Microsoft will produce in the future, from development tools to operating systems. Microsoft have provided Visual Studio.NET as the premier tool to use to develop applications for the .NET framework, and to continue to develop native Win32 applications.

In this book I explain how to use Visual Studio.NET to develop both .NET and native Win32 applications. The book is split into three parts: in the first part of the book I cover the .NET runtime and the Framework Class Library; in the second part I cover the features of Visual Studio.NET and in the final part I cover application development with Visual Studio.NET.


Sample Chapter

Buy this book from Amazon...

Professional VC++ 6 MTS Programming (Wrox Press)
ISBN: 1-861002-39-4

Richard Grimes

MTS represents a shift in COM programming, the biggest of which is the fact that every COM object run under MTS has a context managed by MTS (OK, so 'classic' COM had this with apartments, but MTS has taken this far further). In this book I wanted to outline my thoughts about MTS from a C++ programmer's perspective.

Don't buy this book if you are looking for a running example of an MTS application – I don't give one for two reasons, firstly MTS components are COM components, so if you know about COM you know about how to write MTS components; secondly, there are good examples from Microsoft that show you how to use MTS and I see no point in duplicating their work. Instead, what I wanted to do was to work out how MTS works and compare it with 'classic' COM. The first chapter, for example goes into great depth about interception and type information, because these are vital to how MTS works. In the second chapter I outline the steps that MTS does to activate an MTS component, which uses strange and undocumented objects like the CasperObj and the ViperThread.

The book covers all of the programming issues that you are likely to come across: activities, security, administration, debugging and (although MTS does not coordinate transactions, MS DTC does that) there is a complete chapter on transactions and resource managers. The final chapter outlines COM+ and was written during the beta cycle of Windows 2000 release candidate 2. This explains the new features of COM+ and compares them to MTS.

Buy this book from Richard Grimes

ATL Programmer's Reference (Wrox Press)
ISBN: 1-86100-249-1

Richard Grimes

ATL3 is a complex and complete library used for COM development. Unfortunately the documentation provided with Visual C++ and MSDN is not very complete, it does not cover all the ATL classes and those that are covered just get a cursory description. This book is redresses this. It is in two halves: the second half is an in-depth reference to ATL3, whereas the first half is a tutorial on how to use ATL.

The aim of the book was to cover ATL in its entirety - while keeping the page count down to a manageable size!

Buy this book from Richard Grimes

Professional ATL COM Programming (Wrox Press)
ISBN: 1-86100-40-1

Nominated for the Software Book of the Year 2000 by the readers of Visual Systems Journal

Richard Grimes

This book is about ATL3 and the new ATL features in VC6. I have spent 6 months living and breathing ATL3 and this is the result. Everything you could possibly want to know about ATL3 is in the 800 pages of this book. As you have come to expect from Wrox books every chapter has real working code and detailed explanations of how the code works. Further, I have gone under the covers of ATL, far more than anyone else has ever done - or is likely to do - to find out how ATL works and how to make it work for you. The journey has not been easy, but you'll find that in many places I list bugs and work arounds to make ATL work. If you buy one book on ATL it has to be this one.

Buy this book from Richard Grimes

   Beginning ATL COM Programming (Wrox Press)
ISBN: 1-86100-11-1

Richard Grimes, Alex Stockton, George Reilly, Julian Templeton

Beginning is a bit of a misnomer, this is more of an intermediate book on ATL, which takes you from a simple example of how to write an ActiveX control through descriptions of the ATL implementation of IDispatch, properties, collections, SAFEARRAYs, connection points, and finally to an ActiveX control that utilizes theWin32 TreeView Common Control to as a URL browser that you can put on IE pages or VB forms. This book is full of examples to get you started using ATL 2.1.

Buy this book from Richard Grimes

Professional DCOM Programming (Wrox Press)
ISBN: 1-86100-060-X

Richard Grimes

The first book on the market about DCOM, and don't be distracted by limp copies published by bigger corporations, buy the original from the man who did the work to understand what DCOM is really about.

DCOM has been widely described as "COM with a longer wire", this is certainly true with regard to COM location transparency (you use the same API whether the object is in the client's address space, in another process, or on another machine), but the version of COM provided with DCOM has additional features (new threading models and security built in). With this in mind "Professional DCOM Programming" can be viewed as an advanced COM book for programmer who are developing for NT 4.0 (and Windows 95) but do not wish to distribute their objects across the network.

The book is full of examples: the majority of servers have been written with C++ and ATL using Visual C++ 5.0, and the majority of clients have been written using MFC 4.2. However, to give the reader a flavour of other development tools there are examples of servers written in C++ (without ATL) and clients written with VB 5.0.

Buy this book from Richard Grimes


(c) 2006 Richard Grimes