C#窗口最小化后,无法监控剪贴板???

cfczdws 2016-11-10 07:10:38
是通过如下方法监控的剪贴板:
[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;

接着注册监听:
AddClipboardFormatListener(this.Handle); 

原本可以监控的,可是再通过这样最小化后:
this.WindowState = FormWindowState.Minimized;

结果就无法监控剪贴板了,
甚至整个 protected override void DefWndProc(ref Message m){ }方法都无效了。
这个是怎么回事啊?
...全文
234 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
观察下handle是否发生了变化
tr0812 2019-06-22
  • 打赏
  • 举报
回复
在Form中,我们如果改变它的一些属性,会导致该Form对应的句柄(Handle)值发生改变。这个时候,如果与之相关的方法没有进行及时更新Handle就会导致无法接受到复制事件。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧