【发布时间】:2010-10-13 17:50:04
【问题描述】:
是否可以将(文件、文本)拖放到 WindowsForms 应用程序 (C#) 的任务栏图标上?
我知道托盘图标没有简单的方法(它涉及使用 Win32 API 和挂钩),但我想知道任务栏是否可以。
【问题讨论】:
标签: c# drag-and-drop taskbar
是否可以将(文件、文本)拖放到 WindowsForms 应用程序 (C#) 的任务栏图标上?
我知道托盘图标没有简单的方法(它涉及使用 Win32 API 和挂钩),但我想知道任务栏是否可以。
【问题讨论】:
标签: c# drag-and-drop taskbar
That's not possible,但是如果您在任务栏中将鼠标悬停在最小化窗口上足够长的时间,窗口管理器会自动恢复最小化窗口。恢复后,您可以访问窗口实现的所有放置目标。
【讨论】:
它是可能的,至少在 Windows 7 中。请注意,两个较旧答案所指的博客文章来自 2004 年。在 Windows 7 和可能的早期版本中,可以删除文件如果您在放下时按住 shift 键,则在任务栏上的应用程序上。支持此功能的应用程序示例包括 Firefox、Internet Explorer、记事本等。
为了支持它,你的 exe 需要能够支持命令行myapp.exe <some file path> 并且我相信你需要类似于this SO answer中描述的注册表项。
更新:
我将此添加到我的一个应用程序中,并且它有效。您不需要注册表项。
【讨论】:
app.exe <args> 时,它要么启动并使用参数,要么,如果检测到以前运行的实例,它通过命名管道传递参数。主窗口具有属性ShowInTaskbar="True"。关于缺少什么的任何想法?顺便说一句,该应用程序是 Droplr(适用于 Windows - droplr.com)