As I work on different computers with different programs installed, I often have to search for the Open with
-dialog in the Context Menu, as the Context Menu is seemingly sorted alphabetically, and therefore, lots of programs might – and will – stand in front or after it.
So I want to move Open with
to the top of the list, as shown here:
As I don't really like third-party programs that mess around with my Registry and come with all sorts of OpenCandy and the likes, I want to do this the old-fashioned, manual way – and I immediately hit a problem.
A bit of googling around led me to this SO-question called "Order in the Windows Explorer context menu" that in turn led me to this – rather old – blogpost from MSDN stating that:
[…] the sorting is based on the following elements in decision order:
Key priority (eg, txtfile, *, AFSO)
Registry Enumeration order of
shellex\contextmenuhandlers
with a special case for static verbs always being first
IContextMenu
Implementation order
The only solution I can think of is very unelegant: Renaming Open with
into something like 1: Open with
or 0pen with
. I tried that, but unfortunately, this removes Open with
completely (as in: it is no longer in the context menu).
Another solution I read of in the SO-question was to place Open with
inside another section of the Context Menu. I would like to avoid this, too, as it would only help slightly , because the amount of programs would still influence the position.
Is there any way to get Open with
on top via the manual way, e.g. via Regedit or PowerShell?
Note: To me, it does not really matter if it comes before or after Open
.
Best Answer
Instead of changing position of regular
Open with
fromHKCR\*\shellex\contextmenuhandlers
in the context menu popup, you can add next otherOpen with
underHKCR\*\shell
and force its position to the top in the popup as follows:Result (an example with a
.png
file):To revert changes back, read and follow Deleting Registry Keys and Values
In this case, to delete the
.OpenWith
subkey from theHKEY_CLASSES_ROOT\*\shell
registry key, use: