Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Accessing ShellExt Property Sheet

73 views
Skip to first unread message

Eric McDaniel

unread,
Feb 24, 2000, 3:00:00 AM2/24/00
to
I need to programmatically access properties that are displayed in a shell
extension property sheet.

For instance, on the "Summary" property sheet handler for .jpg files, there
are properties such as Title, Subject, Comments etc. I need to access these
properties from my Win32 program (or VBScript).

Can anyone help?


Thanks.

Eric

Alan Gillott

unread,
Feb 24, 2000, 3:00:00 AM2/24/00
to
Microsoft provides a download for this - I can't remember where I got it
from but it is there if you look for it. Also Win 2000's Shell.Application
class gives you direct access to the property sheet. That's documented in
MSDN. I'd be very surprised if either Explorer 5.5 or the next Millennium
Win 98 doesn't include this functionality. PS, The shell.Application won't
install on Nt 4 with IE5 if you didn't install IE4 Active directory (and
turn it off) first.

Eric McDaniel <er...@vertical.com> wrote in message
news:15et4.827$pP5....@newsread1.prod.itd.earthlink.net...

Eric McDaniel

unread,
Feb 25, 2000, 3:00:00 AM2/25/00
to

Alan,

I think the techniques you describe might only apply to compound documents
(like those generated by Word/Excel/etc). The jpeg files I'm looking at
apparently
are not compound documents.

However I did some more poking around. I discovered that the data that I
enter into the Summary property sheet for a jpeg file is stored in NTFS
streams that are attached to that file. The streams are called
"SummaryInformation"
and "DocumentSummaryInformation".

I have successfully opened and read these streams in binary format. The
properties
are clearly visible. Now I need to know the format of the streams. I think
it
has something to do with the IStream and IPropertySetStorage interfaces, but
I
haven't worked out the details yet.

Does anyone have some code samples that might help me?

Thanks.

Eric


"Alan Gillott" <agil...@tact.com> wrote in message
news:eFkwqxvf$GA.148@cppssbbsa04...

Alan Gillott

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Eric
If these show up as tool tips or property pages on a right click then the
Shell interfaces WILL read them. [As long as the appropriate jpeg support is
installed]. When you invoke the shell function it locates the appropriate
registry entry ffor jpeg then looks for the extensions and then invokes
them. It has NOTHING to do with compound documents per se but the added
support provided by the document's application. As it happens a compound
document is written using istream. So if your jpeg extensions are istream
they are compound documents.

I know there are APIs for this but you might want to look at Desaware's
storage manager which provides easy access to istream documents.

Alan

Eric McDaniel <er...@vertical.com> wrote in message

news:7kDt4.104$qt1....@newsread1.prod.itd.earthlink.net...

Matthew Ellis

unread,
Feb 28, 2000, 3:00:00 AM2/28/00
to
Ah. The Summary property page of Windows 2000. This appears to be an
somewhat ill thought out shell extension. Here's what I've figured out about
how it works:

1) The default sets of data comes from SummaryInformation and
DocumentSummaryInformation, which has to do with DocFiles and
IPropertySetStorage and the like (see the docs for the interfaces, I don't
really know about this)
2) SummaryInformation and DocumentSummaryInformation can also come from
streams, when the file is on an NTFS volume.
3) Some files that provide extra data (such as .avi files) include the
AdvancedPropertyHandlers key under HKCR\filetype\shellex. According to
regmon (www.sysinternals.com) this value is used by the summary page in a
similar manner to other shell extensions (ie, all keys beneath
AdvancedPropertyHandlers are CLSID's and instantiated as objects) Regmon
also shows that the summary page looks for BasicPropertyHandlers.Needless to
say, there is no documentation on MS about Advanced or Basic
PropertyHandlers. Also, some files, such as .gif files, add information to
the summary page without an Advanced or Basic PropertyHandlers key in the
registry.
4) Back in the beta days, I created a simple class and registered it to a
file, to see what interface I would be asked for. From memory, it wasn't one
that was in the Platform SDK. I'll resurrect the project tonight and have
another look.
5) The summary page doesn't want to use information from column providers,
many of which can provide the default set of SummaryInformation and
DocumentSummaryInformation properties.

This could be a terribly useful shell extension, if only we were allowed to
expand it!

Matt
m.t....@swansea.ac.uk

"Eric McDaniel" <er...@vertical.com> wrote in message
news:7kDt4.104$qt1....@newsread1.prod.itd.earthlink.net...

0 new messages