What is the proper way to create shell replacement in Windows XP?
I开发者_如何学Go am trying to create my own shell that is a shell replacement for Windows. I realize that by just setting the value in REGEDIT at:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
will works in Windows 7. But, in Windows XP, it's not the case.
If I try to run Windows Explorer, it'll display the taskbar and make itself as the shell for Windows. But in Windows 7, it will just running Windows Explorer, and not displaying its Taskbar
Is there any specific regedit setting needed for a shell replacement in Windows XP?
Explorer will look at the "Shell" string to see if it does not exist or is != "explorer[.exe]", but it only checks under HKEY_LOCAL_MACHINE on XP!
If you call one of the undocumented register as shell functions (SetShellWindow, SetProgmanWindow, SetTaskmanWindow, RegisterShellHookWindow etc), explorer will not be able to register itself as the shell since only once process can be the taskbar and desktop shell.
You need replace one key in HKLM
and the other in HKCU
.
see this for more info: http://msdn.microsoft.com/en-us/library/ms838576.aspx
精彩评论