M
Mihai Ciumeică
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.
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.