加载中…
个人资料
该用户还没想到昵称
该用户还没想到昵称
  • 博客等级:
  • 博客积分:0
  • 博客访问:53,433
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Unity|打开文件对话框批量选择文件

(2019-03-22 20:27:07)
标签:

unity

分类: Unity3D
    最近在做图片/PDF文件转文字的一个工具,需要实现批量导入外部文件功能,总结一下相关方法。

方法一:使用windows窗体函数
  1. 获取System.Windows.Forms.dll文件:到Unity安装路径( Editor\Data\Mono\lib\mono\2.0)中将System.Windows.Forms.dll复制到相关工程的Plugins目录下;
  2. 修改Edit -> Project Settings -> Player->Other Setting中的API Compatibility Level为.Net 2.0;
  • 相关代码:

Unity|打开文件对话框批量选择文件

  • 缺陷:导入外部文件时,会出现“Could not register the window class. win32 error 0”弹窗。

方法二:使用OpenFileName.cs

Unity|打开文件对话框批量选择文件

Unity|打开文件对话框批量选择文件

Unity|打开文件对话框批量选择文件

  • 相关参数:
  1. 0x00000200(OFN_ALLOWMULTISELECT)指定文件名列表框允许多选。如果同时你设置了 0x00080000(OFN_EXPLORER)标记,对话框使用Explorer风格用户界面;否则它使用旧风格用户界面。
  2. 如果选择了一个以上的文件,lpstrFile缓冲返回当前目录下所有被选择的文件的文件名。对于Explorer风格对话框,目录和文件名是被NULL分隔的,在最后的文件名后带有额外的NULL。这个格式使Explorer风格的对话框能返回包含空格的长文件名。对于旧风格对话框,目录和文件字符串是被空格分隔的,函数为带有空格的文件名使用短文件名。可以使用FindFirstFile函数在短文件名和长文件名之间转换。
  3. 经过测试,“目录和文件名是被NULL分隔的”中的NULL是指\0。
  4. 具体参数参考:https://msdn.microsoft.com/zh-cn/visualc/ms646839(v=vs.80).aspx

——补充(打开文件夹并保存文档)

Unity|打开文件对话框批量选择文件


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有