我目前正在用c ++制作一个win32控制台应用程序。
现在,我必须对更改剪贴板内容的用户做出反应。 目前,我只是在检查用户是否按ctrl + c,但是显然这还不够,因为它不会跟踪rightclick-> copy等。
可悲的是,由于我正在开发控制台应用程序,因此我不能仅使用winmessage,因此我的应用程序没有自己的hwnd。
我真的不想每秒复制10次剪贴板数据。 这势必会导致其他程序出现问题,因为我每次都必须锁定和解锁剪贴板。
有什么建议吗?
答案 0 :(得分:2)
要监视剪贴板的更改,可以使用AddClipboardFormatListener API:
将窗口添加到剪贴板格式侦听器列表后,只要剪贴板的内容发生更改,它就会在屏幕上发布WM_CLIPBOARDUPDATE消息。
没有GUI的应用程序可以创建message-only window来接收更改通知:
仅消息窗口使您可以发送和接收消息。它是不可见的。窗口只是调度消息。