【发布时间】:2011-01-14 16:15:00
【问题描述】:
我想在我的 C# 程序中有这个功能:当用户执行 Ctrl + C 或复制任何地方(即剪贴板内容更改时),我的程序将得到通知,检查内容是否满足一定的条件,如果满足,成为活动程序,处理内容等。
我可以从System.Windows.Forms.Clipboard获取内容,但是,我不知道如何监控剪贴板中的内容变化。
如果使用 Windows Vista 或更高版本,请使用 John Knoeller 的答案中的 AddClipboardFormatListener,对于 Windows XP,我必须使用旧的、更脆弱的 SetClipboardViewer API,如已接受的答案中。
【问题讨论】:
-
如何在 WPF 中执行此操作在这里:stackoverflow.com/a/33018459/2122718
-
SharpClipboard 作为一个库可能会更有好处,因为它将相同的功能封装到一个精细的组件库中。然后,您可以访问其
ClipboardChanged事件并在剪切/复制时检测各种数据格式。