首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过解码“*..itemdata ms”二进制数据文件自定义Windows8.1 StartScreen (Windows8.1、StartScreen、C#)

通过解码“*..itemdata ms”二进制数据文件自定义Windows8.1 StartScreen (Windows8.1、StartScreen、C#)
EN

Stack Overflow用户
提问于 2013-09-17 13:17:29
回答 3查看 8.1K关注 0票数 7

我将尝试以更舒适的方式编辑Windows8.1 StartScreen,并以不依赖的方式编辑。

我知道这不是微软使用他们的操作系统的方式,但是在企业环境中,必须有一种定制StartScreen的方法。F.e.如果我部署了一个新的软件包,应该在StartScreen上有图标(在正确的组中,在预定义的位置上)。

因此,我发现文件appsFolder.itemdata-msappsFolder.itemdata-ms.bak都是二进制编码的。如果我在十六进制编辑器中打开它们,有几个组名和链接是可见的,但不是以转储格式显示的。也没有办法以所需的方式在十六进制编辑器中编辑这个块。

部分appsFolder.itemdata-ms

代码语言:javascript
复制
?%?????☺↔         ▼   ♠   S t o r e           Y+↨♣♦?BGJ   F   1SPS?w?

我试着写了一个解码器(使用C#),但没有成功,所有东西都可以查看,但只能像在十六进制编辑器中一样。

尝试了PowerShell命令Export-StartLayout -as xml everything以正确的方式导出,组,块,位置到:

export.xml

代码语言:javascript
复制
<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,但这以非托管代码部分结束。

长话短说,是否有办法解码二进制文件来编辑它们(也许是第三方工具?)并将它们写回以将更改应用于当前用户?。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-09 17:14:09

不,这是不可能的,那是经过设计的(不是我同意这个设计选择)。关于这一点,我与Windows产品组有过几次争论。

它类似于微软锁定任务栏的方式。请参见这里

注释:应用程序不能以编程方式将自己固定在任务栏上。该功能严格为用户保留。”

以下任一项:

  1. 您可以通过组策略或在图像中为所有用户设置开始屏幕瓷砖。(锁定环境)
  2. 您允许用户随意自定义他们的桌面(用户定义的环境)。
票数 4
EN

Stack Overflow用户

发布于 2013-12-09 17:29:46

我也在寻找编辑开始屏幕数据文件的方法。我已经让它通过GPO工作,我使用.Net反射器来分析。它的工作方式是在windows\system32\twinapi.dll中定义的COM接口上调用一个方法,因此不容易对数据文件格式进行解码。

xml文件包含在注册表中定义的应用程序ID,可以由PS列出,因此可以为此创建一个编辑器。

我在学校和大学工作,所以对桌面的控制要求很高。目前,我所处理的大多数学校都因为类似的问题而远离Windows 8。似乎MS只是不听人们真正需要什么!

票数 2
EN

Stack Overflow用户

发布于 2014-06-27 19:06:38

确保以二进制格式导出配置文件,因为import不会导入XML文件。以下是导出命令:

代码语言:javascript
复制
Export-StartLayout -As BIN -Path CustomStartScreenLayout.bin -Verbose
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18850972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档