【问题标题】:drag and drop on NotifyIcon in tray in C#在 C# 托盘中拖放 NotifyIcon
【发布时间】:2011-02-14 03:17:53
【问题描述】:

我正在尝试创建一个在托盘中运行的 C# 应用程序,我可以将文件放在它的图标上。 有什么方法可以获取系统托盘图标上放置的文件的路径? System.Windows.Forms.NotifyIcon 没有任何与拖放相关的事件。

【问题讨论】:

    标签: c# drag-and-drop notifyicon


    【解决方案1】:

    不可能做到这一点,简单的方法。 如果光标位于通知图标附近的特殊区域,您可以显示一个虚拟表单。 dummy Form 可以获取被放置文件的文件路径。

    【讨论】:

    • 解决方法也不管用,找不到图标所在的位置。
    • @HansPassant -- Shell_NotifyIconGetRect Win32 API 可用于检索图标的位置。
    • 好吧,只要你注册了guid。
    【解决方案2】:

    它有 az 示例,但它并不完全并且是用 C++ 编写的 :(

    DragnDropOnTrayIcon

    【讨论】:

      【解决方案3】:

      这实际上是可以用一个稍微 hacky 的方法来做的。 Fluffy App 为其文件上传器执行此操作。它使用Spifftastic,它使用一种非常简洁的小方法来识别托盘图标的位置。然后在图标的位置上放置一个透明窗口并用作实际放置目标,但对于最终用户来说,这一切似乎都是在图标上放置文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-30
        • 1970-01-01
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-08
        • 1970-01-01
        相关资源
        最近更新 更多