findwindowが動作不良No.08270
colder さん 14/04/18 21:47
 
colderです
マクロでfindwindow関数が正常に動作していないようです(常に0が返ってくる)
確認してもらえますか。
環境 win7 秀丸v8.40β13

[ ]
RE:08270 findwindowが動作不良No.08271
秀丸担当 さん 14/04/21 09:14
 

V8.40β13で確認してみたところでは、問題なく動いているようでした。

例えば無題の秀丸エディタで以下のマクロを実行すると、自分自身のトップレベ
ルのウィンドウハンドルを返します。

  message hex( findwindow( "(無題) - 秀丸" ) );

ちなみに他の秀丸エディタで開いているファイルが無いか探すには、
findhidemaruを使います。

  message str( findhidemaru( "test.txt" ) );

試してみていて気づいた点として、タブモードの場合、以下のようにファイル名
だけでfindwindowを使うと、あたかも動いているように見えていました。(他の
秀丸エディタでtext.txtを開いている場合)

  message str( findwindow( "test.txt" ) );

これは、Windowsのシステムからの通知受け取り用に「text.txt」というタイト
ルのウィンドウが本当に存在するためで、目に見えているウィンドウとは違うも
のになっていて、findhidemaruの返す結果とは違うので注意が必要です。

[ ]
RE:08271 findwindowが動作不良No.08272
colder さん 14/04/21 13:46
 
colderです
そちらでは問題なく動いていましたか。
こちらでさらにいろいろ試した見たところ、一つ再現条件が分かりました。
マクロはUnicodeで保存されている必要があります。
& v8.40β7からうまく動いていないようです。

[ ]
RE:08272 findwindowが動作不良No.08273
秀丸担当 さん 14/04/21 14:42
 

こちらでも再現できました。
ありがとうございます。
確かにUnicodeに関する処理で問題が出るようになってしまっていました。
次のβ版で修正させていただきます。

[ ]