我们在Unreal项目中编写一些工具代码时,很可能要调用一些第三方的程序,这种需求就可以使用FMonitoredProcess解决。
使用方式
FString FullExePath = exe的路径
FString ExeParam = 要传给exe的参数
TSharedptr<FMonitoredProcess> NewProcess= MakeShareable(new FMonitoredProcess(FullExePath , ExeParam , true));
NewProcess->OnOutput().BindLambda([&](const FString& Text) {
第三方程序的输出会被这里捕获
if(Text == TEXT("Step1"))
{
第一步完成了
}
});
//启动程序
NewProcess->Launch();
第三方程序可以通过Output来触发Unreal工具的一些行为。