2008-10-27 73 views
6

我正在開發一個軟件,它需要知道何時發生粘貼事件(通過上下文菜單或ctrl + V)(僅適用於文件/目錄)。或多或少,像TeraCopy或Copy Handler一樣。當您複製並粘貼時,TeraCopy會處理粘貼。
我或多或少知道如何捕獲COPY EVENT,您只需設置ClipboardViewer並捕獲所有全局COPY事件(實際上稱爲:WM_DRAWCLIPBOARD)。你可以在這裏瞭解到這一點: http://www.radsoftware.com.au/articles/clipboardmonitor.aspx 但是ClipBoardViewer並沒有提供抓住粘貼事件的能力。如何掛接全局粘貼事件?

+0

難道他們只是檢測按鍵ctrl + v而不是? – mmiika 2008-10-28 03:13:37

回答

1

通過「粘貼」進行狀態更改的過程對於單個應用程序是特定的,因此在訪問剪貼板後沒有找到應用程序狀態是否改變的神奇方法。

您可以做的最好的檢測應用程序是否從剪貼板檢索數據。同樣,無法知道應用程序如何處理這些數據。這類似於知道有人在不知道他們去哪裏的情況下打開他們的前門,如果有的話。

如果你想嘗試這個,你可以做一些事情,比如掛鉤GetClipboardData函數。有關如何處理系統級API掛鉤的信息,請查看Micrsoft Detours中的示例 - http://research.microsoft.com/sn/detours

-1

但是像Teracopy和Copy Handler這樣的軟件會檢測粘貼事件。我需要幾乎相同的,檢測何時粘貼文件/目錄。

-1

事實上,這個軟件不僅適用於ctrl + v,而且當您點擊上下文菜單中的粘貼選項(右鍵單擊)時也是如此。