View Single Post
Old 04-16-2008   #8 (permalink)
Ramesh, MS-MVP


 
 

Re: Weird behavior of ShellExecute on Vista

Checkout the Per-user override here:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.avi

This applies to Windows XP as well as for Windows Vista.

--
Regards,

Ramesh Srinivasan, Microsoft MVP [Windows Shell/User]
Windows® Troubleshooting http://www.winhelponline.com
Winhelponline.com blog http://www.winhelponline.com/blog


"Mihai Ciumeică" <cmihai@xxxxxx> wrote in message news:OvoR5W0nIHA.3804@xxxxxx
Greetings, everyone. I apologize in advance if the question is off-topic in
here, but the only newsgroup here specifically about Windows Vista registry
is in German. So, here goes.

I'm developing an application that must at one point launch a user-given
file. So I open the registry, look under HKCR\{name of file type}\shell, get
the name of the default verb ('Play' for video files etc.), then look up the
appropriate handler (the program executable) in the verb's subkey, check if
I can launch the handler and then do so. Later I might, with the user's
permission, change it to another program, or add my own verb, or whatever.

The problem is, under Vista, these verbs don't work. They don't even show up
in the context menu. For example, when I right-click a video file, the
default action is 'Open', which launches my VLC media player. The default
action in HKCR\avifile\shell is 'Play', and the handler under
HKCR\avifile\shell\play\command is wmplayer.exe. I'm guessing the fact that
the 'command' key has a value called 'LegacyDisable' has something to do
with it.

So my question is, where exactly in the registry does ShellExecute look for
the default verb and its handler?

Thank you for your time.

My System SpecsSystem Spec