2017-10-12 91 views
0

我知道我可以通過使用SetClipboardViewer或通過在鍵盤上掛鉤來添加窗口句柄到剪貼板查看器鏈,以捕獲複製事件。如何在C++中捕獲粘貼事件

但似乎當發生時沒有剪貼板消息傳播(使用CTRL + V,右鍵點擊 - >粘貼或菜單編輯 - >粘貼。

有沒有我們可以捕捉到任何其他方式paste事件?

+3

我不確定這是一個騙局,因爲另一個問題是關於阻止粘貼。我們不知道爲什麼這個問題想要檢測粘貼。當問題結束時,我是中間回答。我寫的是:「沒有真正的粘貼事件可以掛鉤,粘貼是個別應用程序在剪貼板上訪問數據時可以做的事情,因爲某些應用程序出於其他原因訪問剪貼板上的數據,所以沒有辦法讓系統知道何時發生粘貼。「 –

+0

@AdrianMcCarthy:另一個問題是關於*檢測*和*阻塞*粘貼。我給這個關於檢測問題的答案也同樣適用於這個問題。這就是爲什麼我將其標記爲重複的原因。你寫的答案同樣適用於其他問題 –

+0

@RemyLebeau我無法找到你正在談論的其他問題。你介意分享鏈接嗎? –

回答

2

這是正確的,你無法通過查看剪貼板粘貼檢測。 複製到剪貼板是寫操作,你在你的剪貼板查看器看(雖然你不能從切割區分開來)。

從剪貼板粘貼是讀取操作,所以你不這樣做在剪貼板查看器中查看它們,即使您做了,也無法在沒有實際粘貼的情況下區別粘貼和預覽「粘貼特殊」。

全局監控WM_PASTE可能會有所幫助。例如在記事本中,您應該通過Ctrl + V粘貼和上下文菜單粘貼來看到它。但有些應用程序不會使用此消息 - 他們沒有義務。