问题 如何捕获和打开在应用程序图标上拖放的文件?


如何打开在应用程序图标上拖放的文档?


3319
2017-10-26 22:50


起源



答案:


您可以在中找到放在EXE上的文档的文件名 ParamStr(1)


15
2017-10-26 22:53



谢谢安德烈亚斯。我有来自早期Delphi的旧代码,它使用DragAcceptFiles和AppMessageHandler以及Msg.Message = WMDropFiles。 (摘自“Delphi 3 - 用户界面设计”一书7-10“获取文件图标的方法”)。也许那时曾经或者不需要,但现在我可以删除正在做的任何事情。 - lkessler
@lkessler,用于放在应用程序的某个窗口/控件上的文件,而不是拖动到启动程序的应用程序图标(即快捷方式或EXE文件本身)上的文件。将文件传递给程序可能会混淆两种不同的技术。 - David M
@DavidM - 好吧,那本书显然正在使用这种技术来制作图标。部分测试是“if IsIconic(Application.Handle)”。那是当时实用Delphi开发的最佳书籍之一。作者是沃伦·科瓦奇。我用了很多东西。我想知道我的代码中是否还有其他恐龙。 - lkessler
@lkessler, IsIconic 是窗口状态的地方 赛跑 应用程序最小化。由于Windows '95这些应用程序显示在任务栏上,但在此之前它们显示为图标。如果您在应用程序的图标上拖动文件,该程序尚未运行,并且没有任何状态。 - Johan
是的,我记得每次LMB被过早关闭时,接收MessageBox('你不能将项目拖动到工具栏。你的拖动操作已经中止')是多么令人讨厌。 - Premature Optimization


答案:


您可以在中找到放在EXE上的文档的文件名 ParamStr(1)


15
2017-10-26 22:53



谢谢安德烈亚斯。我有来自早期Delphi的旧代码,它使用DragAcceptFiles和AppMessageHandler以及Msg.Message = WMDropFiles。 (摘自“Delphi 3 - 用户界面设计”一书7-10“获取文件图标的方法”)。也许那时曾经或者不需要,但现在我可以删除正在做的任何事情。 - lkessler
@lkessler,用于放在应用程序的某个窗口/控件上的文件,而不是拖动到启动程序的应用程序图标(即快捷方式或EXE文件本身)上的文件。将文件传递给程序可能会混淆两种不同的技术。 - David M
@DavidM - 好吧,那本书显然正在使用这种技术来制作图标。部分测试是“if IsIconic(Application.Handle)”。那是当时实用Delphi开发的最佳书籍之一。作者是沃伦·科瓦奇。我用了很多东西。我想知道我的代码中是否还有其他恐龙。 - lkessler
@lkessler, IsIconic 是窗口状态的地方 赛跑 应用程序最小化。由于Windows '95这些应用程序显示在任务栏上,但在此之前它们显示为图标。如果您在应用程序的图标上拖动文件,该程序尚未运行,并且没有任何状态。 - Johan
是的,我记得每次LMB被过早关闭时,接收MessageBox('你不能将项目拖动到工具栏。你的拖动操作已经中止')是多么令人讨厌。 - Premature Optimization