我目前正在进行演示部署,其中需要为用户提供自定义工具栏。
通常,您直接用鼠标右键单击任务栏来创建这些工具栏,然后创建工具栏。不像很多人建议使用其他值和文件夹创建的固定项目。
当我进行一些研究时,发现在脚本或程序中执行此操作并不容易(我主要使用C#和PowerShell)。我已经发现REG-Binary键位于:
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Streams \ Desktop
保存我要重写的信息,但是我无法解码该值或为新映射创建新值。我也尝试了导出导入的东西,这很麻烦,因为值在某种程度上受用户名的影响(因为它在用户上下文中)和设置的机器名称。
是否有人以前使用过这些值,并且可以深入了解microsoft如何对其进行编码?好像是游戏中的旧保存状态,根据字节的变化,不同状态是活动的。这些是我到目前为止能弄清楚自己的内在部分。
我很想开发一个工具,以对TaskbarWinXP密钥中的设置进行解码和编码,并使之开源,我们都可以从中受益。
答案 0 :(得分:0)
要解码它并不容易,那里有些魔术。 并且,如果您在reg内更改计算机名称,它将无法正常工作,因为在reg中,它已被编码为计算机名称的大小。但是有解决方案。
如您所说,首先创建工具栏,将其放置在所需位置,然后保存reg:
reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop taskbar_toolbar_Backup.reg
如果您还想保存任务栏的位置(左停靠点,底部...等),则也要保存:
REM change StuckRects2 to StuckRects3 if you are in win10
reg export HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2 taskbar_position.reg
现在是重要的部分,您当然会将reg复制到另一台计算机上,但是它必须是相同的操作系统(xp到xp,win 7到win 7 ...等) 创建所需的文件夹,然后运行两个REG,但是它将无法正常工作,因为资源管理器将再次重置注册表。我发现的解决方案是先关闭资源管理器,然后运行reg,然后再次运行资源管理器和voila,它可以工作,Windows会接受另一台PC的计算机名称,并在下次登录时自动更新它,因此不必担心。
@echo off
REM mkdir path\to\folder
taskkill /f /im explorer.exe
reg import Taskbar-Toolbars-Backup.reg"
reg import taskbar_position.reg
start explorer.exe
仅此而已。
现在确定文件夹路径是否可以修复,那么就可以了,但是如果您想在其他PC上进行实用的更改,请按以下步骤操作:
我找不到任何解决方案,所以我做了以下解决方法: 首先,我将所有文件夹的快捷方式创建到永久性固定路径,例如,将快捷方式保存到system32或主文件夹。 然后我们从头开始阅读本指南,而不是使用要转换为工具栏的文件夹,而是将我们现在创建的快捷方式放入任务栏(它的工作方式就像是一个文件夹,并显示为文件夹即可)。现在,您可以保存reg值的备份,并将reg复制到另一台pc上,并按照我之前解释的步骤继续。
如您所见,工具栏现在指向快捷方式,因此可以在任何计算机上使用相同的reg,并且您只需要编辑快捷方式,而不是reg。 创建和编辑快捷方式很容易,并且有很多实用的指南和工具可以使用,因此我不再赘述。
当然,现在您必须为每个操作系统准备一个注册表,一个用于xp,一个用于win 7,另一个用于win8.1,一个用于win10,从现在开始,您可以在任何地方使用这些注册表,并且您只需要更改快捷方式
还有一件事情;如果将快捷方式保存在D:\中,现在想将其更改为C:\,会发生什么?您可以为此轻松编辑reg,只需更改两个字母(十六进制),就可以在regedit
中查看二进制格式的十进制,然后找到字母的位置,现在在reg中文件中将这两个字母更改为mydrive
,从现在开始,您可以通过用所需驱动器的十六进制替换mydrive
来轻松地实用地更改注册表。当然,您必须遵循保存在reg,例如,如果您在reg中将快捷方式另存为d:\path\to\folder
,则可以将D
驱动器更改为C
驱动器,但使用相同的文件夹结构:\path\to\folder
,因此它成为c:\path\to\folder
我认为,无需对此寄存器进行解密,直到现在为止还没有人对它进行解密(而另一个reg StuckRects2
他们解密了它;但是我还不知道这是谁)< / p>