wnd_strについて
モチベーション
mayuでウインドウの指定に使われる文字列があります。クラス名, タイトル名, モジュール名の3つから構成され、クラスとタイトルはウインドウの親子構造を表します。
ウインドウの指定に使って便利なら、ウインドウハンドルの取得にこれを使うのもまた便利なのでは、という考えから、find_wnd_strを作ってみました。
例
親子関係の入り組んだウインドウのハンドルを得るには、普通、何度もGetWindow等を繰り返すことになり、非常に面倒です。しかし、wnd_strを使えば、例えばWordWebの入力窓を得る場合、
find_wnd_str(Window.Find('TTHeDi' 'WordWeb') ':TTHeDi:TPanel:TWWComboBox.UnicodeClass:Edit')
これで済みます。
第一引数の親ウインドウの指定を0にすることで、全てのウインドウを対象にできますが、ウインドウの数が多かったり、CPUが遅かったりすると非常に時間がかかります。
補足
文字列を得るには、得たいウインドウにフォーカスを合わせ、
include('wnd_str') set-cb& make_wnd_str(Window.GetFocus)
をホットキーで実行するといいでしょう。3つの文字列が改行区切りでクリップボードにコピーされます。