c#拖放功能

时间:2010-10-16 06:11:38

标签: c# file drag-and-drop filesystems

简而言之,我想创建一个应用程序,用户可以将文件从他们的finder(mac)或他们的计算机资源管理器(PC)拖到我的应用程序上的某个位置,然后将该拖动的文件加载到应用

我没有任何访问任何拖放事件(据说),因为我正在为所有GUI使用渲染引擎。 (确切地说,这是在Unity3D中制作的)

无论如何,我真正需要知道的是,如何获取用户碰巧在任何特定时间拖动的文件的文件路径。我可以检查文件被拖动的位置,将文件加载到应用程序等等。

任何帮助?

P.S:即使我可能无法访问拖放事件,类名等,但听到它们仍然有帮助!

1 个答案:

答案 0 :(得分:1)

使用WinForms很容易(有那些事件)。

由于您不使用WinForms,因此需要使用WinAPI。 您可以使用RegisterDragDrop FunctionIDropTarget Interface注册窗口以接受拖放活动(或使用您自己的活动)。

[DllImport("ole32.dll")]
static extern int RegisterDragDrop(IntPtr hwnd, IDropTarget pDropTarget);