所以基本上我有兴趣知道我需要知道哪个Windows api才能在Windows中用鼠标选择文件并将其拖放到我的应用程序窗口
我的申请窗口将由GLFW处理,它基本上处理图像格式,但这并不重要
我有兴趣了解如何在Windows中执行此操作
基本上我有一个想法,我必须引用Windows API,并利用它们的一些功能/方法,并通过一些管道将文件从Windows应用程序移植到我的应用程序
所以,如果你能引导我找到正确的API和一个简短的方法/想法如何做到这一点以及如何运作
由于
答案 0 :(得分:5)
由于您使用的是GLFW,为什么不使用native method处理拖动& GLFW下降?
如果您希望接收窗口中放置的文件和/或目录的路径,请设置文件删除回调。
glfwSetDropCallback(window, drop_callback);
回调函数接收编码为UTF-8的路径数组。
void drop_callback(GLFWwindow* window, int count, const char** paths) { int i; for (i = 0; i < count; i++) handle_dropped_file(paths[i]); }
路径数组及其字符串仅在文件删除回调返回之前有效,因为它们可能是专门为该事件生成的。如果要保留路径,则需要制作数组的深层副本。
答案 1 :(得分:1)
您只需要处理WM_DROPFILES消息。
为了接收你应该在你的窗口上调用DragAcceptFiles来启用它作为D&amp; D目标。