我将尝试以更舒适的方式编辑Windows8.1 StartScreen,并以不依赖的方式编辑。
我知道这不是微软使用他们的操作系统的方式,但是在企业环境中,必须有一种定制StartScreen的方法。F.e.如果我部署了一个新的软件包,应该在StartScreen上有图标(在正确的组中,在预定义的位置上)。
因此,我发现文件appsFolder.itemdata-ms和appsFolder.itemdata-ms.bak都是二进制编码的。如果我在十六进制编辑器中打开它们,有几个组名和链接是可见的,但不是以转储格式显示的。也没有办法以所需的方式在十六进制编辑器中编辑这个块。
部分appsFolder.itemdata-ms
?%?????☺↔ ▼ ♠ S t o r e Y+↨♣♦?BGJ F 1SPS?w?我试着写了一个解码器(使用C#),但没有成功,所有东西都可以查看,但只能像在十六进制编辑器中一样。
尝试了PowerShell命令Export-StartLayout -as xml everything以正确的方式导出,组,块,位置到:
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>但是Import-StartLayout不像预期的那样工作,使用这个命令,以前导出的布局可以将而不是应用于当前用户(只能使用gpo,然后开始屏幕被锁定)。
我还使用ILSpy来检查PowerShell Cmt-Lets,但这以非托管代码部分结束。
长话短说,是否有办法解码二进制文件来编辑它们(也许是第三方工具?)并将它们写回以将更改应用于当前用户?。
发布于 2013-10-09 17:14:09
不,这是不可能的,那是经过设计的(不是我同意这个设计选择)。关于这一点,我与Windows产品组有过几次争论。
它类似于微软锁定任务栏的方式。请参见这里:
“注释:应用程序不能以编程方式将自己固定在任务栏上。该功能严格为用户保留。”
以下任一项:
发布于 2013-12-09 17:29:46
我也在寻找编辑开始屏幕数据文件的方法。我已经让它通过GPO工作,我使用.Net反射器来分析。它的工作方式是在windows\system32\twinapi.dll中定义的COM接口上调用一个方法,因此不容易对数据文件格式进行解码。
xml文件包含在注册表中定义的应用程序ID,可以由PS列出,因此可以为此创建一个编辑器。
我在学校和大学工作,所以对桌面的控制要求很高。目前,我所处理的大多数学校都因为类似的问题而远离Windows 8。似乎MS只是不听人们真正需要什么!
发布于 2014-06-27 19:06:38
确保以二进制格式导出配置文件,因为import不会导入XML文件。以下是导出命令:
Export-StartLayout -As BIN -Path CustomStartScreenLayout.bin -Verbosehttps://stackoverflow.com/questions/18850972
复制相似问题