Geeks With Blogs
Henk Devos Henk's Random Thoughts Shell Programming My experiences in programming the Windows Shell.
How to reverse engineer a COM interface
Many people have asked me how i repeatedly succeeded in getting the exact definition of an undocumented COM interface. It is actually quite easy. I always do this in the Visual C++ debugger, with full Windows debug symbols installed. First you have to get hold of an implementation of the interface. This is usually the hard part. Once you have the interface pointer, see which address the pointer points to. Copy this address to the memory window. Your memory window is now displaying the vtable for ......

Posted On Monday, March 15, 2004 7:27 PM

Windows source code is excellent
A few days ago, large parts of the Windows NT and Windows 2000 source code were leaked onto the internet. The leak includes the source code for the Windows 2000 shell. One lucky guy who gained access to this source code shares his comments. The commenter says: the quality of the code is generally excellent. Modules are small, and procedures generally fit on a single screen. The commenting is very detailed about intentions, but doesn't fall into "add one to i" redundancy. I am not at all ......

Posted On Tuesday, February 17, 2004 5:20 PM

I have always been very enthousiast about the CodeProject site In the early days (when the CodeGuru site had been taken over, and CodeProject was started as a replacement) i was one of the first members, wrote some of the first articles, and was an editor for some time. I even think i played an important role in making the CodeProject site the number 1 site for shell programming, by writing the first articles in this area and thus attracting programmers who wrote similar articles. The site soon became ......

Posted On Friday, February 13, 2004 7:36 AM

The function SHOpenPropSheetW is one of the functions that have been documented as part of the settlement between Microsoft and the DOJ. Take a look at the documentation. Let's see if you can figure out how to use it. Microsoft clains that the settlement interfaces were documented with the same level of detail as the other documentation. I have tried to use this function, not only based on the documentation but also based on further details i discovered by debugging Windows Explorer. But still i ......

Posted On Thursday, February 12, 2004 6:58 AM

Missing Docs - again!
Programming the Windows Shell is considered a very difficult discipline, only for one reason: Missing docs. I was hit by this again recently. The details shown under a file name in Tile View on Windows XP are determined like this: GetUIObjectOf is called to obtain an IQueryAssociations interface. This interface's GetString is called with the constant ASSOCSTR_TILEINFO. The format of the string returned is of the form "prop:{fmtid1} pid1;{fmtid2} pid2 Unfortunately, the docs on GetUIObjectOf don't ......

Posted On Sunday, February 8, 2004 8:32 PM

Copyright © Henk Devos | Powered by: