gpt4 book ai didi

c# - 通过解码 "*.itemdata-ms"二进制数据文件自定义Windows 8.1 StartScreen (Windows 8.1, StartScreen, C#)

转载 作者:可可西里 更新时间:2023-11-01 13:10:03 25 4
gpt4 key购买 nike

我将尝试以更舒适且用户依赖的方式编辑 Windows 8.1 开始屏幕。

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

因此,我发现文件 appsFolder.itemdata-msappsFolder.itemdata-ms.bak 都是二进制编码的。如果我在十六进制编辑器中打开它们,可以看到几个组名和链接,但不是转储格式。也无法按照需要的方式在 hexeditor 中编辑此图 block 。

部分appsFolder.itemdata-ms

?%?????☺↔         ▼   ♠   S t o r e           Y+↨♣♦?BGJ   F   1SPS?w?

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

尝试了 PowerShell 命令 Export-StartLayout -as xml 一切都以正确的方式导出,组、图 block 、位置到:

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,但这以非托管代码部分结束。

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

最佳答案

不,这是不可能的,这是设计使然(并不是说我同意该设计选择)。我曾就此与 Windows 产品组争论过几次。

这类似于微软锁定任务栏的方式。参见 here :

"Note: Applications cannot programmatically pin themselves to the taskbar. That functionality is reserved strictly for the user."

或者:

  1. 您可以通过组策略或在图像中为所有 用户设置开始屏幕磁贴。 (锁定环境)
  2. 您允许用户根据需要自定义他们的桌面(用户定义的环境)。

关于c# - 通过解码 "*.itemdata-ms"二进制数据文件自定义Windows 8.1 StartScreen (Windows 8.1, StartScreen, C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com