(C#)监听剪贴板

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            AddClipboardFormatListener(this.Handle);
        }

        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_CLIPBOARDUPDATE)
            {
                Console.WriteLine("剪贴板内容改变");
            }
            base.WndProc(ref m);
        }

        //---------------------

        public const int WM_CLIPBOARDUPDATE = 0x031D;

        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool AddClipboardFormatListener(IntPtr hWnd);
        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool RemoveClipboardFormatListener(IntPtr hWnd);
    }

  Form Close事件中再调用RemoveClipboardFormatListener:

RemoveClipboardFormatListener(this.Handle);

  

posted on 2022-08-15 05:23  PER10  阅读(639)  评论(0编辑  收藏  举报

导航