在 c++ 托管和异步运行中调用 c# 可执行文件
Call c# executable in c++ managed and run asynchronously
我想在 C++ 托管项目主要功能结束时运行 c# 可执行文件 abc.exe。 ABC.exe需要异步运行,而不会干扰 C++ 托管项目,即使它遇到任何错误也是如此。
我发现该进程.exe异步运行,但是如果.exe遇到任何错误,该exe c ++托管项目该怎么办?
Process ^p;
ProcessStartInfo ^pInfo;
pInfo = gcnew ProcessStartInfo();
pInfo->Verb = "open";
pInfo->FileName = "d:\abc.exe";
pInfo->UseShellExecute = true;
p = Process::Start(pInfo);
abc.exe 需要异步运行,而不会干扰 C++ 托管项目,即使它遇到任何错误也是如此。
两个单独的进程通常不会相互影响,而无需显式编写代码来相互通信。如果两个进程都使用共享资源(如硬件或文件(,则它们可以通过该共享资源相互干扰。我们需要有关 C# 和C++项目的更多详细信息,以告知它们是否可以以这种方式相互影响。
我发现该进程.exe异步运行的,但是如果.exe遇到任何错误,该exe c ++托管项目该怎么办?
abc.exe
进程将退出,C++进程将继续运行,就好像什么都没发生一样。如果需要,您可以实现代码以等待abc.exe
退出并处理其返回值。
根据设计,所有进程都旨在使用自己的独立内存异步运行。这就是Explorer.exe
可用于启动程序的方式,但在启动的程序崩溃时不会崩溃。
相关文章:
- 在 c++ 托管和异步运行中调用 c# 可执行文件
- 调用函数一次用于动态链接库,一次从可执行文件调用函数
- 只有一个可执行文件即可进行跨平台 SIMD 调用?
- 从 PHP 调用已编译的C++可执行文件来创建套接字
- 调试Visual Studio中可执行文件调用的C 文件
- 如何在C++代码中使用 SVM Light?(可能无需从C++代码调用可执行文件)
- 如何在C#中调用C 可执行文件
- 在单独的可执行文件中调用INSTANTIATE_TEST_CASE_P时,库中的TEST_P测试不会运行
- 如何在 c++ 中调用 unicode 函数 CreateProcessW 来启动 Windows 可执行文件
- 在 Visual C++ 系统调用的路径中找不到可执行文件
- 通过Linux命令行执行时,可执行文件运行正常 - 调用C System()命令时运行时错误
- 如何调试外部调用的C++可执行文件
- 使用系统命令调用可执行文件
- 从JAVA调用C++可执行文件
- 系统调用 open() 创建可执行文件
- 将 COM 类转换为 C#C++以便由可执行文件C++调用
- C++程序上的执行错误:静态可执行文件调用 DLL 库
- c++,总是运行进程或调用可执行文件
- 用c++调用可执行文件并并行运行
- 不能从c++程序中调用可执行文件