2017-10-12 4 views
0

Ich weiß, ich kann erfassen Kopie Ereignis durch Hinzufügen der Windows-Griff in die Zwischenablage Viewer-Kette mit der SetClipboardViewer oder durch einen Haken an der Tastatur.Wie zu erfassen Paste-Ereignis in C++

Aber es scheint keine Zwischenablage Nachricht weitergegeben werden, wenn Paste auftritt (entweder mit Strg + v rechten Klick-> Paste oder Menü Bearbeiten-> Einfügen.

Gibt es irgendeine andere Weise, die wir erfassen die Paste Ereignis?

+3

Ich bin mir nicht sicher, dass das ein Betrogener ist, weil die andere Frage über das Blockieren einer Paste ist. Wir wissen nicht, warum diese Frage eine Paste erkennen möchte. Ich war mitten in der Antwort, als die Frage zu Ende war. Was ich geschrieben habe, ist: "Es gibt kein echtes Pastenereignis, das Sie haken können. Das Einfügen ist etwas, was einzelne Anwendungen _might_ tun, wenn sie auf Daten in der Zwischenablage zugreifen. Da einige Apps aus anderen Gründen auf Daten in der Zwischenablage zugreifen, gibt es keine Möglichkeit damit das System weiß, wann eine Paste aufgetreten ist. " –

+0

@AdrianMcCarthy: Die andere Frage betrifft sowohl das Erkennen als auch das Blockieren * einer Paste. Die Antwort, die ich auf diese Frage bezüglich der Erkennung gegeben habe, gilt auch für diese Frage. Deshalb habe ich das als Duplikat markiert. Die Antwort, die du geschrieben hast, würde genauso auf die andere Frage zutreffen: –

+0

@RemyLebeau Ich kann die andere Frage, über die du sprichst, nicht finden. Würde es Ihnen etwas ausmachen, den Link zu teilen? –

Antwort

2

das ist richtig, können Sie nicht Paste erkennen, indem Zwischenablage anzeigen. Kopieren sind Schreibvorgänge in die Zwischenablage kopieren, die Sie in die Zwischenablage-Viewer sehen (auch wenn man sie nicht von Schnitt unterscheiden).

Einfügen aus der Zwischenablage sind Leseoperationen, also nicht Sehen Sie sie in der Zwischenablage-Anzeige an, und selbst wenn Sie dies täten, konnten Sie Einfügen und Vorschau in "Einfügen Spezial" nicht ohne Einfügen erkennen.

Die globale Überwachung von WM_PASTE könnte helfen. Zum Beispiel mit Notepad sollten Sie es mit sowohl Strg + V Einfügen und Kontextmenü einfügen sehen. Einige Anwendungen verwenden diese Nachricht jedoch nicht - sie sind dazu nicht verpflichtet.