如何在Borland C ++ Builder 2010项目中添加一些外部可执行文件?

时间:2011-01-11 17:26:56

标签: c++ compiler-construction c++builder c++builder-2010

所以问题是如何向c ++ builder 2010添加一些外部.exe文件?假设我在visual basic中创建了一些程序并且有exe文件,因此不需要在c ++中生成相同的代码我想在我的项目中包含该exe吗?是否有可能使便携式应用程序中的一个exe内部有另一个exe文件(可能在资源路径中)? 如果它是其他的一个exe,如何在代码中调用它?我知道通过系统函数来调用它,或者通过向exe提供方向来调用它,但是如果它与main exe在同一个地址上怎么做呢?

2 个答案:

答案 0 :(得分:1)

我完全不明白你想要完成什么。如果您想使用给定程序的功能,您将不得不了解该程序的工作原理。

如果你想获取一个给定的可执行文件,并像调用shell脚本一样调用它,那么你需要用它的标准输入和标准输出重定向到一个管道来启动给定的程序。 An example of how to do that is available on MSDN。如果您希望能够只查看目标EXE中的Visual Basic类和方法,就像使用Visual Basic .NET一样,那么您运气不好,因为任意可执行文件无法理解类的概念或方法

答案 1 :(得分:1)

使用Project > Resources对话框将VB .exe文件添加到项目中并为其提供ID。在运行时,您的C ++代码可以将该ID的资源数据提取到临时文件,例如TResourceStreamTFileStream,然后使用CreateProcess()来运行它。完成使用后,请不要忘记删除文件。

否则,将VB代码重写为DLL,然后C ++应用程序可以在需要时简单地调用DLL的导出函数。如果你想发布一个自包含的.exe(通常不是如何使用DLL),那么你将不得不使用相同的资源方法,只需使用LoadLibrary()GetProcAddress(),而不是CreateProcess(),动态访问DLL函数。