zoukankan      html  css  js  c++  java
  • win10监听剪切板变化

    一、第一步导入api

      

     #region 
            [DllImport("user32.dll")]
            public static extern bool AddClipboardFormatListener(IntPtr hwnd);
    
            [DllImport("user32.dll")]
            public static extern bool RemoveClipboardFormatListener(IntPtr hwnd);
    
            private static int WM_CLIPBOARDUPDATE = 0x031D;
    
    #endregion

    二、窗体初始化的时候,开启剪切板切换

      public Form1()
            {
                InitializeComponent();
                AddClipboardFormatListener(this.Handle);
            }

    三、窗体关闭时,移除监听

      protected override void OnClosing(CancelEventArgs e)
            {
                RemoveClipboardFormatListener(this.Handle);
                base.OnClosing(e);
            }

    三、重写窗体的WndProc方法处理监听

      protected override void WndProc(ref Message m)
            {
                if (m.Msg == WM_CLIPBOARDUPDATE)
                {
                    UpdateClipValueList();
                }
                else
                {
                    base.DefWndProc(ref m);
                }
    
            }
    
            private void UpdateClipValueList() {
                //显示剪贴板中的文本信息
                if (Clipboard.ContainsText())
                {
                    label1.Text = Clipboard.GetText();
                }
                //显示剪贴板中的图片信息
                if (Clipboard.ContainsImage())
                {
                    pictureBox1.Image = Clipboard.GetImage();
                    pictureBox1.Update();
                }
            }

    运行结果:

      

  • 相关阅读:
    NSUserDefaults写作和阅读对象定义自己
    JavaScript三在弹出的对话框中
    mybatis02 架构
    mybatis01
    oracle17 视图
    oracle16 例外
    oracle15 pl/sql 分页
    oracle14 复杂数据类型
    oracle13 触发器 变量
    oracle12 pl/sql
  • 原文地址:https://www.cnblogs.com/tangchun/p/9288626.html
Copyright © 2011-2022 走看看