我想建立一個C#的背景應用程序,將掛鉤鍵盤按鍵(例如CAPS +(A/B/C/....))充當副本到許多不同的剪貼板。編程多個自定義剪貼板,使用Windows剪貼板 - 幾乎沒有併發症
首先,我查找了一個類似CTRL + V的Windows方法:直接粘貼一個完整的字符串。我也嘗試了SendInputs來「粘貼」,錯誤的想法花了很長時間來執行。由於我沒有找到任何商品,我決定使用Windows剪貼板。
的情況是(當我這樣做CAPS + A)
- 緩存剪貼板中的內容進行檢索後
- 模擬一個CTRL + C
- 獲取剪貼板的內容,並將其設置爲可變對應'A'鍵
- 將剪貼板設置爲默認的緩存值。
這個效果很好,當我在記事本上。但是當CTRL + C在另一個應用程序上執行時(正好5秒,剪貼板不能被我的應用程序訪問),我在步驟3得到異常CLIPBRD_E_CANT_OPEN
我的問題: - 有沒有辦法將Windows一個信號讓它「粘貼」一些給定的文本,就像一個CTRL + V,而不使用Windows剪貼板? - 是否有辦法在5秒內強制剪貼板回到我的應用程序? - 我錯過了一個更智能的場景?
謝謝!
模擬鍵擊*完全是錯誤的方式去做這件事。儘管如此,這是一項非常大的工作,而且我聽起來並不像你要完成任務一樣。您可能需要查看現有的開源(甚至是商業)軟件包,而不是使用C#編寫自己的軟件包。我從來沒有嘗試過,但[同上](http://sourceforge.net/projects/ditto-cp/)看起來像剪貼板管理器,你可以看看。 –