需求
Unity 打包好的程序舅列,里面有一個坑人的功能:拖拽文件并打開它。就像這樣↓
實現(xiàn)
使用 windows api hook 這個 Unity 窗口声滥,當文件拖入事件在這個窗口中發(fā)生時眉撵,發(fā)出事件,將拖拽進來的所有文件的路徑和鼠標釋放時光標在APP窗口的位置(單位:Pixel)作為事件包含的信息發(fā)送出去落塑。
當我們有了文件路徑和鼠標釋放時的位置纽疟,剩下的事情就好搞了。
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 拖拽文件并打開