Unity 打开Windows文件窗口

这篇具有很好参考价值的文章主要介绍了Unity 打开Windows文件窗口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备

  1. Github:ookii-dialogs-winforms,下载后缀为nupkg的文件,修改后缀为rar,解压打开找到Ookii.Dialogs.WinForms.dll
  2. Assets目录下新建css.rsp文件,文件内容为:-r:System.Windows.Forms.dll
  3. API等级调整为.NET Framework
  4. Unity版本2021.3.6f1c1

使用

using Ookii.Dialogs.WinForms;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System;
using UnityEngine;
public class Dialog
{
    [DllImport("user32.dll")]
    private static extern IntPtr GetActiveWindow();
    public void OpenWindowFolder()
    {
        var openFileDialog = new VistaOpenFileDialog();
        openFileDialog.Multiselect = false;//是否多选
        openFileDialog.Title = "Open Folder";//窗口名称
        openFileDialog.InitialDirectory = "D:\\";//首次打开的窗口路径
        openFileDialog.RestoreDirectory = false;//重定向
        openFileDialog.FilterIndex = 1;//过滤索引
        openFileDialog.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png";//选择的文件
        
        try
        {
            if (openFileDialog.ShowDialog(new WindowFolder(GetActiveWindow())) == DialogResult.OK)
            {
                Debug.Log(openFileDialog.FileName);//单个文件路径
                for (int i = 0; i < openFileDialog.FileNames.Length; i++)//多个文件路径
                {
                    Debug.Log("路径" + openFileDialog.FileNames[i]);
                }
            }
        }
        catch (Exception e)
        {
            Debug.Log(e.StackTrace);
            Debug.Log(e.Source);
            Debug.Log(e.Message);
        }
    }
}
using System;
using System.Windows.Forms;
public class WindowFolder : IWin32Window
{
    IntPtr handle;
    public WindowFolder(IntPtr handle)
    {
        this.handle = handle;
    }
    public IntPtr Handle
    {
        get { return handle; }
    }
}

测试

if (GUILayout.Button("test"))
{
    var dialog = new Dialog();
    dialog.OpenWindowFolder();
}

文章来源地址https://www.toymoban.com/news/detail-663279.html

到了这里,关于Unity 打开Windows文件窗口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity功能实现_打开Window的文件/文件夹

    🏆 个人愚见,没事写写笔记 🏆《博客内容》:Unity3D开发内容 🏆🎉欢迎 👍点赞✍评论⭐收藏 🔎目标:打开Window的文件/文件夹 ☀️核心代码 GetOpenFileName和GetSaveFileName都是Windows API中的函数,它们都定义在comdlg32.dll中。这两个函数都是用来显示文件打开或保存对话框的。

    2024年02月02日
    浏览(52)
  • Unity为什么单击动画文件后,没有动画的预览窗口?

    单击一个动画文件之后,没有出现动画的预览窗口(如图0.1)。 动画预览窗口只是被隐藏了,向上拖拉右下角的双横线,即可打开动画预览窗口。(如图0.2) 如图0.3,动画预览窗口显现了。

    2024年02月12日
    浏览(40)
  • 【Unity3D】资源文件 ② ( Unity 中场景文件简介 | 查看场景文件内容 | 场景文件相关操作 | 创建场景 | 打开场景 )

    Unity 编辑器中的 场景文件 是以 \\\" .unity \\\" 为后缀的文件 , 该文件中会记录所有 游戏物体 GameObject , 以及游戏物体的相关数据 , 如下内容都是存储在 场景文件 中的 : 游戏物体 GameObject 节点 : 在 Hierarchy 层级窗口 中 场景文件 下的各个节点 都是游戏物体 , 如 主摄像机 , 光源 , 立

    2024年02月09日
    浏览(39)
  • 在线的max文件转换fbx网站,Unity打开.max文件

    Unity不可以打开.max文件,只有在电脑上安装了3dmax后,才可以导入.max文件,本质上进行了自动转换。 很不错 可以转换小模型 在线的max文件转换fbx网站 http://www.3dwhere.com/conv/all2fbx

    2024年02月11日
    浏览(30)
  • 关于Windows桌面远程后,unity程序无法全屏显示或者显示窗口默认最小化解决方法

    按以下步骤操作 1、Win+R打开运行,然后输入regedit打开注册表 2、根据计算机HKEY_CURRENT_USERSoftwareDefaultCompany路径找到DefaultCompany的文件夹 3、在DefaultCompany文件夹下找到unity打包时exe文件对应名称的文件夹,右键删除整个文件夹,删除后再去启动unity.exe程序即可恢复正常显示画

    2024年04月10日
    浏览(58)
  • Unity 打开文件选择框(Standalone File Browser插件)

    Works in editor and runtime. 支持运行时+编辑器模式 Open file/folder, save file dialogs supported. 支持打开文件/文件夹,以及保存文件 Multiple file selection. 支持文件多选 File extension filter. 支持文件后缀过滤 Mono/IL2CPP backends supported. Linux support by Ricardo Rodrigues. 支持Linux,感谢 Ricardo Rodrigues. Ba

    2024年01月17日
    浏览(29)
  • unity脚本无语法提示,打开是杂项文件,VS没有sln文件解决办法

    困扰好几天,一次性帮你解决,关联unity2019 2020 2021 2022 2023   Visual Studio开发unity无语法提示 unity脚本无语法提示,打开是杂项文件,VS没有sln文件解决办法 没有语法提示是因为打开C#代码时是杂项文件,无法和其他代码文件关联。 VS在有sln文件时把目录当成一个解决方案(项

    2024年02月08日
    浏览(42)
  • Unity3d 2021版本工程打开Visual Studio错误未找到这些文件,将无法加载的问题

    最近是和Unity3d 2021版本杠上了啊,因为需要的一个功能必须用Unity3d 2021版本,所以带出来了这一系列的问题。这个问题是我在Unity编辑器上Open C# Project之后VS会打不开工程,并提示“命令行中指定了以下文件: 未能找到这些文件,将无法加载。”: 而且***.sln、Assembly-CSharp.c

    2024年02月16日
    浏览(38)
  • 在unity里面双击脚本文件,系统自动打开vs之后,界面上没有“解决方案资源管理器”

    在unity里面双击脚本文件,系统自动打开vs之后,界面上没有“解决方案资源管理器”,写部分代码的时候也没有提示。然后在视图里把“解决方案资源管理器”调出来之后上面也不显示这个项目 解决方法: 检查一下Unity 和 Visual Studio 有没有关联 1、打开 Unity项目 2、选择顶部

    2024年02月05日
    浏览(52)
  • WinForm內嵌Unity(Socket通信)

    最近有需求要实现WinForm和Unity交互,也就是通信,查过几个方案有用UnityWebPlayer Control组件的(由于版本问题所以我没尝试),也有把Winform打包成dll动态链接库然后unity内引入的,还有打包Unity.exe然后Winform内嵌入的,后面两种都可以。 一.Winform打包成dll动态链接库然后unity内引

    2024年02月13日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包