Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 是否可以将VS_版本信息添加到非exe文件?_Windows_Visual Studio - Fatal编程技术网

Windows 是否可以将VS_版本信息添加到非exe文件?

Windows 是否可以将VS_版本信息添加到非exe文件?,windows,visual-studio,Windows,Visual Studio,我的windows同事问我是否可以修改我的非windows二进制文件,以便在windows下检查它们的“属性”时,他们可以看到“版本”选项卡,就像Visual Studio编译的exe一样 具体来说,我有一些gzip二进制文件,我想知道是否可以修改它们以满足这个需求。如果有更好的办法,那也可以 有没有办法让我的二进制文件看起来像exe文件 我试图简单地将notepad.exe中的VS_VERSION_INFO块附加到我的一个二进制文件的末尾,希望Windows扫描该块,但没有成功 我试着编辑关于

我的windows同事问我是否可以修改我的非windows二进制文件,以便在windows下检查它们的“属性”时,他们可以看到“版本”选项卡,就像Visual Studio编译的exe一样

具体来说,我有一些gzip二进制文件,我想知道是否可以修改它们以满足这个需求。如果有更好的办法,那也可以

有没有办法让我的二进制文件看起来像exe文件

我试图简单地将notepad.exe中的VS_VERSION_INFO块附加到我的一个二进制文件的末尾,希望Windows扫描该块,但没有成功


我试着编辑关于作者、主题、版本等的其他信息。这不会修改文件,它只是在NTFS中为文件创建另一个数据分叉(windows术语是什么?)。

想不出任何方法来完成这个简短的shell扩展。我过去采用的方法是一个单独的“普查”程序,它知道如何从任何类型的文件中读取版本信息


Zip文件可以通过使用将Zip文件转换为自解压Zip的程序转换为exe文件(我知道WinZip可以做到这一点,很可能也有免费的实用程序;但我实际上还没有尝试过)。一旦你有了一个exe,你应该能够使用一个工具来更改版本信息。

它不会工作。Windows必须知道每种文件格式,否则,如果将版本信息附加到其中,则不会干扰任何文件格式。

否,资源部分仅应在内部(可移植可执行文件;exe、dll、sys)。
它不仅仅是将数据放在文件中,还有一个表指向文件头中的数据


如果您有NTFS驱动器,您可以做的是使用这种方式,二进制文件的联系人将保持不变,但您需要使用自定义外壳扩展名来显示流的内容。

windows不支持它,因为每种文件类型都有自己的文件格式。但这并不意味着你不能完成它。DLL和EXE中存储的资源是文件格式的一部分

向用户显示:

如果希望向用户显示此信息,最好使用属性页外壳扩展来实现。您可以创建一个外观类似的页面,但不会使用完全相同的页面。有一个非常好的多部分,包括从该链接开始的属性页

实际存储资源的位置:

您可以将资源存储到同一文件上的单独文件中,而不是将块附加到文件中。这将使原始文件流在磁盘上未损坏,并且不会导致其主文件大小发生更改

备用数据流允许多个数据流与文件名关联。每个流由文件名末尾的冒号
和标识符标识

例如,您可以通过执行以下操作来创建它们:

notepad test.txt:adsname1
notepad test.txt:adsname2
notepad test.txt

让正常的Win32 API正常工作:


如果您想让普通API正常工作,您必须:LoadLibraryEx、FindResource、LoadResource和LockResource。不过,这可能不值得费心,因为您已经在创建自己的属性页了

嗯,我希望它可以像MP3文件中的ID3标签一样工作。标签在哪里并不重要。这就是为什么他说“喜欢”,比如“类似于”。我的文件中唯一可以修改的部分是结尾。它是一个Linux内核和ramdisk。我已经编写了自己的小程序,在这些文件的末尾添加了一个键控1024块。块的内容由用户决定。独立实用程序可能是最佳选择。您可以通过(1)添加一个可以处理所有文件的右键单击操作(例如,“使用Harvey's Viewer查看版本信息”),以及(2)支持拖放,以便您可以将文件从资源管理器拖动到应用程序,从而使从资源管理器使用该实用程序变得简单。我最后编写了一个小型shell脚本实用程序(用于Linux端)这将附加/修改/删除一个自定义1k块,用户可以用他们想要的任何东西填充它。PE/COFF指针很有用。我在考虑流方法是否适合我。这两个文件构建在ext2文件系统中,但它们最终被复制并存在于ntfs分区中。