我正在尝试创build我自己的shell,它是Windows的shell替代品。 我意识到只要在REGEDIT中设置值:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
将在Windows 7中运行。但是,在Windows XP中,情况并非如此。
如果我尝试运行Windows资源pipe理器,它将显示任务栏并将其自身作为Windows的shell。 但在Windows 7中,它只会运行Windows资源pipe理器,而不会显示其任务栏
在Windows XP中,是否需要使用特定的registry编辑器进行shellreplace?
资源管理器会查看“Shell”字符串来查看它是否不存在,或者是!=“explorer [.exe]”,但它只在XP上的HKEY_LOCAL_MACHINE下进行检查!
如果你将其中一个未公开的寄存器称为shell函数( SetShellWindow ,SetProgmanWindow,SetTaskmanWindow,RegisterShellHookWindow等),explorer将无法将自己注册为shell,因为只有一个进程可以是任务栏和桌面shell。
您需要在HKLM
更换一个密钥,在HKCU
另一个密钥。 看到这个更多的信息: http : //msdn.microsoft.com/en-us/library/ms838576.aspx