//.h
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "NZK_BluePrintFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class NZK_FRAMEWORK_427_API UNZK_BluePrintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
UFUNCTION(BlueprintPure)
//获取系统信息
//GetSystemInfo
//NZK C++ 蓝图函数库
static void GetSystemInfo(
FString& Engine_Build,
FString& Engine_Version,
FString& Engine_CompatibleEngineVersion,
FString& CPU_Brand,
FString& CPU_Info,
FString& CPU_Vebdor,
FString& GPU_Brand,
FString& GPU_VendorID,
FString& GPU_UserDriverVersion,
FString& GPU_ProviderName,
FString& GPU_Version,
FString& OS_Label,
FString& OS_Version
);
//UFUNCTION(BlueprintCallable)
};
//.cpp
#include "NZK_BluePrintFunctionLibrary.h"
#include "GenericPlatform/GenericPlatformDriver.h"
#include "Misc/App.h"
//GetSystemInfo
void UNZK_BluePrintFunctionLibrary::GetSystemInfo(FString& Engine_Build, FString& Engine_Version, FString& Engine_CompatibleEngineVersion, FString& CPU_Brand, FString& CPU_Info, FString& CPU_Vebdor, FString& GPU_Brand, FString& GPU_VendorID, FString& GPU_UserDriverVersion, FString& GPU_ProviderName, FString& GPU_Version, FString& OS_Label, FString& OS_Version)
{
//ENGINE
Engine_Build = FApp::GetBuildVersion();
Engine_Version = FEngineVersion::Current().ToString();
Engine_CompatibleEngineVersion = FEngineVersion::CompatibleWith().ToString();
//CPU
CPU_Brand = FPlatformMisc::GetCPUBrand();
CPU_Info = FString::FromInt(FPlatformMisc::GetCPUInfo());
CPU_Vebdor = FPlatformMisc::GetCPUVendor();
//GPU
GPU_Brand = FPlatformMisc::GetPrimaryGPUBrand();
FGPUDriverInfo GPUINFO = FPlatformMisc::GetGPUDriverInfo(GPU_Brand);
GPU_Version = FString::FromInt(GPUINFO.VendorId);
GPU_UserDriverVersion = GPUINFO.UserDriverVersion;
GPU_ProviderName = GPUINFO.ProviderName;
GPU_Version = GPUINFO.RHIName;
//OS
FPlatformMisc::GetOSVersions(OS_Label,OS_Version);
}