需求
Unity 打包好的程序,里面有一个坑人的功能:拖拽文件并打开它。就像这样↓
没有美术构图将就看~
实现
使用 windows api hook 这个 Unity 窗口,当文件拖入事件在这个窗口中发生时,发出事件,将拖拽进来的所有文件的路径和鼠标释放时光标在APP窗口的位置(单位:Pixel)作为事件包含的信息发送出去。
当我们有了文件路径和鼠标释放时的位置,剩下的事情就好搞了。
Cool,还没写代码就找到了解决方案:见扩展阅读 。
嗯,真香!
动画
Tips:
- 不要企图在Editor下也能好用,unity2018测试可以 2017就不行。
- 登录Administrator的用户组的用户后才能使用这个功能。
- 如果PC登录的用户不是管理员用户组,就算右键以管理员身份运行,拖拽功能也不凑效。
扩展阅读
- Unity输出PC端(Windows) 拖拽文件到app中 - 霍莉雪特 - 博客园
- 文中提到的工程 Bian-Sh/DragFile4unityRT
- Bunny83/UnityWindowsFileDrag-Drop: Adds file drag and drop support for Unity standalong builds on windows.
标签
运行时把文件拖到Unity打包的软件的窗口并获得路径
Standalone(PC) runtime 拖拽文件并打开
网友评论