【问题标题】:.DLL:How to modify a Dynamic Link Library (.dll) file?.DLL:如何修改动态链接库 (.dll) 文件?
【发布时间】:2011-10-13 19:15:52
【问题描述】:

我已经能够在 Visual Studio 2010 中打开 Windows 8 shsxs.dll 文件。

但它是写保护的。

现在,在 Visual Studio 中,我想知道如何修改现有图像或在 png 格式转换为 shsxs.dll.

另外,我也曾使用 7-zip 解压/提取它。

那么,如何将解压后的 .dll 文件重新打包成 .dll 文件?

PS:我是 Visual Studio 的新手,所以问题或标签似乎无关紧要。请尽快纠正我并帮助我。

【问题讨论】:

  • “写保护”是什么意思?
  • 正如我所提到的,shsxs.dll 是一个 Windows 8 system32 文件。因此,当我在 VS2010 中打开其中的图像时,它不允许我修改它们,也不能向其中添加 PNG 格式的新图像。它只允许我添加 BMP 格式的图像。
  • 确定是写保护的,它实现了Win8的开始菜单。不要乱用系统文件。
  • @HansPassant:先生,为了学习,我必须调整和冒险。 :) 那么,你能帮我如何删除写保护吗?此外,我正在对文件副本进行所有更改,并备份原件。
  • 我建议您从学习推荐的工程技术开始。一旦你理解了这些,你就可以扩展到不推荐的技术。

标签: visual-studio winapi dll windows-8


【解决方案1】:

前言:我还没有机会使用 Windows 8,所以这个答案中的信息可能会略有偏差。或者完全没用。

我认为写保护是指只读。这很容易纠正。找到您的shsxs.dll 并右键单击它。选择 Properties 并取消选中 Attributes 部分中的 Read-Only 复选框,如果它被选中。然后转到 Security 选项卡,然后单击编辑。选择您的用户名(或用户Everyone,如果有的话)并勾选允许列中的完全访问权限复选框。单击确定。再次点击确定。

接下来您想了解如何修改现有图像添加 png 格式的新图像。这是两个不同的东西。

让我们先解决修改

7-Zip 无法做到这一点。只能用它查看DLL的内容,不能修改。你需要一个专门的工具来完成这项工作,我推荐XN Resource Editor,它基本上是一个更好的Resource Hacker,它曾经是编辑已编译资源的程序。不过,我不确定它们是否适用于 Windows 8 模块。如果他们不这样做,请链接到 cmets 中的替代方案,或者如果可以编辑此答案。

安装 XN 资源编辑器后,启动它,然后打开您的 shsxs.dll。在左侧,您有资源树。展开 位图 子树。您应该看到一堆数字,每个数字代表 DLL 中的一个资源。展开每个子树,直到找到所需的图像。

找到图片后,您可以使用 XN 资源编辑器的内置图片编辑器对其进行内联修改。您还可以记住资源的编号,右键单击图像并选择删除资源,然后进入资源菜单并选择导入图像资源,找到您想要的图像。然后在 XN Resource Editor 中右键单击新导入的图像,选择 Properties 并输入旧资源的编号(你记得它,对吗?),然后按 OK。

添加新图片并没有什么不同。

这很简单,只需转到资源菜单并选择导入图像资源,找到您想要的图像并单击确定。 完成


编辑:由于该文件来自 System32,我添加了有关如何授予用户对文件的完全访问权限的说明,此外还删除了只读标志。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 2010-09-30
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
相关资源
最近更新 更多