[Qt-interest] Windows Explorer extension using Qt

BRM bm_witness at yahoo.com
Wed Jan 5 18:01:58 CET 2011


----- Original Message ----

> From: Bob Hood <bhood2 at comcast.net>
> Ok, I gave it a week.  :)
>

I figured I would wait to see if a response came before popping out something as 
well since I am sure there are others far more knowledgeable on the subject than 
I.
But given the lack of responses, I'll chime in my $0.02 for whatever it is 
worth...
 
> On 12/29/2010 9:06 AM, Bob Hood  wrote:
> > If one exists, could somebody please point me at an example  somewhere of
> > constructing a Windows Explorer extension (an in-process  COM server) using 
>Qt
> > that includes a context menu?  I would assume  it would be using something 
>like
> > QAxServer.
> 
> C'mon, I know  somebody out there has done this successfully.  Won't you  
>please
> share?  The only thing I've found  is
>http://www.qtcentre.org/threads/32104-howto-making-a-windows-shell-extension-with-qt-open-source-edition,
>,
> but  I can't get it to actually work, and it doesn't include a context  menu.
> 

Well, I haven't done that myself; but from my Windows programming experience and 
from monitoring TSVN and such...
(TSVN is highly integrated into the Windows Explorer Shell, and the developers 
have commented that as such it is not possible to make it multiple platform.
They do not use Qt though. I reference them only since they are doing something 
similar to what you are looking at doing; I'm pretty sure TSVN is native 
Win32/MFC but haven't looked at the code-base.)
Integrating with Windows Explorer is just such a platform specific thing that it 
probably isn't even a target point for Qt to support.

Of course, the same is an issue for integrating into the desktop shells on Linux 
- between KDE, GNOME, and others - it's just so specific to that shell it's not 
really possible to do it in a way that can target all of them at the same time - 
certain functionality has been defined by FreeDesktop.org for integration points 
but that is typically wrappers to the native stuff that each ends up providing.

You could probably use the Qt<->MFC integration to do it, or use Qt and then 
have your own QObject based class to interact with Win32 directly;
but it's not a task that is going to be platform independent by any means.

So, while I certainly welcome your effort, and would love to see something that 
can do those kinds of things with Qt, I'm pretty sure there isn't something out 
there to do it already.

HTH,

Ben




More information about the Qt-interest-old mailing list