.net 进程返回值

.net 进程返回值,.net,c++,winapi,process,return-value,.net,C++,Winapi,Process,Return Value,如何获取进程的返回值?基本上,我是**()**从DLL(在C++中)编译一个.NET进程。这个过程完成了它的任务,但现在我想知道它是成功了还是失败了。如何在WinAPI或MFC中执行此操作?使用CreateProcess()。保留进程句柄,并在进程句柄发出信号时调用GetExitCodeProcess()。使用CreateProcess()。保留进程句柄,并在进程句柄发出信号时调用GetExitCodeProcess()。改用,以便获得已启动进程的句柄。然后,您应该能够使用获取退出代码 (我在这

如何获取进程的返回值?基本上,我是**()**从DLL(在C++中)编译一个.NET进程。这个过程完成了它的任务,但现在我想知道它是成功了还是失败了。如何在WinAPI或MFC中执行此操作?

使用CreateProcess()。保留进程句柄,并在进程句柄发出信号时调用GetExitCodeProcess()。

使用CreateProcess()。保留进程句柄,并在进程句柄发出信号时调用GetExitCodeProcess()。

改用,以便获得已启动进程的句柄。然后,您应该能够使用获取退出代码

(我在这里留下了这个答案,尽管MSalters也给出了类似的答案,因为我怀疑您故意使用
ShellExecute
来获取shell行为,而不是显式创建进程。)

使用它,这样您就可以获得已启动进程的句柄。然后,您应该能够使用获取退出代码

(我在这里留下了这个答案,尽管MSalters也给出了类似的答案,因为我怀疑您故意使用
ShellExecute
来获取shell行为,而不是显式创建进程。)

ShellExecute()在其本机中是16位调用,因此,它并不打算提供反馈/回调,尽管您可以选择线程/进程/内存地址(如果您找到可用内存空间)及其标志(如果没有血淋淋的标志,WinAPI(32位)将比现在简单得多)。 为了提供完整的反馈,您可以尝试使用扩展版本或CreateProcess()函数和is纯32位函数。 毫无疑问,我无法向您提供有关标志/Lparameters和其他API参数的任何详细信息

此外,主要是所有的执行函数/过程/方法都返回布尔值,所以您总是可以从[if..then]语句开始作为返回提供程序

Opps,在我写这篇文章的时候,已经给出了三个答案。

ShellExecute()在其本机中是16位调用,因此它不打算提供反馈/回调,尽管您可以指定线程/进程/内存地址(如果您找到可用内存空间)及其标志(如果不存在血腥标志、WinAPI(32位)会比现在简单得多)。 为了提供完整的反馈,您可以尝试使用扩展版本或CreateProcess()函数和is纯32位函数。 毫无疑问,我无法向您提供有关标志/Lparameters和其他API参数的任何详细信息

此外,主要是所有的执行函数/过程/方法都返回布尔值,所以您总是可以从[if..then]语句开始作为返回提供程序

哎呀,当我写这篇文章的时候,已经有三个答案了