0

所以问题是如何向 c++ builder 2010 添加一些外部 .exe 文件?假设我在visual basic中制作了一些程序并拥有exe文件,所以不需要在c ++中制作相同的代码我只想在我的项目中包含那个exe?是否可以将便携式应用程序制作成一个 exe,其中包含另一个 exe 文件(可能在资源路径中)?如果它是另一个exe中的一个exe,如何在代码中调用它?我知道通过系统函数调用它,或者通过将方向指向 exe 来调用它,但是如果它与主 exe 位于相同的地址上怎么办?

4

2 回答 2

1

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

如果您想获取给定的可执行文件,并像调用 shell 脚本一样调用它,那么您需要启动给定程序,并将其标准输入和标准输出重定向到管道。MSDN 上提供了如何执行此操作的示例。如果您希望能够只查看目标 EXE 中的 Visual Basic 类和方法,就像使用 Visual Basic .NET 一样,那么您就不走运了,因为任意可执行文件不理解类的概念或方法。

于 2011-01-11T17:43:01.977 回答
1

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

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

于 2011-01-11T19:30:04.813 回答