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