![]() |
1
1
Windows不支持它,因为每个文件类型都有自己的文件格式。但这并不意味着你不能完成它。存储在dll和exes中的资源是文件格式的一部分。 向用户显示: 如果希望向用户显示此信息,最好使用属性页外壳扩展来完成。您将创建一个外观相似的页面,但不会使用完全相同的页面。有一个非常好的多部分 tutorial on shell extensions ,包括以该链接开头的属性页。 实际存储资源的位置: 您可以将资源存储到单独的 alternate data stream 在同一个文件上。这将使原始文件流在磁盘上没有损坏,并且不会导致其主文件大小发生更改。
备用数据流允许多个数据流与文件名相关联。每个流都由冒号标识
例如,您可以通过执行以下操作来创建它们:
获取正常的win32 API工作: 如果你想要正常的API工作,你必须 intercept the Win32 APIs :loadLibraryEx、findResource、loadResource和lockResource。但这可能不值得麻烦,因为您已经创建了自己的属性页。 |
![]() |
2
0
在缺少shell扩展的情况下,无法想到任何方法来执行此操作。我过去采用的方法是一个单独的“普查”程序,它知道如何从任何类型的文件中读取版本信息。 通过使用一个将zip文件转换为自解压zip的程序,可以将zip文件转换为exe文件(我知道WinZip这样做了,很可能还有免费的实用程序来实现这一点; here's one that came up on a search 但我还没试过呢)。一旦你有了一个exe,你就应该能够使用像 Resource Hacker 更改版本信息。 |
![]() |
3
0
这行不通。要么Windows必须知道每种文件格式,要么在附加了版本信息的情况下不会干扰任何文件格式。 |
![]() |
4
0
不,资源节只能在内部
PE
(可移植可执行文件;exe、dll、sys)。
如果您有NTFS驱动器,可以使用 NTFS stream to store custom properties 这样,二进制文件的联系人将保持不变,但您需要使用自定义外壳扩展来显示流的内容。 |
![]() |
Community wiki · 需要改变的用户界面模式? 1 年前 |
![]() |
LITzman · 使用状态处理颜色主题更改 1 年前 |
![]() |
Community wiki · 进程。退出(0):输出消失? 1 年前 |
![]() |
arsaces · 将文本添加到特定文件的末尾 2 年前 |
![]() |
YGranja · 库<图形。h> MinGW-W64缺少 2 年前 |
![]() |
Felipe Palermo · Ctrl键仍被按下,按键事件() 2 年前 |
![]() |
HCJ · win cmd中的批处理脚本循环 2 年前 |