473,397 Members | 1,985 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,397 software developers and data experts.

Windows Shell Integration: how?

Hi,

I want for my application a Windows Shell Integration (for example like
TortoiseSVN: http://tortoisesvn.tigris.org/), but i can't find anything
about it??

What I basicly wnat is to be able to right-click on a file (or group of
files) in Windows Explorer, and choose 1 our 2 actions to perform with the
file(s).

Any hints, samples, web pages are really appreciated,

Thanks a lot in advance,

Pieter
Feb 6 '06 #1
8 11897
Hello, Pieter!

You need to write shell extension. This will be COM component.
Here are the docs on the subj
( http://msdn.microsoft.com/msdnmag/is.../WindowsShell/ )
( http://www.kbcafe.com/juice/?guid=20041022155459 )
--
Regards, Vadym Stetsyak
www: http://vadmyst.blogspot.com
Feb 6 '06 #2
>You need to write shell extension. This will be COM component.

No you don't, for simple extensions like this you only really have to
add a few registry entries. It's described at

http://msdn.microsoft.com/library/en...ng/context.asp

And you shouldn't be writing shell extensions in managed code anyway.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Feb 6 '06 #3
Thanks, it seems indeed a less simpeler.
But what's the difference in performance? Isn't a 'real' shell extension
faster? Because with your solution the application isn't yet running...

Just to get a better idea...

Thanks in every case!

"Mattias Sjögren" <ma********************@mvps.org> wrote in message
news:eV**************@TK2MSFTNGP14.phx.gbl...
You need to write shell extension. This will be COM component.


No you don't, for simple extensions like this you only really have to
add a few registry entries. It's described at

http://msdn.microsoft.com/library/en...ng/context.asp

And you shouldn't be writing shell extensions in managed code anyway.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Feb 6 '06 #4
Hello, Mattias!

MS> http://msdn.microsoft.com/library/en...shell/programm
MS> ersguide/shell_basics/shell_basics_extending/context.asp

Indeed, Mattias, that is much more simpler :8-)

--
Regards, Vadym Stetsyak
www: http://vadmyst.blogspot.com
Feb 6 '06 #5
>But what's the difference in performance? Isn't a 'real' shell extension
faster?


I doubt it. If anything, reducing the number of extensions should make
Explorer perform better or at least keep the working set down.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Feb 6 '06 #6
Vadym Stetsyak wrote:
You need to write shell extension. This will be COM component.


<pedantmode>
Shell extensions do not use COM. They are COM-like, but they are not
activated by COM and they do not run in COM apartments. If you try to
instantiate a COM object in your extension code you will get an error
from COM stating that no COM apartment has been initialised.

I asked someone who worked on the Win95 shell team about this and he
said it was simply because COM would have added too much to the working
set of the shell.
</pedantmode>

Richard
--
Fusion Tutorial: http://www.grimes.demon.co.uk/workshops/fusionWS.htm
Security Tutorial:
http://www.grimes.demon.co.uk/workshops/securityWS.htm
Feb 6 '06 #7
Ok Thanks. It works, but I still have two small problems which I can't
resolve:
- When I select more than one (x) file and I choose the command in the
Context Menu, it opens my application x times... I would like to open it
only once, and get an array of the selected files...
- How can I get an Icon at the left of my command in the context menu? i
tryed to play a little bit around with the DefaultIcon, but that didn't
work, and I can't find it by looking at the other things in the registry :-:

Thanks a lot!
Feb 7 '06 #8
>- When I select more than one (x) file and I choose the command in the
Context Menu, it opens my application x times... I would like to open it
only once, and get an array of the selected files...
- How can I get an Icon at the left of my command in the context menu? i
tryed to play a little bit around with the DefaultIcon, but that didn't
work, and I can't find it by looking at the other things in the registry :-:

These are things you can only do with a full blown context menu shell
extensions, which is what Vadym mentioned initially. But again, they
shouldn't be written in managed code.
Mattias

--
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Feb 8 '06 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Tomas | last post by:
Hi! I'm looking for a replacement for the standard interactive python shell. So far I've tried IPython and PyCrust. I liked both, but I'm not 100% happy with any of them. My main complaint about...
0
by: miles__ahead | last post by:
Hi. I like to create little utilities for Windows. It's nice to have Shell Integration, such as using the Context Menu. I've googled but haven't seen any Python example code for IContextMenu...
0
by: Zorba.GR | last post by:
IBM DB2 Connect Enterprise Edition v8.2, other IBM DB2 (32 bit, 64 bit) (MULTiOS, Windows, Linux, Solaris), IBM iSoft Commerce Suite Server Enterprise v3.2.01, IBM Tivoli Storage Resource Manager...
3
by: Chris Dunaway | last post by:
When you double click on a .zip file in a default Windows XP installation, it opens a folder view of the .zip archive and it appears to be well integrated into the OS. In other words, it looks and...
8
by: Pieter | last post by:
Hi, I want for my application a Windows Shell Integration (for example like TortoiseSVN: http://tortoisesvn.tigris.org/), but i can't find anything about it?? What I basicly wnat is to be...
10
dfound
by: dfound | last post by:
hi, Can anyone give me links to tutorials on shell integration.I am making a program to encrypt files in BC++ and I need it to show up option to encrypt and decrypt when I right-click on a file(or...
1
by: Vitank | last post by:
What i'm trying to accomplish, is to create a custom shell integration that would allow me to pass the file path of the file to that got right-click to a website's <input id="file_name"...
0
AmberJain
by: AmberJain | last post by:
Windows Autorun FAQs: List of autostart locations Linked from the Original article- "Windows Autorun FAQs: Description". Que: Can you list all the autostart locations for windows? Ans: Here is...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.