Windows7での不可解な現象(copy/poppaste)No.31422
Makkie さん 12/07/31 17:43
 
秀丸ご担当殿

秀丸エディタ 8.13, Winsows7(64bitOS)での問題です(常
駐ON, クリップボード履歴ON)。

-----------------------------------------------

selectall;
copy;
escape;
gofileend;
message "[ selectall / copy ] completed";
poppaste;
getcliphist 0;
endmacro;

-------------------------------------------------

というマクロを実行すると

 @copyのところで数秒かかる
      (selectallで表示反転してからメッセージが出るま
        でに数秒)
 Apoppasteで張り付られるテキストが、selectallしたも
    のではない。
      (クリップボード履歴から張り付けられている感じ)

という現象になります。@Aは必ず起こるわけではなく、
PCを使っていて途中からそうなります。そのうち正常に復帰
することもあります。PCを再起動すれば必ず正常になりま
す。@Aを再現させる方法がわかりません。長く使っている
とそうなる感じもします。

上記のマクロは10年来実際に使っているマクロの問題個所
だけを抜き出したものですが、過去にはこういう経験は
ありませんでした。

何か分かるでしょうか。

[ ]
RE:31422 Windows7での不可解な現象(copy/No.31425
秀丸担当 さん 12/08/01 09:34
 

報告ありがとうございます。
症状を見る限りでは、何らかの原因でコピーができていないようです。
poppasteはコピーができていないことによって前のクリップボードの内容がその
まま出てきているのだと思います。

症状が出ているとき、マクロではなくて、普通にCtrl+C,Ctrl+Vでコピー貼り付
けができるかどうかや、メモ帳でもコピー貼り付けができるかがわかると手がか
りになると思います。

クリップボード履歴のようなクリップボードを監視するソフトの応答が遅いと、
コピー処理が遅くなることがあります。
常駐系ソフトでもありえますが、IEやWordなど、普通のアプリケーションでもそ
ういう処理があることがあるので、他のソフトを使われているとしたら教えても
らえると、これもヒントになります。
1つずつ終わらせてみると変化がある可能性もあります。


Google検索してみて得られた情報として、各種ブラウザのアドオン(?)の「Skype
Click to Call」というソフトが入っていると、コピーした内容の形式がテキス
トのみに変化したり、コピーできないといったような情報があるようです。


最近、似た症状としてしばらく使うと貼り付けができないというような情報があ
りました。

 参考スレッド:
 http://www.maruo.co.jp/hidesoft/2/x31366_.html#31366

この件の調査用として、V8.20β32ではデバッグ用のログを取るオプションが追
加されていて詳しいことがわかるので、これで試してもらえると助かります。
以下のページの下のほうの「次のバージョンのβ版はこちら」からダウンロード
できます。

 http://hide.maruo.co.jp/software/hidemaru.html

V8.20β32で、[その他]→[動作環境]→[トラブル対策]で「デバッグモード」を
ONにするとログが記録されます。
症状が出ているときのログの内容がわかると詳しいことがわかるので、もし差し
支えなければ試してもらえると助かります。

[ ]
RE:31425 Windows7での不可解な現象(copy/No.31426
Makkie さん 12/08/02 14:40
 
現象が発生したので調べてみると

 1. 確かに copy がうまくいっていない。
    クリップボードは以前のデータが残ったまま。
    その限りで、poppaste / getcliphist 0 は仕様どおりに
    動いているようだ。

 2. ctrl+C → ctrl+V は正常に動いている(秀丸でコピー・
    ペースト)。

 3. 同時に動いていたアプリ(秀丸メール、秀丸ファイラー)を
    終了しても状況は変わらない(常駐秀丸はそのままで。
  taskmgrの「アプリ」を秀丸だけの状態にする)

 4. ctrl+C の結果が、常駐秀丸のクリップボード履歴画面に反映
    されない(ctrl+C → ctrl+V 自体は正常)

 5. 何回かマクロをためしていると、突如、正常に動作する
    ようになった。

という状況です(8.13)。

[ ]
RE:31425 Windows7での不可解な現象(copy/No.31427
Makkie さん 12/08/02 15:31
 
秀丸担当どの

>
>V8.20β32で、[その他]→[動作環境]→[トラブル対策]で「デバッグモード」を
>ONにするとログが記録されます。
>症状が出ているときのログの内容がわかると詳しいことがわかるので、もし差し
>支えなければ試してもらえると助かります。

β33ですが、症状が出ているときに上記を試してみました。
あと、どうすればよいですか?


[ ]
RE:31427 Windows7での不可解な現象(copy/No.31428
秀丸担当 さん 12/08/02 16:09
 

詳しい情報ありがとうございます。
起きていることがだいたいわかりました。
Ctrl+Cのコピーとマクロのコピーとの違いとして、マクロの場合はpoppasteとの
順序が狂わないようにコピーした後にクリップボード履歴に格納されるまで、最
大5秒待機します。
おそらく数秒というのは5秒だと思います。

秀丸エディタ自身のクリップボード履歴か、または他のクリップボードを監視す
るソフトのどちらかが応答を返さない状態になっていると思われます。

秀丸エディタとしては、応答を返さないものがある場合、秀丸エディタの優先順
位を上げるように修復する対策があります。
クリップボード監視のソフトが60秒間応答しない場合、60秒間は症状が出続
けてしまうのですが、そうとわかった時点で秀丸エディタは修復します。
いろいろしているうちに正常に動作するようになるのは、そういうことだと思い
ます。

>β33ですが、症状が出ているときに上記を試してみました。
>あと、どうすればよいですか?

"PEH00775@nifty.com"まで秀丸担当宛であることを書いて送ってもらえると助か
ります。
内容が短ければここに書いてもらってもいいです。

[ ]
RE:31428 Windows7での不可解な現象(copy/No.31429
Makkie さん 12/08/02 18:28
 
秀丸担当殿

>
>"PEH00775@nifty.com"まで秀丸担当宛であることを書いて送ってもらえると助か
>ります。
>内容が短ければここに書いてもらってもいいです。

ログを貼り付けます。

8.20b33で

・ログにチェックをいれる
・問題のサンプルマクロを実行(→結果は変になる)
・ログのチェックをはずす

という操作で出たログです。

よろしくお願いします。

---------------------------------------------------------------

12/08/02 15:24:04.448 ( 1428) ----コピー実行
12/08/02 15:24:04.463 (57426) TSR: WM_DRAWCLIPBOARD (/)
12/08/02 15:24:12.263 ( 6854)  clipboard data
12/08/02 15:24:12.263 ( 6837)  format=CF_UNICODETEXT handle=01F4008C cbMem=9
6 data:61 00 61 00 61 00 61 00
12/08/02 15:24:12.263 ( 6837)  format=CF_LOCALE handle=00759D78
12/08/02 15:24:12.263 ( 6837)  format=CF_TEXT handle=00732E10 cbMem=48 data:
61 61 61 61 61 0D 0A 62
12/08/02 15:24:12.263 ( 6837)  format=CF_OEMTEXT handle=00733120 cbMem=48 da
ta:61 61 61 61 61 0D 0A 62
12/08/02 15:24:12.263 ( 6894)  format count=4
12/08/02 15:24:14.016 (57536) TSR: POP cliphist
12/08/02 15:24:14.016 (57426) TSR: WM_DRAWCLIPBOARD (/)
12/08/02 15:24:14.016 ( 6911) ----貼り付け実行
12/08/02 15:24:14.032 ( 6854)  clipboard data
12/08/02 15:24:14.032 ( 6837)  format=CF_UNICODETEXT handle=0077A8F0 cbMem=1
4 data:49 00 44 00 2E 00 6D 00
12/08/02 15:24:14.032 ( 6837)  format=CF_LOCALE handle=00759D78
12/08/02 15:24:14.032 ( 6837)  format=CF_TEXT handle=00759D88 cbMem=7 data:4
9 44 2E 6D 61 63 00
12/08/02 15:24:14.048 ( 6837)  format=CF_OEMTEXT handle=00759D98 cbMem=7 dat
a:49 44 2E 6D 61 63 00
12/08/02 15:24:14.048 ( 6894)  format count=4
12/08/02 15:24:14.048 ( 7015) CopyClipboardUnicodeToText OK
12/08/02 15:24:14.063 ( 7184) Paste normal exit
12/08/02 15:24:14.063 (57557) TSR: GET cliphist
12/08/02 15:24:14.063 (57426) TSR: WM_DRAWCLIPBOARD (/)

---------------------------------------------------------------



[ ]
RE:31429 Windows7での不可解な現象(copy/No.31431
秀丸担当 さん 12/08/03 11:21
 

ログの情報ありがとうございます。
調べてみたところ、他のクリップボード監視は無いようで、秀丸エディタ自身に
何か問題があるようです。
それ以上のことはログからはわかりませんでした。
β34で、さらに詳しい情報を取得するようにしてみます。
すみませんがそれで試してみてほしいです。

もしクリップボード履歴に格納できずタイムアウトした場合でもそのままなのは
良くないので、少なくともタイムアウトした場合はエラーメッセージを表示する
ように対策させていただきます。
他の方法で対策できる方法が無いか検討します。

[ ]
RE:31431 Windows7での不可解な現象(copy/No.31433
秀まるお2 さん 12/08/05 22:47
 
 秀丸担当の方でいろいろ修正した上で、さらに僕の方でも追加の修正をしまし
た。

 秀丸エディタのクリップボード履歴は、実は「クリップボードビューワー」っ
ていうWindowsの仕組みを使ってクリップボードを監視してます。今回起きてる
現象は、たぶんこれがうまく機能しない(クリップボードを更新して通知されな
い)ケースがあって、それでおかしくなってるのかなぁという気がします。

 一度おかしくなると、その後秀丸の動作がおかしいままになってしまうことが
あるようなので、もしも通知が来なくてもおかしなままを引きずらないように直
しました。さらにはおかしくなった時のリカバリー関係の処理もいろいろ追加し
てみました。

 おかしくなる現象の再現も、わざと内部のデータを壊したりわざとメッセージ
を破棄する等のテストをして確認したので、大丈夫だと思います。

 ですが、根本的な問題として、そういう取りこぼしが起こりえることはまずい
ので、Windows Vistaから追加された、「クリップボードフォーマットリス
ナー」って仕組みを使ってクリップボードを監視するオプションも追加しました。
「動作環境・トラブル対策」の「その他のトラブル対策」の中に追加しました。

 ということで、まずはV8.20β34をインストールして普通に使っていただきま
して、それでももしダメでしたら、「Clipboard Format Listener」を使う
オプションONでも試してみて欲しいです。

 それでもダメでしたら、お手数ですが、おかしくなる前の段階から「デバッグ
モード」のオプションONでずっと使ってて欲しいです。そうすると、おかしくな
った瞬間のログが取れるはずだと思います。

 実は、前回取っていただいたログは、クリップボードの履歴を取る処理がおか
しくなった後のログになってまして、肝心の、おかしくなった瞬間のログが取れ
てませんでした。

 ということで、お手数かけてすみませんがよろしくお願いします。

[ ]
RE:31433 Windows7での不可解な現象(copy/No.31438
秀まるお2 さん 12/08/06 14:35
 
 クリップボードフォーマットリスナーを使う方式だと、常駐秀丸が起動した直
後にクリップボード履歴を見ても、過去の履歴が何も出てこないってバグが起き
てしまうようでした。

 これはこれで次またβ版にて修正させていただきます。

[ ]
RE:31438 Windows7での不可解な現象(copy/No.31439
Makkie さん 12/08/07 12:09
 
秀丸担当殿

いろいろと対応ありがとうございます。秀丸8.20b34をインストールし
ました。

ちょっと問題があります。

--------------------------------------------
selectall;
copy;
escape;
gofileend;
message "[ selectall / copy ] completed";
poppaste;
getcliphist 0;
endmacro
--------------------------------------------

というマクロ(マクロA)は、現象を再現させるために秀丸用に作成し
たものです。

実際に運用しているマクロ(マクロB)は

    selectall;
    copy;
    message "[ selectall / copy ] completed"; // debug

の部分は秀丸メールのエディタウィンドーで実行し

    poppaste;
    getcliphist 0;

の部分は、秀丸メールから起動した秀丸上で実行する

というようになっています。同じマクロですが、どちらで実行されているかによって
動きが変わります。秀丸メールは5.78です。

秀丸8.20b34をインストールしたあと、秀丸メールから起動したマクロ
Bで現象が発生したので(=メッセージが待たされる。その後の秀丸で
のpoppasteの結果が異常)、その直後に秀丸8.20b34を立ち上げマクロ
Aを起動しましたが再現しませんでした(Clipboard Format Listener
は使用せず)。このスレッドに書き込んだとき(秀丸8.13)、ログを採
取したとき(秀丸8.20b33)は、マクロAで再現したのですが・・・。そ
のあと秀丸メールからマクロBを起動したら正常に処理されました。

というわけで、ログを常時取得することはできないので、秀丸だけで再
現できたら、ログを送ります。

  あと参考情報としては、マクロBは XPでは10年ほど使っていて、
    こういう現象はありませんでした。Windows7でマクロBを使い出し
    たのが最近で、こういう現象に遭遇しています。


[ ]
RE:31439 Windows7での不可解な現象(copy/No.31440
秀まるお2 さん 12/08/07 17:55
 
 今回の状況ですが、もしも秀丸エディタのV8.20β34上で起きたのであれば、
数秒固まった後に「クリップボード履歴の格納に失敗し、タイムアウトしまし
た。」のメッセージが出ないといけないはずです。

 これが出なかったということは、秀丸メール上で現象が起きてしまったのだと
思います。たぶんマクロの「copy;」の所で起きてるんだと思います。

 なので、それについて対処するためには、秀丸メールも対処版を入れていただ
く必要があります。

 ということで、秀丸メールも一覧の対応をしたバージョンを用意しました。こ
れをインストールして使って欲しいです。

32bit版:
http://hide.maruo.co.jp/software/bin/hmmail579b3_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin/hmmail579b3_x64_signed.exe

 秀丸エディタでの「動作環境・トラブル対策」の「デバッグモード」がONだと、
秀丸メールも秀丸エディタと同じログファイル(HidemaruDebugLog.txt)に情報
出力します。なので、とりあえず一度でも現象が起きるまでは、すみませんがデ
バッグモードONで使って欲しいです。

 現象が起きたら、その時刻付近より1分くらい前からのHidemaruDebugLog.txt
の記録を送っていただければ、こちらでどういう状況か判定出来ると思います。

 それと、秀丸エディタV8.20β34での、クリップボード履歴を取る方式を
「Clipboard format listener」にした時のバグも修正して、改めてV8.20β35と
してアップロードしました。これもすみませんが入れ替えお願いします。

32bit版:
http://hide.maruo.co.jp/software/bin/hm820b35_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin/hm820b35_x64_signed.exe

[ ]
RE:31440 Windows7での不可解な現象(copy/No.31441
Makkie さん 12/08/07 18:26
 
秀丸メール578 + 秀丸エディタ820b34(デバッグモードON)で
現象が発生したので、とりあえずログを貼り付けます。

このログで、15:55あたりは正常、15:59あたりが異常です。
異常とは秀丸メールのcopyあたりで時間がかかり、秀丸の
poppaste/getcliphist でも時間がかかっていました。

秀丸メール対策版については別途。

-------------------------------------------------------------

12/08/07 15:55:13.257 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:13.257 (57831) TSR: Hidemaru
12/08/07 15:55:13.257 (55946) TSR: LoadClipHist.Done
12/08/07 15:55:13.257 (55953) TSR: OpenClipboard.Done
12/08/07 15:55:13.272 (55991) TSR: AddClipHist cb=524
12/08/07 15:55:13.272 (57853) TSR: Next
12/08/07 15:55:13.272 (57866) TSR: Done
12/08/07 15:55:14.612 (57872) TSR: POP cliphist
12/08/07 15:55:14.612 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:55:14.752 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:14.752 (57781) TSR: DisableClipHist
12/08/07 15:55:14.752 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:55:14.752 (57853) TSR: Next
12/08/07 15:55:14.768 (57866) TSR: Done
12/08/07 15:55:14.768 (54972) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/07 15:55:14.784 ( 6911) ----貼り付け実行
12/08/07 15:55:14.784 ( 6854)  clipboard data
12/08/07 15:55:14.784 ( 6837)  format=CF_UNICODETEXT handle=007EF228 cbMem=5
24 data:46 00 72 00 6F 00 6D 00
12/08/07 15:55:14.784 ( 6837)  format=CF_LOCALE handle=007D61C0
12/08/07 15:55:14.799 ( 6837)  format=CF_TEXT handle=007EC8F0 cbMem=285 dat
a:46 72 6F 6D 3A 20 20 20
12/08/07 15:55:14.799 ( 6837)  format=CF_OEMTEXT handle=007EF440 cbMem=285 d
ata:46 72 6F 6D 3A 20 20 20
12/08/07 15:55:14.799 ( 6894)  format count=4
12/08/07 15:55:14.799 ( 7015) CopyClipboardUnicodeToText OK
12/08/07 15:55:14.799 ( 7184) Paste normal exit
12/08/07 15:55:14.815 (57907) TSR: GET cliphist
12/08/07 15:55:14.815 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:55:14.924 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:14.924 (57781) TSR: DisableClipHist
12/08/07 15:55:14.924 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:55:14.924 (57853) TSR: Next
12/08/07 15:55:14.924 (57866) TSR: Done
12/08/07 15:55:14.940 (54972) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/07 15:55:19.557 ( 1428) ----コピー実行
12/08/07 15:55:19.573 (58475) TSR: Check
12/08/07 15:55:19.573 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:19.573 (57831) TSR: Hidemaru
12/08/07 15:55:19.573 (55946) TSR: LoadClipHist.Done
12/08/07 15:55:19.588 (55953) TSR: OpenClipboard.Done
12/08/07 15:55:19.588 (55991) TSR: AddClipHist cb=524
12/08/07 15:55:19.588 (57853) TSR: Next
12/08/07 15:55:19.604 (57866) TSR: Done
12/08/07 15:55:19.604 (54972) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/07 15:55:19.682 ( 6854)  clipboard data
12/08/07 15:55:19.682 ( 6837)  format=CF_UNICODETEXT handle=0038007C cbMem=5
24 data:46 00 72 00 6F 00 6D 00
12/08/07 15:55:19.682 ( 6837)  format=CF_LOCALE handle=007D61E0
12/08/07 15:55:19.698 ( 6837)  format=CF_TEXT handle=007F8F00 cbMem=285 dat
a:46 72 6F 6D 3A 20 20 20
12/08/07 15:55:19.698 ( 6837)  format=CF_OEMTEXT handle=007F9DF8 cbMem=285 d
ata:46 72 6F 6D 3A 20 20 20
12/08/07 15:55:19.698 ( 6894)  format count=4
12/08/07 15:55:20.103 (57872) TSR: POP cliphist
12/08/07 15:55:20.103 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:55:20.212 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:20.212 (57781) TSR: DisableClipHist
12/08/07 15:55:20.212 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:55:20.212 (57853) TSR: Next
12/08/07 15:55:20.212 (57866) TSR: Done
12/08/07 15:55:20.228 (54972) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/07 15:55:20.244 (57907) TSR: GET cliphist
12/08/07 15:55:20.244 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:55:20.368 (57732) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/07 15:55:20.368 (57781) TSR: DisableClipHist
12/08/07 15:55:20.368 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:55:20.368 (57853) TSR: Next
12/08/07 15:55:20.384 (57866) TSR: Done
12/08/07 15:55:20.384 (54972) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/07 15:59:05.723 (57872) TSR: POP cliphist
12/08/07 15:59:05.723 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:59:10.747 (54981) TSR: WM_DRAWCLIPBOARDが処理されてないので今か
ら処理します。
12/08/07 15:59:10.747 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:59:10.762 ( 6911) ----貼り付け実行
12/08/07 15:59:10.762 ( 6854)  clipboard data
12/08/07 15:59:10.778 ( 6837)  format=CF_UNICODETEXT handle=007146D0 cbMem=4
2 data:20 00 20 00 08 FF 18 FF
12/08/07 15:59:10.778 ( 6837)  format=CF_LOCALE handle=007368B8
12/08/07 15:59:10.778 ( 6837)  format=CF_TEXT handle=00713168 cbMem=37 data:
20 20 81 69 82 57 81 6A
12/08/07 15:59:10.778 ( 6837)  format=CF_OEMTEXT handle=007136D8 cbMem=37 da
ta:20 20 81 69 82 57 81 6A
12/08/07 15:59:10.778 ( 6894)  format count=4
12/08/07 15:59:10.794 ( 7015) CopyClipboardUnicodeToText OK
12/08/07 15:59:10.794 ( 7184) Paste normal exit
12/08/07 15:59:10.794 (57907) TSR: GET cliphist
12/08/07 15:59:10.794 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:59:15.833 (54981) TSR: WM_DRAWCLIPBOARDが処理されてないので今か
ら処理します。
12/08/07 15:59:15.833 (55946) TSR: LoadClipHist.Done
12/08/07 15:59:15.833 (55953) TSR: OpenClipboard.Done
12/08/07 15:59:15.833 (55991) TSR: AddClipHist cb=524
12/08/07 15:59:15.833 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:59:16.051 (56834) TSR: ResumeClipboardViewer
12/08/07 15:59:16.051 (54060) TSR: g_fDisableClipHist=1
12/08/07 15:59:16.051 (57732) TSR: WM_DRAWCLIPBOARD (/)
12/08/07 15:59:16.051 (57781) TSR: DisableClipHist
12/08/07 15:59:16.051 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:59:16.067 (57853) TSR: Next
12/08/07 15:59:16.067 (57866) TSR: Done
12/08/07 15:59:16.067 (54951) TSR: ResumeClipboardViewer OK soon
12/08/07 15:59:16.082 (54060) TSR: g_fDisableClipHist=0
12/08/07 15:59:16.082 (56836) TSR: ResumeClipboardViewer return

[ ]
RE:31441 Windows7での不可解な現象(copy/No.31442
秀まるお2 さん 12/08/08 09:36
 
 たしかに秀丸のpoppasteで時間がかかってるようです。原因としては、やはり
僕の想像してた通り、WM_DRAWCLIPBOARDってメッセージが届いてないからのよう
です。

 WM_DRAWCLIPBOARDってメッセージは、普通はクリップボードにデータをセット
したらすぐ届く物なんですが、クリップボードを監視するソフトが他にも存在し
ていると、それの処理に時間がかかる場合に、遅延して届く場合があります。な
ので、一応、5秒まで待ってみて、それでも届かなかったら届かないことを前提
とした処理をするようにしました。

 なので、5秒程度固まるのは仕様とさせていただくしか無いです。

 一応、そういう場合でもクリップボード履歴の取りこぼしは起きないようには
なったと思います。



 根本的な原因は、つまり、クリップボードにデータをセットしても
WM_DRAWCLIPBOARDのメッセージが届かないことがあるってことで、これは、可能
性としてですが、常駐秀丸以外にも何かクリップボードを監視するソフトが居て、
それが悪さをしてる可能性が高いです。今回取っていただいたログによると、
ウィンドウのクラス名が「ToolbarWindow32」っていうウィンドウがたしかにク
リップボードを監視してるようなので、そのソフトが悪さをしてる可能性が高い
ように思います。

 具体的にどのソフトがクリップボードを監視してるかは、HidemaruDebugLog.
txtの中に出てくる

    TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)

 のような部分で調べることが出来ると思います。

 例えば秀丸以外のソフトをとにかくすべて終了した状態(他にクリップボード
を監視してるソフトが無いはずの状態)であれば、ここは

    TSR: WM_DRAWCLIPBOARD (/)

 と出てくるはずです。まずはそういう状態になるようにしてみて、そこから普
段利用されてるソフトを1つずつ起動して、「ToolbarWindow32」が出てくる
ソフトを特定すればいいんじゃないかと思います。

 それか、どうしても特定不可能でしたら、「動作環境・トラブル対策・その他
のトラブル対策」の中にある「クリップボードの監視に新しい方式を使う」で対
処してみて欲しいです。

[ ]
RE:31442 Windows7での不可解な現象(copy/No.31443
Makkie さん 12/08/08 14:10
 
秀丸担当殿

いろいろと、対応とご教示ありがとうございます。

秀丸メール579b3 + 秀丸820b35 + デバッグON + ClipboardFormatListener OFF
で再現したときのログ(の終わり付近)を張り付けます。

この間、クリップボードに格納できないというメッセージが出たので、再試行ボ
タンを押しました。その時のログです。全体の処理時間はかかるのですが、copy
→poppaste はうまくいったようです。

この直後に秀丸でログを開いて Ctrl+C とやると、そこでもクリップボードど
うのこうのというメッセージがでました。クリップボードには格納できたようで
す。

以降、ClipboardFormatListener ON で様子を見ます。

必ず起こるというわけではないので、copy→poppaste がうまくいくのであれば、メ
ッセージが出て数秒待たされるのはOKです。

------------------------------------------------------------------------

12/08/08 12:54:44.871 (54989) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/08 12:54:47.759 ( 1428) ----コピー実行
12/08/08 12:54:47.759 (58501) TSR: Check
12/08/08 12:54:47.759 (57758) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/08 12:54:47.775 (57857) TSR: Hidemaru
12/08/08 12:54:47.775 (55963) TSR: LoadClipHist.Done
12/08/08 12:54:47.775 (55970) TSR: OpenClipboard.Done
12/08/08 12:54:47.775 (56008) TSR: AddClipHist cb=524
12/08/08 12:54:47.790 (57879) TSR: Next
12/08/08 12:54:47.790 (57892) TSR: Done
12/08/08 12:54:47.790 (54989) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/08 12:54:47.868 ( 6854)  clipboard data
12/08/08 12:54:47.868 ( 6837)  format=CF_UNICODETEXT handle=023C007C cbMem=5
24 data:46 00 72 00 6F 00 6D 00
12/08/08 12:54:47.868 ( 6837)  format=CF_LOCALE handle=0081D798
12/08/08 12:54:47.868 ( 6837)  format=CF_TEXT handle=0083D5E8 cbMem=285 dat
a:46 72 6F 6D 3A 20 20 20
12/08/08 12:54:47.884 ( 6837)  format=CF_OEMTEXT handle=0083D710 cbMem=285 d
ata:46 72 6F 6D 3A 20 20 20
12/08/08 12:54:47.884 ( 6894)  format count=4
12/08/08 12:54:48.337 (57898) TSR: POP cliphist
12/08/08 12:54:48.337 (54077) TSR: g_fDisableClipHist=1
12/08/08 12:54:48.462 (57758) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/08 12:54:48.462 (57807) TSR: DisableClipHist
12/08/08 12:54:48.462 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:54:48.462 (57879) TSR: Next
12/08/08 12:54:48.477 (57892) TSR: Done
12/08/08 12:54:48.477 (54989) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/08 12:54:48.477 ( 6911) [TK]----貼り付け実行
12/08/08 12:54:48.477 ( 6854) [TK] clipboard data
12/08/08 12:54:48.477 ( 6837) [TK] format=CF_UNICODETEXT handle=00767510 cbM
em=524 data:46 00 72 00 6F 00 6D 00
12/08/08 12:54:48.493 ( 6837) [TK] format=CF_LOCALE handle=05ACAE90
12/08/08 12:54:48.493 ( 6837) [TK] format=CF_TEXT handle=05AE5EB0 cbMem=285
data:46 72 6F 6D 3A 20 20 20
12/08/08 12:54:48.493 ( 6837) [TK] format=CF_OEMTEXT handle=05AE5FF0 cbMem=2
85 data:46 72 6F 6D 3A 20 20 20
12/08/08 12:54:48.493 ( 6894) [TK] format count=4
12/08/08 12:54:48.493 ( 7015) [TK]CopyClipboardUnicodeToText OK
12/08/08 12:54:48.509 ( 7184) [TK]Paste normal exit
12/08/08 12:54:48.524 (57933) TSR: GET cliphist
12/08/08 12:54:48.524 (54077) TSR: g_fDisableClipHist=1
12/08/08 12:54:48.633 (57758) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/08 12:54:48.633 (57807) TSR: DisableClipHist
12/08/08 12:54:48.633 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:54:48.633 (57879) TSR: Next
12/08/08 12:54:48.649 (57892) TSR: Done
12/08/08 12:54:48.649 (54989) TSR: WM_DRAWCLIPBOARD processed in PeekMessage
12/08/08 12:56:36.455 ( 1428) [TK]----コピー実行
12/08/08 12:56:53.290 (57758) TSR: WM_DRAWCLIPBOARD (ToolbarWindow32/)
12/08/08 12:56:53.290 (57857) TSR: Hidemaru
12/08/08 12:56:53.290 (55963) TSR: LoadClipHist.Done
12/08/08 12:56:53.306 (55970) TSR: OpenClipboard.Done
12/08/08 12:56:53.306 (56008) TSR: AddClipHist cb=524
12/08/08 12:56:53.306 (57879) TSR: Next
12/08/08 12:56:53.306 (57892) TSR: Done
12/08/08 12:56:53.321 ( 6854) [TK] clipboard data
12/08/08 12:56:53.321 ( 6837) [TK] format=CF_UNICODETEXT handle=006501B4 cbM
em=524 data:46 00 72 00 6F 00 6D 00
12/08/08 12:56:53.321 ( 6837) [TK] format=CF_LOCALE handle=00775170
12/08/08 12:56:53.321 ( 6837) [TK] format=CF_TEXT handle=05AE5FF0 cbMem=285
data:46 72 6F 6D 3A 20 20 20
12/08/08 12:56:53.337 ( 6837) [TK] format=CF_OEMTEXT handle=05AE6118 cbMem=2
85 data:46 72 6F 6D 3A 20 20 20
12/08/08 12:56:53.337 ( 6894) [TK] format count=4
12/08/08 12:56:55.442 (57898) TSR: POP cliphist
12/08/08 12:56:55.457 (54077) TSR: g_fDisableClipHist=1
12/08/08 12:57:00.482 (54998) TSR: WM_DRAWCLIPBOARDが処理されてないので今か
ら処理します。
12/08/08 12:57:00.482 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:57:00.497 ( 6911) ----貼り付け実行
12/08/08 12:57:00.497 ( 6854)  clipboard data
12/08/08 12:57:00.513 ( 6837)  format=CF_UNICODETEXT handle=0088AAB8 cbMem=5
24 data:46 00 72 00 6F 00 6D 00
12/08/08 12:57:00.513 ( 6837)  format=CF_LOCALE handle=008538D0
12/08/08 12:57:00.513 ( 6837)  format=CF_TEXT handle=0088BE78 cbMem=285 dat
a:46 72 6F 6D 3A 20 20 20
12/08/08 12:57:00.513 ( 6837)  format=CF_OEMTEXT handle=008894D8 cbMem=285 d
ata:46 72 6F 6D 3A 20 20 20
12/08/08 12:57:00.529 ( 6894)  format count=4
12/08/08 12:57:00.529 ( 7015) CopyClipboardUnicodeToText OK
12/08/08 12:57:00.529 ( 7184) Paste normal exit
12/08/08 12:57:00.529 (57933) TSR: GET cliphist
12/08/08 12:57:00.544 (54077) TSR: g_fDisableClipHist=1
12/08/08 12:57:05.569 (54998) TSR: WM_DRAWCLIPBOARDが処理されてないので今か
ら処理します。
12/08/08 12:57:05.569 (55963) TSR: LoadClipHist.Done
12/08/08 12:57:05.569 (55970) TSR: OpenClipboard.Done
12/08/08 12:57:05.584 (56008) TSR: AddClipHist cb=42
12/08/08 12:57:05.584 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:57:05.787 (56856) TSR: ResumeClipboardViewer
12/08/08 12:57:05.787 (54077) TSR: g_fDisableClipHist=1
12/08/08 12:57:05.787 (57758) TSR: WM_DRAWCLIPBOARD (/)
12/08/08 12:57:05.787 (57807) TSR: DisableClipHist
12/08/08 12:57:05.803 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:57:05.803 (57879) TSR: Next
12/08/08 12:57:05.803 (57892) TSR: Done
12/08/08 12:57:05.818 (54968) TSR: ResumeClipboardViewer OK soon
12/08/08 12:57:05.818 (54077) TSR: g_fDisableClipHist=0
12/08/08 12:57:05.818 (56858) TSR: ResumeClipboardViewer return

[ ]
RE:31443 Windows7での不可解な現象(copy/No.31444
秀まるお2 さん 12/08/08 15:09
 
 ログによるとですが、一度クリップボードの通知が来なくなる
(WM_DRAWCLIPBOARDが届かなくなる)と、その後立てつづけにクリップボードの
通知が来なくなるようです。それからしばらくすると(?)勝手に復旧するよう
です。

 クリップボードビューワーの仕組みは、もしも複数のビューワーがあると、1
つ1つのビューワーが、いわゆるチェイン方式で通知を回送させてやらないとい
けない仕組みなので、何かが悪さをすれば通知が来なくなります。

 Clipboard format listenerを使う設定にすれば、そういう問題は出なくなる
と思います。

 悪さをしてるソフトの特定をしておいた方が後々のためになるような気はしま
すけども、とりあえずClipboard format listenerを使う設定で直るかどうか
テストしていただけるのは、それはそれでありがたい所です。

[ ]
RE:31444 Windows7での不可解な現象(copy/No.31445
Makkie さん 12/08/08 17:47
 
秀丸まるお2殿

ログに出てくる
  TSR: WM_DRAWCLIPBOARD (/ToolbarWindow32)
のToolbarWindow32とはGoogleToolbarのようです。

タスクマネージャをみると
  GoogleToolbarNotifier.exe
  GoogleToolbarUser_32.exe
の2つがあり、GoogleToolbarを一時的に無効化して、
タスクマネージャの表示が
  GoogleToolbarNotifier.exe
だけになったときにログを取得すると
  TSR: WM_DRAWCLIPBOARD (/)
となります。

ちなみにGoogleToolbarのバージョンは
  Version: 7.0.1710.2246/ja (FTJA)
  Notifier Version: 5.7.6406.1642
です。IE8です(IE9ではない)。

GoogleToolbarを有効化した状態で、ClipboardFormatListener=ONで
運用してみます。

[ ]
RE:31445 Windows7での不可解な現象(copy/No.31446
秀丸担当 さん 12/08/09 14:52
 

Google Toolbar を入れてみたら、履歴が取れない件が再現できました。
1.常駐秀丸エディタ起動
2.IE起動
3.IE終了
4.copy/poppasteマクロ実行
とすると、数秒固まりました。

エクスプローラでCtrl+Xして切り抜いた半透明アイコンも更新されなくなるので、
Google Toolbar が問題であることは間違いなさそうです。

Clipboard format listener がOFFの場合はしばらくして再試行ダイアログが出
てしまいますが、
Clipboard format listener がONのときは再試行もせず大丈夫になることが確認
できました。

[ ]
RE:31446 Windows7での不可解な現象(copy/No.31453
Makkie さん 12/08/10 09:57
 
私の方もClipboard format listener=ONで運用し始めてから
問題は起きていません(GoogleToolbarはアクティブの状態で)。

もう少し様子をみてからGoogleToolbarを削除します。

(しかしGoogleToolbarはXPの時からずっと使っていたような
 記憶が・・・)

ありがとうございました。


[ ]