剪贴板事件C# [英] Clipboard event C#

查看:330
本文介绍了剪贴板事件C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

时有一个剪贴板更改或更新事件,我可以通过C#访问?

Is there a clipboard changed or updated event that i can access through C#?

推荐答案

我认为你将不得不使用一些的P / Invoke:

I think you'll have to use some p/invoke:

[DllImport("User32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr SetClipboardViewer(IntPtr hWndNewViewer);

请参阅this本文就如何建立一个剪贴板监视器在C#

基本上你使用注册您的应用程序作为一个剪贴板查看器

Basically you register your app as a clipboard viewer using

_ClipboardViewerNext = SetClipboardViewer(this.Handle);

然后您将收到的 WM_DRAWCLIPBOARD 消息,您可以通过覆盖的WndProc 处理:

and then you will recieve the WM_DRAWCLIPBOARD message, which you can handle by overriding WndProc:

protected override void WndProc(ref Message m)
{
    switch ((Win32.Msgs)m.Msg)
    {
        case Win32.Msgs.WM_DRAWCLIPBOARD:
        // Handle clipboard changed
        break;
        // ... 
   }
}

(还有更多的工作要做;通过顺水推舟剪贴板链和注销你的观点,但你可以从<一个href=\"https://web.archive.org/web/20131104125500/http://www.radsoftware.com.au/articles/clipboardmonitor.aspx\">the文章)

这篇关于剪贴板事件C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆