尝试通过FPlatformProcess::CreateProc启动第三方程序,代码如下:
void AGameManager::LaunchExe()
{
if(FPaths::FileExists(TargetExeFullPath))
{
FProcHandle Handle = FPlatformProcess::CreateProc(*TargetExeFullPath, TEXT("P"), true, false, false, nullptr, 1, nullptr, nullptr);
}
}
异常如下:
LogWindows: Warning: CreateProc failed: 请求的操作需要提升。 (0x000002e4)
注意事项:
- CreateProc(~)函数的Parms参数,不要设定为nullptr,可给个随意的字符串。
- 必须检查文件路径是否存在。
- 路径内不能包含空格。
- 目标程序需要是绿色版或已经安装好的程序,不能是安装包。
- 路径尽量使用"/"符号,而不是"\\"。
另,路径和程序名,可有中文。
正确示例:C:/Windows/System32/notepad.exe
错误示例:C:/Program Files/ToDesk/ToDesk.exe 空格问题,会启动失败
博客介绍了通过FPlatformProcess::CreateProc启动第三方程序的相关内容。给出了启动时的异常情况,强调了CreateProc函数Parms参数不能为nullptr,要检查文件路径是否存在、路径不能含空格等注意事项,还给出了正确和错误示例。
2247

被折叠的 条评论
为什么被折叠?



