InfoTip on Windows explorer context menu item - c#

I'm creating a c# application that adds entries in the registry to add items to the windows context menu like shown in this structure :
HKCR
*
shell
MyApp
command
How can i get a infotip or tooltip while I'm hovering MyApp ?
I added a string value infoTip under MyApp key but it doesn't work.
There's an example : while hovering context menu witch appears when you click on the horizontal arrow from (Start -> Shutdown).
Edit : I used a tool to inspect the class name for that menu and it turns out to be not a contextmenu but a toolbarwindow32 so i suppose that its infotip is not the same as a (contextmenu #32768) if there's one.

Likely way too late to help but there's a great library available called SharpShell that will allow you to do this exact thing and many other Windows context menu related functions. It is just terrific. The library is available on GitHub and here's a Code Project page where the developer explains how to use SharpShell to do exactly what you're trying to do.
Even if you were/are trying to figure it out for yourself I cannot exaggerate how great of a resource SharpShell source code would be to use as a guide.

Related

How to develop a shell ext. that adds a new button in a Explorer window? using SharpShell

Scenario
My current O.S. is Windows 8.1 x64, with plans to updgrade to Windows 10 x64 in the near future.
I frequently need to toggle between to show hidden files in explorer.
To solve this, I added a simple contextmenu item via registry, then when I do right click on the background of a folder I have my item that tooggles the hidden files visibility of Explorer.
Problem
Now I would like to make this functionality more accesible to avoid the need of that extra click to open the contextmenu. I would like to integrate the functionality as a shell extension to add a button near the default buttons that are at the bottom-right corner of each Explorer window:
Question
In C# or preferably VB.Net, and preferably using SharpShell library, how can I create a simple shell extension that adds a button with icon there?.
Note that when the button is clicked I need to have some kind of reference to identify the current Window on where I clicked the button.
Research
I've read all the official articles for beginners in this url below, however I didn't found any that talks about integrating an "addon" in Explorer (only about info tips).
Sharpshell - CodeProject
I know the existance of some expecific applications such as QTTabBar that adds functionalities in explorer such as menus and buttons via shell extension, It has a C# source code here and I'd anaylez it but it's a very huge VS solution and my main language is VB.Net, it's very unclear for me what the author do in the source code to add "addons" in the Explorer.
EDIT
AWM (Actual Window Manager) example of its Explorer integration:
QTTabBar's Explorer integration:

How to include windows right click menu in my application?

I have a desktop app which after taking input from the user displays a list of files and folder(using a ListBox).
I want that when the user right clicks on any item in the ListBox, the right click menu of windows explorer should display.
I know I will have to use P/Invoke for this, but I am unable to find any relevant information such as which dll I have to use or which function I have to call.
Can anybody help me with that?
So this question is very old but has no accepted answer. I dont think Visionstar understood the issue OP is having.
My understanding is that you have an application running, and you would like to add an option in the WINDOWS EXPLORER's right-click menu. Not in your own application's context menu.
I do not think you can achieve this within your own application, however, what you can do is add an item in the Windows explorer's context menu (nothing to do with your application, you can just do that in windows; see link below) that you can setup to call a little script you would make (literally a little batch file... but could be a .net app too). That little script can take care of warning you main application. By creating a text file, or json file in a hot folder, or some other mechanism you would have to come up with.
Adding an item in the windows' contextual menu:
How add context menu item to Windows Explorer for folders
If you need to deploy this to other PCs, you can make a add_menu.reg file to make it simpler. I'll let you Google that one, but I think it's as simpe as a right-click -> export key in your regedit.
You will need to code it yourself, there is no embedded way simply add a OS-Contextmenu to it,because you have programmed the listbox, so you have to append some contextmenu to the listitem-rightclicks
Here are examples/guidance for adding a context menu:
http://msdn.microsoft.com/en-us/library/aa984254%28v=vs.71%29.aspx
http://social.msdn.microsoft.com/Forums/windows/en-US/790cd8be-0ba8-4f10-95a8-c88f1023d6e7/how-can-i-create-a-rightclick-menu-i-c?forum=winforms

How to display the default right-drag context menu (copy/move/create shortcut, etc.)

Displaying the default right-click context menu is pretty straightforward and fairly well documented here and elsewhere on the web.
I based one largely off of Andreas Johansson's framework
How to show system menu of a file in C#
http://windows-tech.info/19/e5ad8751fc63816b.php).
My app provides a simple explorer-like view to display some custom attributes (thanks Windows for getting rid of IColumn). The right click context menu works great.
However, I'm now finding myself really wanting the right-drag context menu (Copy here, Move here, Create shortcuts here, cancel, plus any additional add on handlers like TSVN).
I assumed that there would be an additional flag I could add to QueryContextMenu uFlags, but alas I don't see one. Is there an alternative to QueryContextMenu to extract the menu items that are relevant to the right-drag menus?

C# How to add my program to context menu?

I have a c# executable file (created from a windows form application) and I would like to be able to add this file to the context menu. Furthermore, I should point out that I need to be able to add it to Windows XP, Vista, and 7.
Thank you for any help,
It is not that difficult and it is called context menu. Check this out Add a context menu to the Windows Explorer
Basically you will need to add item to the Registry.ClassesRoot.CreateSubKey registry.
Yeah add context menu using Registry editor. You could do this manually. Or this method, for example MSDN LINK, but you only need to do it once. so its like a installer executed once. here another simple example Link

Shell menu item separator

My question may be the repeated one here but even after googling i havn't got the solution yet.
I have added a shell context menu item for files i.e. when you right click on a file within explorer the menu shows my custom menu item.
I have used -
HKLM\Software\Classes*\shell\myappname
HKLM\Software\Classes*\shell\myappname\command
But what i am not able to do is to add a separator within that context menu.
I am using C# 2005 for creating my windows application.
Could someone help solve my problem.
Thanks for sharing your valuable time.
You'll need to create a shell context menu handler to take full control over the context menu content. You should not write this in C# until .NET 4.0 becomes widely available. For now you can use C++, this web page has an example. A wrapper is described here, no idea if it is any good.
Check out the following link: Extending Shortcut Menus
I think there is no keyword to add a separator but to create a new entry at the same level. The new set of entries will appear in a new group.

Categories