1、第一步导入apiapi
#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
2、窗体初始化的时候,开启剪切板切换ide
public Form1() { InitializeComponent(); AddClipboardFormatListener(this.Handle); }
3、窗体关闭时,移除监听this
protected override void OnClosing(CancelEventArgs e) { RemoveClipboardFormatListener(this.Handle); base.OnClosing(e); }
3、重写窗体的WndProc方法处理监听spa
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(); } }
运行结果:code