C
chris.raplee
I've got a problem I'm not entirely certain how to resolve and would
like to put it before you to see if you have any insight on what I'm
doing wrong. I'd like to prevent users of our product from accessing
the explorer shell. Having out application in a Run key accomplishes
this, for the most part, but looks somewhat unprofessional during
startup and shutdown as you can see (and minimally interact with) the
Explorer shell for a small window of time.
Setting our application as the Shell seems to be a perfect solution to
this problem, but there's a side-effect I'm not certain how to handle.
Specifically under certain circumanstances (as by a service engineer)
it is required that we be able to terminate our application and launch
the Explorer shell.
Unfortunately when our application attempts to run explorer.exe it
shows up in "file browser" mode, not as a shell -- no Start menu,
taskbar, etc.
My best searches lead me to believe that two conditions need to be
satisfied to allow Explorer to run as a shell. The first is that no
other instance of Explorer is currently running (this is the case when
I am invoking explorer.exe) and the second is that Explorer is set as
the shell in the registry. Because of the second condition my
application is first setting the HKLM\Software\Microsoft\Windows
NT\Winlogon\Shell value back to explorer, and then invoking explorer.
Unfortunately I am still seeing Explorer start as a filebrowser and not
as a shell. Is there anything else I need to do in order to launch an
explorer shell?
like to put it before you to see if you have any insight on what I'm
doing wrong. I'd like to prevent users of our product from accessing
the explorer shell. Having out application in a Run key accomplishes
this, for the most part, but looks somewhat unprofessional during
startup and shutdown as you can see (and minimally interact with) the
Explorer shell for a small window of time.
Setting our application as the Shell seems to be a perfect solution to
this problem, but there's a side-effect I'm not certain how to handle.
Specifically under certain circumanstances (as by a service engineer)
it is required that we be able to terminate our application and launch
the Explorer shell.
Unfortunately when our application attempts to run explorer.exe it
shows up in "file browser" mode, not as a shell -- no Start menu,
taskbar, etc.
My best searches lead me to believe that two conditions need to be
satisfied to allow Explorer to run as a shell. The first is that no
other instance of Explorer is currently running (this is the case when
I am invoking explorer.exe) and the second is that Explorer is set as
the shell in the registry. Because of the second condition my
application is first setting the HKLM\Software\Microsoft\Windows
NT\Winlogon\Shell value back to explorer, and then invoking explorer.
Unfortunately I am still seeing Explorer start as a filebrowser and not
as a shell. Is there anything else I need to do in order to launch an
explorer shell?