我有與this相同的問題,但在Qt中。如何從系統剪貼板內容粘貼到使用Qt的任意窗口
如何將剪貼板內容粘貼到任意位置*****(模擬CTRL + V)在Qt中?
*****粘貼您的Qt應用程序之外剪貼板不按CTRL + V
我有與this相同的問題,但在Qt中。如何從系統剪貼板內容粘貼到使用Qt的任意窗口
如何將剪貼板內容粘貼到任意位置*****(模擬CTRL + V)在Qt中?
*****粘貼您的Qt應用程序之外剪貼板不按CTRL + V
我敢肯定,你將不得不求助於平臺的具體細節。
首先,你將不知何故必須得到先前活動的應用程序的ID /句柄。在Windows中,這可以使用GetWindow()
來完成,如here所述。在EWMH窗口管理器中,您可以使用_NET_CLIENT_LIST_STACKING屬性。
其次,您必須要求該窗口執行粘貼操作。再次,在Windows中,SendMessage(window, WM_PASTE, 0, 0)
(文檔爲[SendMessage]和WM_PASTE)。我其實不確定你將如何在X11中實現這一點。
有大約70 000個病例,上述方法不起作用,但也許它可以讓你開始嗎?
您需要使用QClipboard類。
但我不確定要理解這個問題。 「任意位置」是什麼意思?你想在你的Qt應用程序之外粘貼剪貼板嗎? (我不認爲X11和ICCCM和 EWMH啓用)。
QClipboard類沒有這樣的功能,它只給你剪貼板的內容,讓你操縱它,這就是全部。我想要的是在沒有真正按下組合鍵的情況下觸發CTRL + V行爲。 – destan
謝謝你,這對我來說是一個很好的起點 – destan