一、C++封装蓝图方式(只能打开.exe文件)
1.首先新建C++类“Blueprintfunctionlibrary”,命名“CommonBlueprintFunctionLibrary”
可能会遇到类似于以下问题:类生产成功...但必须重新编译...,意思是生成的文件有错,请修改后编译-调试通过后此类即可显示在UE项目结构中,那就需要你去项目工程下的Source目录中找到生成的类使用ide工具打开排查错误直至编译-调试成功
编写代码.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "../Source/你的项目名字/Public/CommonBlueprintFunctionLibrary.h"
#include"../Runtime/Core/Public/GenericPlatform/GenericPlatformProcess.h"
bool UCommonBlueprintFunctionLibrary::OpenExe(FString URL) {
FProcHandle currHandle = FPlatformProcess::CreateProc(*URL, nullptr, true, false, false, nullptr, 0, nullptr, nullptr);
UE_LOG(LogTemp, Warning, TEXT("URL:::%s"), *URL);
return true;
}
编写代码.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "CommonBlueprintFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class DXUEDEMO_API UCommonBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = ExcExe)
static bool OpenExe(FString URL);
};
打开外部.exe文件的蓝图就封装好了,可以在UE中使用
二、蓝图方式(打开.exe文件、安卓app应用、IOS应用)----推荐使用
思路解析:通过 “启动URL” 此蓝图节点,打开外部浏览器并访问应用程序的Uri方式 成功打开.exe文件、安卓app应用、IOS应用。这是这种节点的特殊用法,一般情况是拿来访问正常网页地址。
“启动URL” 蓝图节点介绍:此节点是打开外部浏览器的节点,URL引脚:启动浏览器访问的URL。
以下以打开 微信.exe、微信安卓app为例做介绍:
微信已自动暴漏URi给广大用户:weixin://
运行结果:点击按钮即可在PC端外部打开微信以及在安卓端打开微信。
哪此时就有人要问了,那这个“启动码”从哪里来呢?微信等腾讯“启动码”是网上可以查到的,若要打开其他厂商应用或者没有暴漏“启动码”的应用时,就需要对应的开发工程师在他们的项目上添加“启动码”,安卓就找安卓工程师,IOS就找IOS工程师,依次对应。当然你要是全部都会那就自己“全都干!”以下附着安卓配置“启动码”方式链接,请参考:配置安卓app“启动码”,pc端咋配、苹果应用咋配网上都有,百度即可,本文主要介绍UE端需要完成的工作意思思路解析。
三、JNI方式(C++调用Java,此方式复杂且耗费资源,非必要不建议使用)
中转站-博客01https://blog.csdn.net/JMcc_/article/details/105512351
中转站-博客02https://blog.csdn.net/JMcc_/article/details/105512351