C 如何创建/编译包含两个其他文件的exe?
我有两个文件,它们都是exe。一个用于32位,一个用于64位。我想用C创建一个小程序(第三个exe),其中包含这两个文件。当我启动第三个exe时,它应该做一些工作,并执行其中一个。这有可能吗 提前谢谢 用C语言自己做 有一些方法可以在C/C++中实现这类功能,并进行了描述和说明。基本上,您可以执行以下操作:C 如何创建/编译包含两个其他文件的exe?,c,windows,visual-studio,C,Windows,Visual Studio,我有两个文件,它们都是exe。一个用于32位,一个用于64位。我想用C创建一个小程序(第三个exe),其中包含这两个文件。当我启动第三个exe时,它应该做一些工作,并执行其中一个。这有可能吗 提前谢谢 用C语言自己做 有一些方法可以在C/C++中实现这类功能,并进行了描述和说明。基本上,您可以执行以下操作: 将32位和64位可执行文件作为二进制PE资源添加到32位引导程序可执行文件中。您可以使用任何PE资源编辑器(包括VisualStudio)执行此操作,如果您正在使用的是该编辑器的话 引导程序
iswow64进程
来确定它是否在64位系统上运行; Check if we’re on 64-bit OS…
If EnvGet(“PROCESSOR_ARCHITEW6432″)=”” Then
; No we’re not – run x86 version…
FileInstall(“D:\Support\ETrustCheck_x86.exe”,@TempDir & “\ETrustCheck_x86.exe”)
RunWait(“D:\Support\ETrustCheck_x86.exe”,@TempDir & “\ETrustCheck_x86.exe”)
FileDelete(@TempDir & “\ETrustCheck_x86.exe”)
Else
; Yes we are – run x64 version..
FileInstall(“D:\Support\ETrustCheck_x64.exe”,@TempDir & “\ETrustCheck_x64.exe”)
RunWait(“D:\Support\ETrustCheck_x86.exe”,@TempDir & “\ETrustCheck_x64.exe”)
FileDelete(@TempDir & “\ETrustCheck_x64.exe”)
EndIf
; The END
AutoIT脚本编辑器可以将此脚本包装到32位启动器中,并将两个可执行文件打包到其中。它被调用,AFAIK Windows不支持它们。你可以耍卑鄙的把戏。为什么不同时安装两个二进制文件和启动程序,并选择(在运行时)要运行的文件。@BasileStrynkevitch:Windows不支持它?我在窗户上看到过这样的东西。例如,Sysinternals中的ProcessExlorer以同样的方式工作。或者我误解了什么?@kampi-他的意思是Windows在操作系统级别不支持此功能,例如,与Mac OS X不同。但您可以制作自己的可执行打包器/解包来实现这一点。我问了一个类似的问题,这里有一些有用的回答。