- PR -

クリップボードの監視について

1
投稿者投稿内容
会議室デビュー日: 2005/04/17
投稿数: 1
投稿日時: 2005-07-29 02:08
VC++によるWINアプリでクリップボード監視についてです。
.NETの話題でないためスレ違いかもしれませんがよろしくお願いします。

クリップボードにテキストデータがコピーされたメッセージを捕まえて
アプリケーション(dll)側でそのデータを保持したいんですけど上手くいきませんでした。
システムフックを用いてWM_COPYをフックしようとしたのですが
エクスポートする関数が未解決というリンカエラーLK2001がでてだめでした。
ちなみにそのプログラムではすでにキーボードフックを使っているのですが関係あるのでしょうか。

ほかにクリップボードにコピーされたというイベントを捕まえる方法はないでしょうか??またフックを用いたサンプルコード等ありましたら乗せていただけると助かります。
よろしくお願いいたします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-07-29 11:45
引用:

暁さんの書き込み (2005-07-29 02:08) より:
システムフックを用いてWM_COPYをフックしようとしたのですが
エクスポートする関数が未解決というリンカエラーLK2001がでてだめでした。


リンクエラーと複数のフックを登録したのは別に何の関連もないと思います。普通は何の問題もなくビルドできるでしょう。

クリップボードを監視するために、WM_COPYを監視するというのはあまりよい方法ではありません。WM_COPYが発生したタイミングでクリップボードにコピーするか否かは、それぞれのアプリケーションの実装で決まることです。WM_COPY以外のタイミングでもクリップボードにコピーされるかもしれませんし、WM_COPYのタイミングではコピーされないかもしれません。
クリップボードを監視するためのAPI(SetClipboardViewer)が用意されていますので、それを使うのが妥当でしょう。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
1

スキルアップ/キャリアアップ(JOB@IT)