2011-03-07 19 views
2

我正在尝试创建我自己的shell,它是Windows的shell替代品。 我认识到,通过在注册表编辑器,在刚刚设定值:什么是在Windows XP中创建shell替换的正确方法?

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 

将工作在Windows 7中,但在Windows XP中,它并非如此。

如果我尝试运行Windows资源管理器,它将显示任务栏并将其自身作为Windows的外壳。但在Windows 7中,它只会运行Windows资源管理器,而不会显示其任务栏

Windows XP中的shell替换是否需要任何特定的注册表编辑器设置?

+1

您已经显示的注册表位置确实如何更改当前用户的默认shell,即使在Windows XP中也如此。我不明白你对它不起作用的解释。你能给我们更多的细节吗?如果您更改了默认shell,为什么要尝试启动Windows资源管理器? – 2011-03-07 10:14:49

+0

@Cody Gay 如果我的解释不够详细,我很抱歉。 :)我的意思是,如果我在Windows XP中运行explorer.exe,并且explorer.exe不是默认shell,它将显示它的任务栏。它表现得像它的默认外壳。当然,这不是我期望替换外壳的东西。但是它不会发生在Windows 7(或者再见Vista)。 我正在运行资源管理器,正在做一些文件管理的offcourse;) – swdev 2011-03-07 10:41:26

回答

4

Explorer将查看“Shell”字符串以查看它是否不存在或是!=“explorer [.exe]”,但它只在XP上的HKEY_LOCAL_MACHINE下进行检查!

如果调用无证寄存器作为外壳的功能之一(SetShellWindow,SetProgmanWindow,SetTaskmanWindow,RegisterShellHookWindow等),资源管理器将无法将其自身注册为壳,因为只有一次过程可以在任务栏和桌面外壳。

+0

哇,我只知道!当然,我会做一个检查。并给你结果!非常感谢 – swdev 2011-03-08 01:23:11

相关问题