喫茶XRAYトップページ
[
スレッド全体
]
[8761]
ウィンドウハンドルの取得に注意
返信
削除
2015/4/26 (日) 12:23:28
Mr.XRAY
以下のサンプルを更新しました.
[678_他のアプリの操作と IAccessible インターフェイス]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
678_IAcc
essibleI
nterface
.
htm#
03
[679_他のアプリの操作とUI Automation 関係インターフェイス]
http://
mrxray.
on.
coocan.
jp/
Delphi/
plSample
s/
679_UIAu
tomation
_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