- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我将尝试以更舒适且不用户依赖的方式编辑 Windows 8.1 开始屏幕。
我知道这不是 Microsoft 使用其操作系统的方式,但在企业环境中必须有一种自定义 StartScreen 的方式。 F.e.如果我部署一个新的软件包,开始屏幕上应该有图标(在正确的组中,在预定义的位置)。
因此,我发现文件 appsFolder.itemdata-ms
和 appsFolder.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."
或者:
关于c# - 通过解码 "*.itemdata-ms"二进制数据文件自定义Windows 8.1 StartScreen (Windows 8.1, StartScreen, C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18850972/
我将自定义数据类型的对象存储在 QStandardListItems 中。我通过调用恢复这些对象: i.data(Qt::UserRole + 1).value(); 这只会在堆栈中创建一个新对象。我
我有一个所有者绘制的 MFC CListCtrl,我正在尝试将其转换为虚拟列表控件。我的列表中有 30-40,000 个项目,因此虚拟列表控件在速度改进方面完全满足了我的需要。问题是我的列表是所有者绘
我有以下代码将 QT QComboBox 链接到我的 sqlite 数据库,它运行良好。但是在我的数据库中,我有与外键链接的类别和项目表。因此,当我从 QComboBox 中提取信息时,我需要获取 C
当我单击 QtWidgets.QPushButton 以显示 QtWidgets.QComboBox 中的 itemData 时遇到问题。我用这段代码填充我的 ComboBox: self.combo
我有一个自定义的 TListView 后代,最初是在 D2007 中创建的,现在在 D2010 中使用。该控件在 D2007 中运行良好,没有出现任何问题,但在 D2010 中,我遇到了偶发但频繁的情
请考虑下面的小片段: If rs!Manufacturer = myListbox.ItemData(Index) Then 还有这两只 watch : Watch : rs!Manufactur
我有一个 TListBox,其中包含位置列表(每个位置都有一个名称和距当前位置的距离)。我想为用户提供按位置名称(即按字母顺序)或按距当前位置的距离对列表进行排序的选项。位置名称存储为项目的 Item
我将尝试以更舒适且不用户依赖的方式编辑 Windows 8.1 开始屏幕。 我知道这不是 Microsoft 使用其操作系统的方式,但在企业环境中必须有一种自定义 StartScreen 的方式。 F
我是一名优秀的程序员,十分优秀!