简而言之,我想创建一个应用程序,用户可以将文件从他们的finder(mac)或他们的计算机资源管理器(PC)拖到我的应用程序上的某个位置,然后将该拖动的文件加载到应用
我没有任何访问任何拖放事件(据说),因为我正在为所有GUI使用渲染引擎。 (确切地说,这是在Unity3D中制作的)
无论如何,我真正需要知道的是,如何获取用户碰巧在任何特定时间拖动的文件的文件路径。我可以检查文件被拖动的位置,将文件加载到应用程序等等。
任何帮助?
P.S:即使我可能无法访问拖放事件,类名等,但听到它们仍然有帮助!
答案 0 :(得分:1)
使用WinForms很容易(有那些事件)。
由于您不使用WinForms,因此需要使用WinAPI。 您可以使用RegisterDragDrop Function和IDropTarget Interface注册窗口以接受拖放活动(或使用您自己的活动)。
[DllImport("ole32.dll")]
static extern int RegisterDragDrop(IntPtr hwnd, IDropTarget pDropTarget);