著名なクリップボード履歴ソフトの対応
WM_CLIPBOARDUPDATE(もしくはWM_DRAWCLIPBOARD)が複数回発生する事による問題について、著名(*1)なクリップボード履歴ソフトがどう対応しているのか調べてみた。
■ 対応状況
Clibor:
設定に「クリップボード更新時、履歴に格納する処理を遅延させる」という項目があり、その説明がまさに「Excel」対応となっている。また「短時間のクリップボード更新を無視する」という項目も存在する。
Clipboard History:
ヘルプ内に「不具合対策」の項目があり、以下の3点が紹介されている。
(a) Ctrl-C/Ctrl-Xによりクリップボードの内容を取得
クリップボード監視をせず、キーフック(だと思う)により履歴を作成する。ただし、ショートカットキーによるコピーにしか反応しなくなる。
(b) クリップボード履歴取得の前にウェイトを追加する
遅延処理、「目安としては100~2000(ms)程度」らしい。
(c) 特定のアプリ上での履歴取得を禁止する
当然そのアプリでは履歴を取得できない。
CLCL:
オプション内に「コピーの待ち時間」があり、デフォルトが100msとなっている。
ToMoClip:
設定に「履歴取得感度」という項目があり、これが遅延処理の設定のようだ。
(*1) 著名というか、オレが知っているやつ
■ 結論
遅延処理は基本、それ以外の回避策としては、そもそもクリップボードの監視(WM_CLIPBOARDUPDATEの利用)をしない方法があるようだ。
短時間に発生する連続したコピーに対応する方法が明示されているものはCliborの「短時間のクリップボード更新を無視する」しか見つけられなかった。「直前と同じ内容であれば履歴に追加しない」「履歴内にある物は並び替え=古い方を削除」等の対応はどのソフトにもありそうなので、見た目では判断できないし、実用上も問題ないのだろう。
■ 対応状況
Clibor:
設定に「クリップボード更新時、履歴に格納する処理を遅延させる」という項目があり、その説明がまさに「Excel」対応となっている。また「短時間のクリップボード更新を無視する」という項目も存在する。
Clipboard History:
ヘルプ内に「不具合対策」の項目があり、以下の3点が紹介されている。
(a) Ctrl-C/Ctrl-Xによりクリップボードの内容を取得
クリップボード監視をせず、キーフック(だと思う)により履歴を作成する。ただし、ショートカットキーによるコピーにしか反応しなくなる。
(b) クリップボード履歴取得の前にウェイトを追加する
遅延処理、「目安としては100~2000(ms)程度」らしい。
(c) 特定のアプリ上での履歴取得を禁止する
当然そのアプリでは履歴を取得できない。
CLCL:
オプション内に「コピーの待ち時間」があり、デフォルトが100msとなっている。
ToMoClip:
設定に「履歴取得感度」という項目があり、これが遅延処理の設定のようだ。
(*1) 著名というか、オレが知っているやつ
■ 結論
遅延処理は基本、それ以外の回避策としては、そもそもクリップボードの監視(WM_CLIPBOARDUPDATEの利用)をしない方法があるようだ。
短時間に発生する連続したコピーに対応する方法が明示されているものはCliborの「短時間のクリップボード更新を無視する」しか見つけられなかった。「直前と同じ内容であれば履歴に追加しない」「履歴内にある物は並び替え=古い方を削除」等の対応はどのソフトにもありそうなので、見た目では判断できないし、実用上も問題ないのだろう。
この記事へのコメント