0

SetClipboardViewer を使用してクリップボード イベントを取得しようとしています。関数をオーバーライドすると、Windows フォームで動作します。

protected override void WndProc(ref Message m)

基本クラス System.Windows.Forms に属します。

問題は、Windows サービスで実行したいということです。

Windows サービスでクリップボード イベントを取得する方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

2

クリップボードはセッション (実際にはセッションの winstation ) に属しており、サービス セッションでクリップボードのコピーを行うインタラクティブなユーザーはいません。もちろん、対話型セッションからクリップボードの変更を中継するクリップボード リスナー プロセスを使用できます。ソケット、共有メモリ、名前付きパイプなど、セッション全体で機能する任意のプロトコルを使用できます。Rdpclip.exeは WTS 仮想チャネル経由でデータを送信しますが、Rdpclip.exe はそのように動作します。

クリップボードの内容には、セッションの境界を越えるときに意味があるもの (CF_TEXT など) と、そうでないもの (マップされたドライブからのパスを含む CF_HDROP など) があります。

于 2013-01-10T19:03:44.697 に答える