喫茶XRAYトップページ

[▲前のスレッド]

[8761] ウィンドウハンドルの取得に注意返信 削除
2015/4/26 (日) 12:23:28 Mr.XRAY
以下のサンプルを更新しました.
[678_他のアプリの操作と IAccessible インターフェイス]
http://mrxray.on.coocan.jp/Delphi/plSamples/678_IAccessibleInterface.htm#03

[679_他のアプリの操作とUI Automation 関係インターフェイス]
http://mrxray.on.coocan.jp/Delphi/plSamples/679_UIAutomation_Test.htm#03

これらのサンプルで修正したのは,FireFox のウインドウハンドルの取得方法です.
これまでは,FindWindow でしたが,EnumWindows を使用するようにしています.

これはどういうことかと言うと,
クラス名が同じウィンドウが複数あって,非可視のウィンドウに対して操作して
しまうと,目的のオブジェクトが見つからない,というものです.
FireFox は特別かも知れませんが,ある意味,重要なことかも知れません.
もちろん,非可視のウィンドウに対して操作したい場合もありますが.
参考までに.


[備考]
FireFox には非可視のウィンドウにも[戻る][進む]があります.
これは可視状態になることもあります.
その主なウィンドウは,メニュー関係のウインドウです.
IAccessible インターフェイス, UI Automation 関係インターフェイス は,
非可視のウインドウやコントロールの情報も取得できます.


[8767] Re:ウィンドウハンドルの取得に注意返信 削除
2015/4/28 (火) 06:48:19 Mr.XRAY
この IAccessible と UI Automation の検索ルーチンですが,
今思い出すと結構苦労したんですよね.

nifty のパソコン通信時代に,Delphi 関係のフォーラムで.
「可愛いコードには旅をさせよ」
と書いている人がいましたが,このコード達は,旅先でどんな経験を
しているのかな.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82