我必须更新 Win32 应用程序才能处理可执行文件图标上的文件拖放操作。 我不确定如何继续。一些研究让我考虑了“WM_DROPFILES”消息,但MSDN syas它是“当用户将文件放在窗口上时发送”,而我不想打开窗口。 想象一个命令行工具“MyProgram.exe”:如果我将“MyFile.file”拖动到桌面上的 Windows 图标“MyProgram”上,我希望它以与键入“">MyProgram MyFile”时相同的方式执行.file”在命令提示符下。
知道如何实现这个结果吗?
虽然应用程序确实可以通过解析命令行免费获得此功能,但如果您需要更多控制,可以实现一个名为 IDropTarget 的 shell 接口。有关更多详细信息,请参阅 MSDN 和 此博客条目。
Windows 会自动为您完成此操作。任何程序 foo.exe 都接受任何文件的拖动。
马丁