473,748 Members | 2,161 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

In need of serious help : shell actions (open, edit, print, etc)

Sin
Hello everyone,

I'm totally stumped at how little info I can find in MSDN or on the web
concerning this. It's almost as if only microsoft personel hold the key to
these secrets or something!!!

I'm currently writting a program in which there is a file/folder list which
mimics part of Explorer's list. I've got it pretty much cornered, but I
still have a couple of problems :

1. I found a way to get the verbs associated with a file using
ProcessStartInf o.Verbs... This works fine, but I would like to get the text
associated with each of these verbs. For example, I have a verb called
EditWithVS7 for most text files... How do I get the associated text ("Edit
with Visual Studio .NET") ?

2. I would like to display, like explorer, the "long" file type, as in
"Bitmap Image", "Text File", "Applicatio n", "Applicatio n Extension", etc...
I have no idea where to find this info.

3. How would I display the "Properties " dialog

4. How would I display the "Open With" dialog

5. I would like to support the shell extensions (Add To Zip, Scan with
Norton, Upload using WS_Ftp, etc)

6. I would also like to know where to get the Send To entries...

I know I'm asking for alot, but damn I can't find any info anywhere on how
to do this with .NET... I've spent at least 3-4 hours looking and I can't
find a single clue.

Any help would be immensely appreciated!

Thanks,

Alex.
Nov 20 '05 #1
2 4173
Hi,
1. I found a way to get the verbs associated with a file using
ProcessStartInf o.Verbs... This works fine, but I would like to get the text associated with each of these verbs. For example, I have a verb called
EditWithVS7 for most text files... How do I get the associated text ("Edit
with Visual Studio .NET") ?
You might need to explore the Windows registry and find a placewhere these
verbs are stored. Start from the

HKEY_LOCAL_MACH INE\Software\Cl ients key as the MSDN suggests new clients
should register their canonical and display names here. You may also want to
review the "Registerin g Programs with Client Types" topic in MSDN.
2. I would like to display, like explorer, the "long" file type, as in
"Bitmap Image", "Text File", "Applicatio n", "Applicatio n Extension", etc... I have no idea where to find this info.

I beleive the same MSDN topic covers this.
3. How would I display the "Properties " dialog
4. How would I display the "Open With" dialog
5. I would like to support the shell extensions (Add To Zip, Scan with
Norton, Upload using WS_Ftp, etc)
6. I would also like to know where to get the Send To entries...
Well, here's a place to start from:

MSDN Library->User Interface Design and Development->Windows Shell->Shell
Programmer's Guide

Nodes to read first would be "Intermedia te Shell Techniques" and "Advanced
Shell Techniques".

--
Dmitriy Lapshin [C# / .NET MVP]
X-Unity Test Studio
http://x-unity.miik.com.ua/teststudio.aspx
Bring the power of unit testing to VS .NET IDE

"Sin" <br****@hotmail .com> wrote in message
news:sR******** ************@we ber.videotron.n et... Hello everyone,

I'm totally stumped at how little info I can find in MSDN or on the web
concerning this. It's almost as if only microsoft personel hold the key to
these secrets or something!!!

I'm currently writting a program in which there is a file/folder list which mimics part of Explorer's list. I've got it pretty much cornered, but I
still have a couple of problems :

1. I found a way to get the verbs associated with a file using
ProcessStartInf o.Verbs... This works fine, but I would like to get the text associated with each of these verbs. For example, I have a verb called
EditWithVS7 for most text files... How do I get the associated text ("Edit
with Visual Studio .NET") ?

2. I would like to display, like explorer, the "long" file type, as in
"Bitmap Image", "Text File", "Applicatio n", "Applicatio n Extension", etc... I have no idea where to find this info.

3. How would I display the "Properties " dialog

4. How would I display the "Open With" dialog

5. I would like to support the shell extensions (Add To Zip, Scan with
Norton, Upload using WS_Ftp, etc)

6. I would also like to know where to get the Send To entries...

I know I'm asking for alot, but damn I can't find any info anywhere on how
to do this with .NET... I've spent at least 3-4 hours looking and I can't
find a single clue.

Any help would be immensely appreciated!

Thanks,

Alex.


Nov 20 '05 #2
Alex said (in the dotnet.language s.vb group):

|| Hello everyone,
||
|| I'm totally stumped at how little info I can find in MSDN or on the
|| web concerning this. It's almost as if only microsoft personel hold
|| the key to these secrets or something!!!
||
|| I'm currently writting a program in which there is a file/folder list
|| which mimics part of Explorer's list. I've got it pretty much cornered,
|| but I still have a couple of problems :
||
|| 1. I found a way to get the verbs associated with a file using
|| ProcessStartInf o.Verbs... This works fine, but I would like to get the
|| text associated with each of these verbs. For example, I have a verb
|| called EditWithVS7 for most text files... How do I get the associated
|| text ("Edit with Visual Studio .NET") ?
||
|| 2. I would like to display, like explorer, the "long" file type, as in
|| "Bitmap Image", "Text File", "Applicatio n", "Applicatio n Extension",
|| etc... I have no idea where to find this info.
||
|| 3. How would I display the "Properties " dialog
||
|| 4. How would I display the "Open With" dialog
||
|| 5. I would like to support the shell extensions (Add To Zip, Scan
|| with Norton, Upload using WS_Ftp, etc)
||
|| 6. I would also like to know where to get the Send To entries...
||
|| I know I'm asking for alot, but damn I can't find any info anywhere on
|| how to do this with .NET... I've spent at least 3-4 hours looking and
|| I can't find a single clue.
||
|| Any help would be immensely appreciated!
||
|| Thanks,
||
|| Alex.
Hi Alex,

It's not secret stuff only for Microsoft personnel, but it is Black Art
with a seemingly small circle of initiates!! I believe the information is all
out there but scattered.

What you're talking about is Shell programming. This has traditionally
been a difficult domain for VB programmers because Windows and Shell have some
very VB-unfriendly data structures. It has mainly been for the enjoyment of
the C++ fraternity. For this reason I praise to the heavens those VBers who
have produced something useful.

With VB.NET (and C#) much more of the OS type stuff is accessible. It's
not, however, been a major target for the .NET developers. They are advancing
on all fronts, it is true, but this is not one of the priorities. General
adaptability is more important than specific OS integration - even if it's
their own. But I'm sure this situation will improve.

I talk from the position of someone who is interested in all this but
doesn't have the burning passion that you have. Despite that, I have put in
considerably more than a few hours!! And I have <huge> gaps in my knowledge.
:-(

But that's because I can't use C++ and, like I said, that's where the
action is.

How can I help you? Only with advice, I'm afraid. These points are not in
any priority

** As this is not a strong point in .NET, much of what you want will be
uing the WinApi. Do your searches again but with WinApi and Shell in mind.

** Definitely make friends with the guys in microsoft.publi c.vb.winapi.
There's much knowledge available. They'll also pooh-poo my hesitations and
tell you top go for it! You'll be asking for a lot but spread it out, take
your time and I'm sure you'll get well along the road.

** Get hold of anything you can on the Registry. Much of the Shell 'mind'
resides there. Even if you access it through an API, it is very handy to know
how it all works. Again, this knowledge is scattered but there are some good
books. There are also plenty of web sites with various snippets. One keyword
there is Tweaks.
MS Press - Microsoft Windows XP Registry Guide Book
Sybex - Mastering Windows XP Registry
Hacking the Windows Registry

** Read and ponder the sections in the MSDN on Shell programming
http://tinyurl.com/pzlm
[This is a shortcut to MSDN - Shell Programmer's Guide]

That's all I've got for you but it should get you started. There's
actually more than you need in all that - be careful - it may spark your
imagination and before you know it you'll be rewriting the Shell!!

Good luck.

Oh, one last point - I've taken the liberty of cross-posting this to the
vb.winapi newsgroup that I mentioned. Who knows - your questions may even have
some specific answers waiting there for you! ;-)

Regards,
Fergus
Nov 20 '05 #3

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

Similar topics

21
2989
by: Chris Reedy | last post by:
For everyone - Apologies for the length of this message. If you don't want to look at the long example, you can skip to the end of the message. And for the Python gurus among you, if you can spare the time, I would appreciate any comments (including words like evil and disgusting, if you think they are applicable :-}) on the example here. Kenny -
0
1963
by: Stelios Xanthakis | last post by:
Hi. I'm trying to open an xterm in slave mode connected to a pseudo tty with an interactive python shell. This can be useful when working in a GUI to pop up xterm'd shells. The program below is a first attempt. It opens an xterm with an interactive python interpreter in which we can even run "os.system ('bash')" and call vi. However there are problems...
7
2359
by: Jack Addington | last post by:
I've got a fairly simple application implementation that over time is going to get a lot bigger. I'm really trying to implement it in a way that will facilitate the growth. I am first writing a WinForms interface and then need to port that to a web app. I am kinda stuck on a design issue and need some suggestions / direction. Basically I have a business layer that I want to use to process any dataentry logic (row focus changes, data...
15
4638
by: Cheryl Langdon | last post by:
Hello everyone, This is my first attempt at getting help in this manner. Please forgive me if this is an inappropriate request. I suddenly find myself in urgent need of instruction on how to communicate with a MySQL database table on a web server, from inside of my company's Access-VBA application. I know VBA pretty well but have never before needed to do this HTTP/XML/MySQL type functions.
3
1941
by: Mark | last post by:
Hello, What I need to know is if there is a better method to run/edit modules on my pc. I'm currently running the IDLE shell under Python 2.5, on Windows XP. Every time I edit my .txt or .py file, I have to restart the IDLE shell for the changes to take effect. It's pretty annoying. Assuming IDLE is already open, here are the steps that I typically take:
20
4282
by: mike | last post by:
I help manage a large web site, one that has over 600 html pages... It's a reference site for ham radio folks and as an example, one page indexes over 1.8 gb of on-line PDF documents. The site is structured as an upside-down tree, and (if I remember correctly) never more than 4 levels. The site basically grew (like the creeping black blob) ... all the pages were created in Notepad over the last
12
3014
by: adamurbas | last post by:
ya so im pretty much a newb to this whole python thing... its pretty cool but i just started today and im already having trouble. i started to use a tutorial that i found somewhere and i followed the instructions and couldnt get the correct results. heres the code stuff... temperature=input("what is the temperature of the spam?") if temperature>50: print "the salad is properly cooked." else:
3
2910
by: koutoo | last post by:
Is it possible to display messages in the python shell? I want to display error messages based on parameters in my scripts to the users. Is there another way to display messages other than log files? Thanks. Kou
8
5583
by: james.kirin39 | last post by:
Hi everyone, After having used Python on Linux for some time, I now have to do Python coding on Windows. I am big fan of the interactive Python shell to test, eg, regexps. Is there an interactive Python shell on Windows that supports: - easy copy-pasting to/from an editor? (as opposed to the cumbersome "mark", "copy" and then "paste" sequence that any terminal on Windows
0
8983
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8822
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9528
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9310
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9236
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
4863
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3298
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2774
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2206
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.