Слушатель буфера обмена регистрируется дважды при вырезании - PullRequest
0 голосов
/ 06 сентября 2018

Только когда я что-то режу, это регистрируется 2 раза. Как я могу избежать этого? Есть ли способ узнать, скопировал ли я что-то или вырезал?

Это мой код:

[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AddClipboardFormatListener(IntPtr hwnd);
[DllImport("user32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool RemoveClipboardFormatListener(IntPtr hwnd);
private const int WM_CLIPBOARDUPDATE = 0x031D;

protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            if (m.Msg == WM_CLIPBOARDUPDATE)
            {
                MessageBox.Show(Convert.ToString("update in clipboard"));
            }
        }
...