Unity打开外部文件夹并选择文件
2020-04-13 20:04
1966 查看
转载自:https://blog.csdn.net/pq8888168/article/details/85781908
1、OpenFileName脚本
// An highlighted block using UnityEngine; using System.Collections; using System; using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] public class OpenFileName { public int structSize = 0; public IntPtr dlgOwner =IntPtr.Zero; public IntPtr instance = IntPtr.Zero; public String filter = null; public String customFilter = null; public int maxCustFilter = 0; public int filterIndex = 0; public String file = null; public int maxFile = 0; public String fileTitle = null; public int maxFileTitle = 0; public String initialDir = null; public String title = null; public int flags = 0; public short fileOffset = 0; public short fileExtension = 0; public String defExt = null; public IntPtr custData = IntPtr.Zero; public IntPtr hook = IntPtr.Zero; public String templateName = null; public IntPtr reservedPtr = IntPtr.Zero; public int reservedInt = 0; public int flagsEx = 0; }
2、LocalDialog脚本
using System.Runtime.InteropServices; public class LocalDialog { //链接指定系统函数 打开文件对话框 [DllImport("Comdlg32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)] public static extern bool GetOpenFileName([In, Out] OpenFileName ofn); public static bool GetOFN([In, Out] OpenFileName ofn) { return GetOpenFileName(ofn);//执行打开文件的操作 } //链接指定系统函数 另存为对话框 [DllImport("Comdlg32.dll", SetLastError = true, ThrowOnUnmappableChar = true, CharSet = CharSet.Auto)] public static extern bool GetSaveFileName([In, Out] OpenFileName ofn); public static bool GetSFN([In, Out] OpenFileName ofn) { return GetSaveFileName(ofn);//执行保存选中文件的操作 } }
3、添加一个button点击事件 来开启方法
//Type输入*则是打开所有格式的文件
using UnityEngine; using System.Collections; using System.Runtime.InteropServices; using UnityEngine.UI; public class CameraTest : MonoBehaviour { public Button button; private void Awake() { button.GetComponent<Button>().onClick.AddListener(Open); } public void Open() { //这里输入*则是打开所有格式的文件 OpenDirectory("*"); } public void OpenDirectory(string type) { OpenFileName2 openFileName = new OpenFileName2(); openFileName.structSize = Marshal.SizeOf(openFileName); openFileName.filter = "文件(*." + type + ")\0*." + type + "*"; openFileName.file = new string(new char[256]); openFileName.maxFile = openFileName.file.Length; openFileName.fileTitle = new string(new char[64]); openFileName.maxFileTitle = openFileName.fileTitle.Length; openFileName.initialDir = Application.streamingAssetsPath.Replace('/', '\\');//默认路径 openFileName.title = "选择文件"; openFileName.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000008; if (LocalDialog.GetSaveFileName(openFileName))//点击系统对话框框保存按钮 { //TODO Debug.Log("Selected file with full path:=========" + openFileName.file); //显示点击文件路径 } }
相关文章推荐
- unity 打开文件夹并选择文件
- Android入门:弹出框选择文件夹目录 以及启用新的Task打开文件
- 使用C#选择文件夹、打开文件夹、选择文件
- c#winform选择文件,文件夹,打开指定目录方法
- C#选择文件、选择文件夹、打开文件(或者文件夹)
- unity .exe文件打开时跳过选择窗口界面的方式
- 使用C#选择文件夹、打开文件夹、选择文件
- 打开一个树型目录选择文件夹(不选择文件)
- 使用C#选择文件夹、打开文件夹、选择文件
- 使用C#选择文件夹、打开文件夹、选择文件或者如何使用C#选择文件夹
- c#winform选择文件,文件夹,打开指定目录方法
- Androin学习笔记四十八:弹出框选择文件夹目录 以及启用新的Task打开文件
- unity手动选择文件夹保存文件
- eclipse选择外部程序打开某些文件
- MFC打开文件选择框和多选框,保存文件夹的选择,保存文件路径的选择
- 打开选择文件夹或文件
- 如何用c#打开文件夹并选择文件夹内的一个文件 open folder and select file
- unity 打开外部文件夹多选
- winform 中 将listview数据 以excel格式导出 保存在可选择的文件夹下 但文件打开的时候有问题
- Unity 打开Windows 选择文件