Mar*_*tin 7 c# windows powershell binaryfiles windows-8.1
我将尝试以更舒适且不依赖于用户的方式编辑Windows 8.1 StartScreen .
我知道这不是Microsoft使用其操作系统的方式,但在企业环境中必须有一种方法来自定义StartScreen.如果我部署一个新的软件包,那么StartScreen上应该有一个图标(在右侧组中,在预定义的位置).
于是,我找到的文件appsFolder.itemdata-ms和appsFolder.itemdata-ms.bak两个都是二进制编码.如果我在十六进制编辑器中打开它们,有几个组名和链接可见但不是转储格式.也无法按照需要的方式在hexeditor中编辑此切片.
appsFolder.itemdata-ms的一部分
?%??????? ? ? S t o r e Y+????BGJ F 1SPS?w?
Run Code Online (Sandbox Code Playgroud)
我试着写一个解码器(使用C#),没有成功,一切都可以查看,但只是像在十六进制编辑器中一样.
尝试使用PowerShell命令,Export-StartLayout -as xml所有内容都以正确的方式导出,组,磁贴,位置为:
export.xml
<launcher version="2">
<view name="Start">
<group name="Desktop">
<tile FencePost="0" size="wide310x150" AppID="Microsoft.Windows.Desktop"/>
<tile FencePost="0" size="square150x150" AppID="Microsoft.InternetExplorer.Default"/>
<tile FencePost="0" size="square150x150" AppID="Chrome"/>
</group>
<group name="Entwicklung">
<tile FencePost="0" size="square150x150" AppID="{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Fiddler2\Fiddler.exe"/>
<tile FencePost="0" size="square150x150" AppID="{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Notepad++\notepad++.exe"/>
</group>
</view>
</launcher>
Run Code Online (Sandbox Code Playgroud)
但是Import-StartLayout没有按预期工作,使用此命令,先前导出的布局无法应用于当前用户(仅使用gpo,但随后启动屏幕被锁定).
我还使用了ILSpy来检查PowerShell Cmt-Lets,但最终却是非托管代码部分.
简而言之,有没有办法解码二进制文件来编辑它们(可能是第三方工具?)并将它们写回以将更改应用于当前用户?