【问题标题】:how to detect COPY/PASTE event on mouse right click event in C#?如何在 C# 中检测鼠标右键单击事件上的 COPY/PASTE 事件?
【发布时间】:2015-08-11 23:16:43
【问题描述】:

我能够捕捉到鼠标的右键单击,但我想捕捉 RIGHT CLICK + COPY/PASTE 事件

我试图在网上搜索,但无法得到一个正确的答案。

【问题讨论】:

  • 它有哪些上下文? Windows 窗体?
  • 是的,我想在所有应用程序中捕获它
  • 没有一个单一,“正确”的答案,因为它比您想象的要复杂。您可以捕获 WM_PASTE,但这只会捕获基本的编辑控件。丰富的编辑控件,如 RichTextBox,以不同的方式处理它(并且仅在某些最低限度的操作系统上)。您能否更具体地说明要在哪些类型的控件上粘贴粘贴?
  • 实际上我想做的是我想在全球范围内捕获所有复制粘贴事件。现在我可以使用按键事件获取 ctrl + c 和 ctrl+ v 事件,但我想跟踪用户何时使用鼠标全局复制或粘贴。现在我能够检测到鼠标右键单击事件。

标签: c# .net-4.5


【解决方案1】:

我在另一篇文章中发现了一些有用的提示:

如果你想自己处理粘贴操作,甚至在它之前 发生这种情况时,您将不得不截取 WM_PASTE 消息到文本 盒子。一种方法是创建一个专门的控件。

您可以找到代码here

【讨论】:

    【解决方案2】:

    我不清楚问题
    如果您要添加细节,我会尽力提供帮助

    我使用 ContextMenu 执行您可能要求的操作
    这是剪切,但你会使用粘贴
    CopyToDigest 将是您的自定义处理程序

    CommandBindings.Add(new CommandBinding(ApplicationCommands.Cut, CopyToDigest, CopyToDigestOK));
    

    我是从 McDonnald 的 Pro WPF 一书中得到的

    【讨论】:

      猜你喜欢
      • 2012-03-20
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      相关资源
      最近更新 更多