我在使用此链接上的“Catch Clipboard Events code”时遇到问题:
代码只有在表单停留在前台时才能正常工作,而不是最小化到托盘但是:如果你添加一个notifyicon并将表单最小化到托盘并将showintaskbar变为false(这样你在托盘中只有一个图标),程序不会再抓住任何剪贴板更改...即使你最大化表格,它也不会再工作了......你必须重新启动程序..
关于如何解决这个问题的任何想法!即使表格最小化到托盘中,我怎样才能捕捉到剪贴板的变化!
任何帮助都非常感谢...
由于
答案 0 :(得分:1)
如果最小化它应该工作 - 尽管最小化或隐藏。如果你的“最小化”invovles的实现破坏了窗口,那么该句柄是无效的。现在,剪贴板链因为正在收听下游剪贴板事件而被破坏......
在那里抛出一些调试代码来显示this.Handle as a string(例如:“123456”)。在窗体上的单击事件中调用SetClipboardViewer。单击它,查看数字。最小化,恢复。再次点击。你有相同的号码吗?你应该。如果没有,那就存在问题。剪贴板事件必须转到一个停留的窗口。它可以是后台隐藏的窗口。
- 克里斯
答案 1 :(得分:1)
克里斯