クリップボードの内容が変わったときに
処理をするにはどうすればいいのでしょうか?
教えて下さい。
タイマーコントロールを使って、一定間隔で監視してはどうでしょうか?
賛成
それはいい案ですね。
なんかしょうもない質問ですいません。
えっと、それでもいいんですけど^^;
それだと、他のアプリケーションがクリップボードを使おうとすると、エラーが出ます。
あとたまに、奇妙な文字列がうしろにくっつきます^^;
(Labelとかに出力した場合)
やっぱりそれだとつらい…。
APIがあったと思うんですけど…?
独占するAPIならいいですね
クリップボードを監視するには
SetClipboardViewer()API
を使ってクリップボードビューアチェインに自ウインドウを追加して、
更に自ウインドウをサブクラス化してWM_DRAWCLIPBOARDやWM_CHANGECBCHAINメッセージを取得して対応しなければいけません。
すると監視することが出来ます。
クリップボード監視関連のAPI
SetClipboardViewer クリップボード ビューア チェインにウィンドウを追加
ChangeClipboardChain クリップボード ビューア チェインからウィンドウを除去
VBでなくDelphiのサンプルだったらあるよ!!。
(VB版は最近時間が無くて作れない・・・)
http://madia.world.coocan.jp/Delphi/tokusen.htm
ツイート | ![]() |