gpt4 book ai didi

c# - NotifyIcon 是否具有 MouseDown 等效项?

转载 作者:太空狗 更新时间:2023-10-29 21:29:24 24 4
gpt4 key购买 nike

我在系统托盘中有一个 NotifyIcon。如何检测用户何时左键单击它?我假设 MouseDown 事件是我想要使用的,但它只处理右键单击和中键单击。对于左键单击,它仅在用户松开后触发(就像他们刚刚执行了正常单击一样)。有没有办法只获取 MouseDown 事件?

最佳答案

这是设计使然,shell 从 up 事件合成了 MouseDown 消息。当您单击并按住按钮然后开始拖动时,您就会明白为什么它会这样工作。请注意通知区域溢出窗口如何弹出并让您将图标拖入其中以将其从可见区域中删除。它不能双向工作。

从技术上讲,您可以 Hook Explorer.exe 拥有的窗口,以便在 Explorer 使用 SetWindowsHookEx() 之前破解消息。然而,这需要一种你不能用 C# 编写的 DLL,它需要注入(inject)到 Explorer 中。非常不稳定,很难击败试图做同样事情的竞争对手。也是导致 Microsoft appcompat 团队彻夜难眠的代码。

关于c# - NotifyIcon 是否具有 MouseDown 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9507789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com