AlterForce Corporation(オルタフォース 株式会社)

RBF Analyzer User's Guide ご利用ガイド RBF Ver. 1.1.6 系
Newest Version: Update:

Currently Details site is in Japanese. If you want to display in another language,
Please use the translation function of your browser.

      RBA RogoIcon

Menu
用語の説明
RBF Analyzer の起動方法

 API Method 引数の調査方法
FindWindowHnd()
SetWindowSizeAdjust()
KeyboardTyping()
UIAuto()
GetWindowPixcel()
MouseClick()

Javaアプリ画面制御について
外国語OSについて



       

はじめに

この度は、RBF Application Analyzer のご利用誠にありがとうございます。
RBF Analyzer は、RBF API で UI操作する下記の API 引数のシミュレーション及び引数を調査する
ソフトウェアです。

FindWindowHnd()
SetWindowSizeAdjust()
KeyboardTyping()
UIAuto()
GetWindowPixcel()
MouseClick()

表示される各画面のアイテムにマウスカーソルを持って行くとバルーンメッセージで説明が表示されます。
ご利用ガイドでは、説明の表示が無い項目や画面説明の詳細説明となります。

この「ご利用ガイド」の内容を確認し、本ソフトウェアをより良く活用できるようお役立て下さい。
尚、このサイトの説明は、リファレンスマニュアルで上記の RBF API の説明を一読されている事を前提に
記載しております。


本ソフトウェアへの機能やAPI等のリクエストは、積極的に取り入れて行きたいと考えております。
APIや機能等のリクエストは、本ソフトウェアの入手先、または当社まで ご連絡 ください。

 






用語の説明
本ソフトウェアで使用される用語を説明します。

用語 説明
ウィンドウハンドル Windowsが各ウィンドウに割り振る管理番号でウィンドウをプログラムから識別させる番号です。
この番号は、ウィンドウ構造体へのポインター(ハンドル)となります。
プログラムでウィンドウハンドルに対応したウィンドウの動作と外観、及び入出力(UI操作)を制御
します。
ウィンドウハンドルは、ツリー構造でWindowsに登録されて管理されております。
デスクトップ画面がツリー構造のルートとなります。
トップ(親)クラス ウィンドウに付けられている内部の名前です。
同じクラス名のウィンドウでは、同じ動作と外観、及び入出力(UI操作)の制御となります。
トップ(親)クラスとは、アプリケーションが作成した最初の表示のウィンドウ画面を言います。
ツリー構造のルート(起点)となります。
クラスとは、表示用の関数(API)名と同じ意味を示します。
子クラス トップ(親)クラスの配下にあるウィンドウに付けられている内部の名前です。
ツリー構造上の親ウィンドウ(起点)の配下のウィンドウをRBFでは、子ウィンドウと言っております。
トップ(親)クラスのテキスト トップ(親)クラス名の名前を言います。
トップ(親)クラス名のテキストとは、一般的にウィンドウ画面のタイトル名などで表示されます。
トップ(親)クラス名が同じでも表示ではテキスト名を異なる事ができます。
共通のトップ(親)クラス名では、同じ動作と外観、及び入出力(UI操作)となります。
一般的にキャプション(Caption)と言われておりますが、RBF では、クラスのテキスト名と言っております。
クラスのテキストとは、表示用の関数(API)名の引数にテキストを渡して、ウィンドウ構造体へ設定されることで表示もテキスト名となるのと同じ意味を示します。
子クラスのテキスト 子クラス名に付けられている名前を言います。
子クラス名のテキストとは、親クラスのテキスト名と同様に、一般的にウィンドウ画面内に表示されているボタンの名前などで表示されます。
子クラス名が同じでも、表示ではテキスト名は異なる事ができます。
共通の子クラス名では、同じ動作と外観、及び入出力(UI操作)となります。
Zオーダー スクリーン画面の位置を示す座標では、3次元座標と同じく X方向、Y方向、Z方向があり、
Z方向を Zオーダーと言います。 この Zオーダーとは、モニターへの視点からの距離(深度もしくはZ値)の順序(オーダー)を言います。
RBFでは、最前面にあるウィンドウ画面の座標を 0(ゼロ)として、背後にある画面が1となります。
背後に表示されているほど Zオーダー値が大きくなります。
View No. RBF Analyzer (API)でウィンドウハンドルに付随するオブジェクト要素などで画面を走査した時に、 ターゲットの表示が同じ条件で複数存在した場合で、ターゲットにたどり着くまでに同じ条件で見つかった回数を言います。
同じ条件の表示オブジェクト(ウィンドウ、要素など)を View No. でスキップさせる事でターゲットの表示オブジェクトにたどり着けるまでの番号を言います。



ページトップへ 



RBF Analyzer の起動方法

本ソフトウェアをインストール、または起動されますとデスクトップ画面下にあるタスクバーにRBFアイコンが表示されます。
表示されてない場合、^ をクリックしてRBFアイコンをタスクバーにドラッグ&ドロップして移動させて下さい。

Taskbar

RBFアイコンをクリックしますとRBFランチャー画面が表示されます。



RBF_Launcher

RBFランチャーの RBF Application Analyzer タイトルアイコンをクリックしますと、RBF Analyzer が起動され画面が表示されます。






ページトップへ 



RBF Analyzer 画面

RBF Analyzer が起動され画面が表示されます。

下記の画面は、UI操作したいウィンドウ画面が選択された時の画面です。
RBF Analyzer Screen



ページトップへ 



FindWindowHnd() 引数の調査方法


終端RBFホストのウィンドウを制御したい場合、目的のウィンドウのウィンドウハンドルを取得する必要があります。
FindWindowHnd()メソッドは、そのウィンドウハンドルを取得するAPIメソッドです。

1. 操作(ウィンドウハンドルを取得)したいウィンドウ画面を表示します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

操作したいウィンドウ画面の上に移動させドロップすると RBF Analyzer の画面に FindWindowHnd()メソッドの
引数に設定する情報が表示されます。

ドラッグ中でマウスカーソルが移動中に表示される四角形の枠は、
水色 :選択されているウィンドウ画面(ウィンドウハンドルを持っているウィンドウ オブジェクト(ボタン等)
赤色 :UI Tree DB の オブジェクト要素(RBF API UI Auto()で使用)
となります。

RBF Analyzer の表示項目 と FindWindowHnd() 引数名の対応表
表示名 引数名 説明
Parent / Class top_class ウィンドウ画面のトップ(親)ウィンドウクラス名
Parent / Text top_text トップ(親)ウィンドウクラス名に付随するテキスト名
Child / Class child_class トップ(親)ウィンドウに付随する子ウィンドウクラス名
Child / Text child_text 子ウィンドウクラス名に付随するテキスト名
Z Order / Parent top_zorder トップ(親)ウィンドウのZオーダー番号
Z Order / Child child_zorder 子ウィンドウのZオーダー番号

表示されているテキスト名の左のコピーアイコン CopyIcon をクリックしますと、クリップボードにコピーされますので、
プログラムソースにある FindWindowHnd() の引数に設定します。

一般的にウィンドウクラス名は、ウィンドウ画面毎に必ず固定ですが、テキスト名は、表示するウィンドウ画面の内容により
変更される場合があります。
その場合は、テキスト名にワイルドカード文字を指定して目的のウィンドウ画面を検索します。

例えば、Microsoft Edge のウィンドウ画面である場合

 トップクラス名 : "Chrome_WidgetWin_1"
 トップテキスト名: "<ホームページタイトル名>" + "- 個人 - Microsoft Edge"

Robowiser Framework サイトの表示であれば、ワイルドカード文字を指定して
トップクラス名 : "Chrome_WidgetWin_1"
トップテキスト名: "Robowiser Framework*"
とすることで、目的のウィンドウハンドルを取得します。

FindWindowHnd()に引数を設定するデータが実際に取得できるかどうかを RBF Analyzer で検証します。
FindWindow Button ボタンをクリックするのと FindWindowHnd()に引数を設定した検索と同じ実行となりますので
目的のウィンドウ画面が検索できる引数の文字パターンを RBF Analyzer でシミュレーションします。

子クラス名と子テキスト名を空欄にしますと、トップ(親)ウィンドウのみが検索の対象となります。

目的のウィンドウの検索に成功しますと、マウスカーソルが検索されたウィンドウの中心に移動してウィンドウ画面が
赤い枠に囲まれて約2秒表示されます。
マウスカーソルが中心に移動された状態で、マウスカーソルを2秒以上動かさないと元の位置に戻ります。
目的のウィンドウの検索に失敗しますと、ウィンドウが見つかりませんなどのポップアップウィンドウが表示されます。



マウスカーソルの ドラッグ & ドロップ でウィンドウ画面が
選択できないウィンドウ画面を選択する方法


スタートボタンをクリックして表示されるスタートメニュー画面などのポップアップ系のウィンドウ画面のウィンドウハンドル
を取得する引数を調べたい場合の RBF Analyzer の操作方法は2通りあります。

最初に、取得したウィンドウ情報(ウィンドウハンドル)が実際に表示されているかを同期させる [表示画面同期]

English
Scan Option Box
     Japanese
Scan Option Box

のチェックを外して下さい。

2通りの操作方法
English
Window Capture Box
     Japanese
Window Capture Box

1.[経過時間後に取得] で指定された秒数後のマウスカーソル配下のウィンドウ画面の情報を取得する方法
  Exec Capture Button ボタンをクリックしますと RBF Analyzer 画面が非表示になり、指定された時間経過後の
  マウスカーソル配下のウィンドウ情報を取得して RBF Analyzer 画面が表示されます。

2.[検索サイクル時間] で指定された秒数後のマウスカーソル配下のウィンドウ画面の情報を取得する方法
  Run Button ボタンをクリックしますと指定された検索サイクル時間後のマウスカーソル配下のウィンドウ情報を
  サイクル時間の間隔で取得し続けます。
  RBF Analyzer 画面にマウスカーソルを移動しますとマウスカーソル配下のウィンドウ情報の取得は一時停止します。
  取得したウィンドウ情報をマウスカーソル移動中にサイクル時間になり更新されたく無い場合に有効です。
  停止する場合は、 Run Button ボタンをクリックします。





ページトップへ 



SetWindowSizeAdjust() 引数の調査方法


終端RBFホストのウィンドウ画面でUI操作するウィンドウ画面をデスクトップ画面内に全て表示させる為にウィンドウ画面の
表示座標、及び幅と高さを調整する SetWindowSizeAdjust() メソッドに設定する引数を調べる場合の RBF Analyzer の
操作の説明です。

1. 表示位置とサイズ(幅、高さ)を調整したいウィンドウ画面を表示して、UI操作する時の表示位置とサイズに操作します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

操作したいウィンドウ画面の上に移動させドロップすると RBF Analyzer の画面に SetWindowSizeAdjust()メソッドの
引数に設定する情報が表示されます。

例えば、実際に Microsoft Edge のウィンドウ画面である場合は、下記のように表示されます。
WinExeSizeBox

RBF API SetWindowSizeAdjust() メソッドの引数には
 screen_x = 601
 screen_y = 99
 width_x = 921
 hight_y = 820
を設定します。

RBF Analyzer 画面の表示 HDL は、取得したウィンドウハンドルの16進表示を示します。

[補足]
上記の画面に表示されいる実行ファイル情報は、ウィンドウ画面を表示しているフルパスの実行ファイル名です。
ウィンドウ画面を表示している実行ファイルが不明な場合でも RBF Analyzer 画面で取得する事ができます。




ページトップへ 



KeyboardTyping() 引数の調査方法


終端RBFホストのウィンドウ画面でキーボード入力させる KeyboardTyping()メソッド 引数の仮想キーコードの文字列データを事前に
シミュレーション(確認)したい場合の RBF Analyzer の操作の説明です。

1. キーボード入力したいウィンドウ画面を表示します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

キーボード入力したいウィンドウ画面内の入力ボックスの上に移動させドロップして選択します。

ドラッグ中でマウスカーソルが移動中に表示される四角形の枠は、
水色 :選択されているウィンドウ画面(ウィンドウハンドルを持っているウィンドウ オブジェクト(ボタン等)
赤色 :UI Tree DB の オブジェクト要素(RBF API UI Auto()で使用)
となります。
キーボード入力したい入力ボックスは、必ず 水色 で囲まれている必要があります。
水色で囲まれない場合は、RBF API UIAuto() メソッドで入力します。
逆に RBF API UIAuto() メソッドで入力できない場合に RBF API UIAuto() メソッドで入力ボックスをフォーカス
して KeyboardTyping()メソッド で入力します。

【補足】
KeyboardTyping()メソッドは、キーボードを制御するメソッドですので、キーボード入力は必ずフォアグラウンド化
されたウィンドウで入力ボックスがフォーカスされている必要がある為です。
RBF Analyzer 及び KeyboardTyping()は、指定されたウィンドウハンドルをフォアグラウンド化してキーボード入力が
実行されます。

【フォアグラウンド化とは】
Windowsは、同時に複数のアプリケーションが実行されるマルチタスクですが、対するキーボードとマウスは1つしかありません。
この為、複数のアプリケーションがキーボードを共有することになり、そのキーボード入力をある1つのアプリケーションが占有
して使用するには必ずアプリケーションに対応したウィンドウがアクティブ化され「フォアグラウンド化」されている必要があり
ます。

3. RBF Analyzer 画面の下記 Keycode Send で仮想キーコードを入力(送信)します。
English
SendKeycodeBox
   Japanese
SendKeycodeBox

入力する仮想キーコードの文字は、リファレンスマニュアルを参照ください。
良く使用する仮想キーボードの文字で、ショートカット文字の一覧は、 Shortcat Key List Button ボタンをクリックしますと
一覧画面が表示されます。

仮想キーコードの入力は、 Send Button ボタンをクリックします。
RBF Analyzer の場合、ウィンドウ画面に入力ボックス等が複数ある場合は、事前に目的の入力ボックスをフォーカスしてから
Send Button ボタンをクリックして下さい。


表示されている Keycode Send 入力ボックスの右のコピーアイコン CopyIcon をクリックしますと、クリップボードにコピーされますので、
プログラムソースにある KeyboardTyping() メソッドの引数 key_stroke に設定します。




ページトップへ 



UIAuto() 引数の調査方法


終端RBFホストのウィンドウ画面でUI操作する UI Auto() メソッドの引数を取得する操作の説明です。

1. UI操作したいウィンドウ画面を表示します。
2. ウィンドウ画面からUI操作したいオブジェクト要素を選択します。
RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

ドラッグ中でマウスカーソルが移動中に表示される四角形の枠は、
水色 :現在、選択されているウィンドウ画面(ウィンドウハンドルを持っているウィンドウ オブジェクト)
赤色 :現在、選択されている UI Tree DB の オブジェクト要素
となります。

ウィンドウ画面に表示されているオブジェクト要素上に移動させドロップすると RBF Analyzer の画面に
UI Tree DB のオブジェクト要素が一覧として全てリスト表示され、先ほどドロップして選択したオブジェクト
要素がリスト表示で選択されます。
オブジェクト要素の一覧は、Finder アイコンのマウスカーソル配下にあるウィンドウ (水色で囲まれたウィンドウ)
のウィンドウハンドルを UI Tree DB のツリー構造のルートとした全てのオブジェクト要素がリスト表示されます。
トップ(親)ウィンドウを選択するとウィンドウ画面全てのオブジェクト要素がリスト表示されます。
子ウィンドウを選択した場合は、オブジェクト要素が1つのみの場合もあります。

RBF Analyzer 右側に表示されているオブジェクト要素のリスト表示のいずれかをクリックしますと
選択されたオブジェクト要素が実際に表示されている座標を四角形で囲まれた枠で赤色で約3秒間表示されます。
リスト表示されているオブジェクト要素を 矢印キー ↑ または ↓ で選択を移動された場合でも対応する
要素が四角形枠で赤色で約3秒間表示されます。
連続して矢印キー ↑ または ↓ を入力することで UI Tree DB のオブジェクト要素全体の配置パターンを目視する
ことができます。


オブジェクト要素を四角枠で囲んだ赤色表示がずれる場合

ファインダーアイコンでオブジェクト要素を選択した時の状態をスナップショットしたオブジェクト要素がリスト表示
されております。 このとき 各オブジェクト要素が、スナップショットされた位置を取得しております。

ウィンドウ画面の表示をスクロールしたり、オブジェクト要素の位置やサイズが変更されるなど、画面のコンテンツが
変更されますとオブジェクト要素の四角形で囲まれた赤色表示が実際の表示位置からずれる場合がございます。

この場合は、 Refresh Button Blue ボタンをクリックして 表示を更新するか、再度、ファインダーアイコンでオブジェクト
要素を選択してください。
尚、オブジェクト要素の四角で囲まれた赤色表示位置が適切でないことを検知しますと Refresh Button Blue ボタンの文字
が青色に変化します。
ブラウザに表示されている動的コンテンツなど内部のオブジェクト要素が変更になったことも知る事ができます。


3. RBF Analyzer の下記の表示エリアで、UI Auto()メソッドの引数に設定する値をシミュレーションします。
オブジェクト要素を選択されますと下記のように選択されたオブジェクト要素を UIAuto() メソッドの検索に必要な
データが表示されます。

下記、表示されているのデータは、説明用のサンプルです。
UIAuto Object Element Input

RBF Analyzer の表示項目 と UIAuto() 引数名の対応表
表示名 引数名 説明
CTRL Type ctrl_type 検索条件のオブジェクト要素のコントロールタイプ
Text text 検索条件のオブジェクト要素のText
Value value 検索条件のオブジェクト要素のValue
Inner ID innerid 検索条件のオブジェクト要素のInner ID
Tree Index treeindex 検索条件のツリーインデックス
View No. view_no 指定の検索条件で UI Tree DB の Root から検索して見つかった順番
Property property Out:オブジェクト要素のプロパティ


Inner ID は、アプリやHTML(CGI)の開発者が内部でオブジェクト等を識別される為に割り付けてられているIDですので
一般的に Inner ID は、必ず固定ですが、Text、Value、変更される場合があります。
その場合は、Text、Value、ワイルドカード文字を指定して目的のオブジェクト要素を検索します。

例えば、ブラウザのウィンドウ画面である場合

 CTRL Type:Hyperlink 50005 (0xC355)
 Text          : "Robowiser for User's Guide" → ブラウザで表示される文字
 Value        : "https://www.robowiser.com/userguide/" → クリックすると移動先のURL
 Inner ID    : ""

Robowiser Framework サイトの表示であれば、ワイルドカード文字を指定して
 Text          : "Robowiser*"
 Value        : "https://www.robowiser.com/userguide/*"
とすることで、目的のオブジェクト要素を取得します。
このように固定となる文字列の箇所を見出す必要があります。


【Invoke機能が 無効であるオブジェクト要素について】
オブジェクト要素のコントロールタイプで下記のコントロールタイプが、現時点での Windows の仕様より
Invoke に対応しております。

UIA_BUTTON_CONTROLTYPEID (50000)
UIA_HYPERLINK_CONTROLTYPEID (50005)
UIA_LISTITEM_CONTROLTYPEID (50007)
UIA_MENUITEM_CONTROLTYPEID (50011)
UIA_TREEITEM_CONTROLTYPEID (50024)
UIA_SPLITBUTTON_CONTROLTYPEID (50031)
UIA_HEADER_CONTROLTYPEID (50034)

Invokeが、無効である場合は、 Exec Invoke Button White ボタンの文字が Exec Invoke Button Red 赤色に変化します。
Invoke機能が無効の場合で、[Exec Invoke] ボタンをクリックしますとオブジェクト要素の四角形の
中心座標をマウスによりクリックが実行されます。
実際にマウスでクリックできるのに Invokeが無効である為、マウスでクリックするようにしたものです。

Invokeが無効である場合は、Invokeでなくマウスでクリックされる点に注意ください。

※RBF API uiauto() も同じアクションとなります。
但し、Invokeでなくマウスでクリックされた場合で、コントロールタイプがマウスクリックに対応していない
場合はクリックによるアクションは起こりません。

【注意】
Invokeでは、画面に表示されていない場合でもクリックと同じアクションを行えますが、ボタンの文字が
赤色である場合は、必ず画面にオブジェクト要素が表示されていることが必要となりますので注意ください。
尚、Invokeが無効の場合、オブジェクト要素のプロパティに invoke=false が設定されます。


【参考】
実際に動作するサンプルプログラムで UIAuto()メソッドが使われている 07_02 と 07_03 もご参照ください。



UIAuto() メソッドの引数 scan_area

UIAuto() メソッドの引数 scan_area と同じ指定は、RBF Analyzer のリスト表示の上に表示されている

English
UIAuto Object Element Input
   Japanese
UIAuto Object Element Input

で指定します。

[表示エリア走査]:ウィンドウ画面内に表示されているオブジェクト要素を走査
[全エリア走査] :ウィンドウ画面以外で表示されていないオブジェクト要素も走査


アプリが ブラウザ Microsoft Edge である場合は、上記の画面のように [全エリア走査] を選択して [表示画面同期] の
チェックボックスにチェックします。
チェックするとオブジェク要素リストのオブジェクト要素を指定した時に元のウィンドウハンドルが存在しているかを確認
します。ウィンドウハンドルが無効である場合、エラーメッセージが表示されオブジェクト要素のリスト表示がクリアーさ
れます。
ブラウザがIEである場合、表示に変化されていなくとも ウィンドウハンドルが突然変更されてしまう現象が発生しており
旧RBF Analyzerでは、検知機能がありませんでした。ウィンドウハンドルの変化に気が付かないと開発に影響します。
現時点では、Microsoft Edge で IEで発生していたウィンドウハンドルが変更される現象は発生しておりませんが、
ウィンドウハンドルが突然変更されてしまう可能性があるアプリの場合は、チェックします。

また Microsoft Edge の場合で [全エリア走査]を選択する理由は、画面表示枠外のオブジェクト要素が検索でき Invoke
することができる為です。Google Chrome である場合は、画面表示枠外のオブジェクト要素は検索できません。
この為、[全エリア走査] と指定しても機能しません。(現時点)
このようにオブジェクト要素(UI Tree DBへのオブジェクト要素登録内容)は、アプリに依存した特性が存在します。



オブジェクト要素 検索のポイント

検索条件

 1: CTRL Type
 2: Text
 3: Value
 4: Inner ID
 5: "2~4 の文字列のパターンマッチ"
 6: View No. (通常は、1となるように検索します)

上記の条件を駆使してターゲットのオブジェクト要素を検索できように RBF Analyzer で絞り込みます。
Text、Value、InnerID の文字列が全て空文字("") のオブジェクト要素を検索するには
検索条件
 1: Tree Index
のみの検索となります。



UIAuto() メソッドの引数 scan_order

RBF Analyzer の表示で 各テキストボックスの左側にあるチェックボックスが
 UIAuto() メソッドの引数 scan_order
の指定と同じ指定となります。



オブジェクト要素の検索実行

オブジェクト要素の検索の実行は、 Find Object Button ボタンをクリックすると 指定された条件で検索します。

検索の処理を中止したい場合は、リスト表示の上の Stop Button ボタンをクリックすると中止します。


検索中は、下記の画面で検索状況をお知らせします。
Scan Trend Graph Information

表示の項目名と説明
表示名 説明
Scan Time オブジェクト要素の検索に必要な時間を表示
UI Auto()メソッドの処理でかかる検索時間と同じ時間です。
オブジェクト要素カウンター 有効なオブジェクト要素数 / 検索されたオブジェクト要素総数 が表示されます。
グラフ表示 検索時間の限界を 60秒とした時の残りレベルが%で表示されます。
60秒を超えた場合でも最大180秒まで検索されます。

■ 検索されたオブジェクト要素総数とは
UI Tree DB をルートから検索して登録されているオブジェクト要素数です。

■ 有効なオブジェクト要素総数とは
オブジェクト要素が正しい座標を持っていない、及び 検索条件 [表示エリア検索]、[全エリア検索]の条件に適合したオブジェクト要素
など UI 操作で有効なオブジェクト要素数が表示されます。
オブジェクト要素のリスト表示されている数と同じです。



■ オブジェクト要素の検索成功
目的のオブジェクト要素の検索に成功しますと、オブジェクト要素が赤い枠に囲まれて約2秒表示されます。
さらにオブジェクト要素は、フォーカスされます。
UIAuto()メソッド 引数 method = SET_FOCUS と同じ処理となります。
Mouse Move CheckBox にチェックされている場合は、 マウスカーソルが検索されたオブジェクト要素の中心に移動します。
この時、マウスカーソルを2秒以上動かさないと元の位置に戻ります。

■ オブジェクト要素の検索失敗
失敗しますと赤枠で囲まれません。リスト表示の上の検索カウンターの背景色が赤になります。


オブジェクト要素リスト表示の項目名と説明
表示名 説明
No. UI Tree DB の Root からツリーの各節(Node)を順番に辿った番号
Control Type オブジェクト要素のコントロールタイプ名
Text オブジェクト要素の Text
Value オブジェクト要素の Value
Inner ID オブジェクト要素の Inner ID
Depth オブジェクト要素の0から始まる階層(深さ)番号
UI Tree Index オブジェクト要素のツリー位置を節(Node)が1から始まるピリオド方式で表示


検索条件が決まりましたら、表示されているテキスト名の左のコピーアイコン CopyIcon をクリックしますと、
クリップボードにコピーされますので、プログラムソースにある UIAuto() の引数に設定します。



コントロールタイプ Invoke アクションの検証

UIAuto()メソッド 引数 method = EXEC_INVOKE と同じ実行をさせるには、
Exec Invoke Button ボタンをクリックします。

オブジェクト要素の検索に失敗しますとリスト表示の上の検索カウンターの背景色が赤色になります。
オブジェクト要素の検索に成功しますとオブジェクト要素のコントロールタイプに関連付けられたアクションが
実行されます。
オブジェクト要素のコントロールタイプに関連付けられたアクションが無い場合は、エラーメッセージが表示さ
れます。

[補足]
アプリが出力するウィンドウ画面(ブラウザ画面含む)のコントロールタイプに Invoke しても反応しなく正常終了
する場合があります。これは Invoke のアクションの割り付けがアプリケーション(開発者含む)に依存する為です。
この場合、目的のオブジェクト要素をフォーカスして、MouseClick()、または KeyboardTyping() メソッドで操作
します。



コントロールタイプ Value 文字の設定 アクションの検証

UIAuto()メソッド 引数 method = SET_VALUE と同じ実行させるには、

Input Value Edit Box

に Value に設定する文字を入力して Set Value Input Button をクリックします。
何も入力されていない場合でも 空の文字 として設定されます。

オブジェクト要素の検索に失敗しますとリスト表示の上の検索カウンターの背景色が赤になります。
オブジェクト要素の検索に成功しますと入力された文字が Value に設定されます。

オブジェクト要素のコントロールタイプに Value への文字列の設定ができない場合は、エラーメッセージが
表示されます。

正しく Value の文字列が設定されましたら 入力ボックスの右のコピーアイコン CopyIcon をクリックしますと、
クリップボードにコピーされますので、プログラムソースにある UIAuto() の引数に設定します。


[補足]
オブジェクト要素のプロパティに readonly=true がある場合は、通常は設定(書き込み)できません。
Invokeと同様に Value に文字列が設定できない場合で、人の操作でキーボードからの入力を受け付ける場合は、
目的のオブジェクト要素をフォーカスして、KeyboardTyping() メソッドで入力、倍角文字の入力である場合は、
ClipboardText() メソッドで入力させます。





ページトップへ 



GetWindowPixcel() 引数の調査方法


GetWindowPixcel() メソッドで、画像表示の色が、前回値、今回値とで変化した場合など画面の色の変化を監視することができますが、
ウィンドウ画面に表示されているクライアント座標のピクセルのRGB値を取得する操作の説明です。

1. 操作(ウィンドウハンドルを取得)したいウィンドウ画面を表示します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

操作したいウィンドウ画面でピクセル値を取得したい座標に移動させますと引数に設定する情報が RBF Analyzer 左下の画面に
ピクセル値が表示されます。

Scrn Point Information Button







ページトップへ 



MouseClick() 引数の調査方法


MouseClick() メソッドのグラフィックパターンの引数のビットマップパターン係数値を取得する操作の説明と
ウィンドウ画面を画像変換後にOCRで文字化した 引数 Text に指定する文字列を取得する操作の説明です。



MouseClick() メソッドの引数 bmp_code の取得

MouseClick() メソッドのグラフィックパターンの引数のビットマップパターン係数値を取得する操作の説明です。

1. 操作(ウィンドウハンドルを取得)したいウィンドウ画面を表示します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

グラフィックパターンを取得したいウィンドウ画面に移動させドロップして選択します。

3. RBF Analyzer の左下の Mouse Click Graphic Button ボタンをクリックしますと
[Mouse Click Graphic] 画面が表示されます。



[Mouse Click Graphic] 画面
English
Mouse Click Graphic Screen
    Japanese
Mouse Click Graphic Screen

画面の検索条件を指定してから Finder アイコンをマウスカーソルでドラッグしてグラフィックパターンを取得したいエリアを
指定します。



ビットマップパターン係数値に保管されている情報
項目名 説明
Graphic Pattern Size [W x H] ビットマップパターンの幅、高さ
検索方向 ウィンドウ画面の左上から下方向、右下から上方向
View No. 同じパターン検出回数
Finder で指定した座標 [最初に Finder で指定した座標から検索] が指定された時の指定座標
クリック位置 グラフィックパターンエリア(四角形)の Center(中心)、Left-Top(左上) ~ Left-Center(左側中央)
のクリックさせる位置
画像を色変換して検索 Non(無し)、256 Color, Gray Color
画面の色ノイズ率 0~50%の色ノイズ率
ビットマップデータ 選択されたビットマップのデータ(RBF独自に変換したデータ)

その他の引数は、MouseClick()メソッドの引数で指定します。

クリックしたい画像エリアが操作で決定されましたら
English
Bmp Pattern Conversion Button
     Japanese
Bmp Pattern Conversion Button

をクリックしますと、ビットマップパターン係数へ変換します。
ビットマップパターン係数に変換後に、ビットマップパターン係数より指定の画像を検索できるかが実行されます。

検索に成功しますと
English
Bmp Pattern Conversion Success Button
     Japanese
Bmp Pattern Conversion Success Button

ボタンの文字の色がオレンジ色に変わり、マウカーソルが指定の画像の中心に移動します。
マウスカーソルが中心に移動された状態で、マウスカーソルを2秒以上動かさないと元の位置に戻ります。

ビットマップパターン係数値の文字列が表示されているテキストの右のコピーアイコン CopyIcon をクリックしますと、
クリップボードにコピーされますので、プログラムソースにある MouseClick() メソッドの 引数 bmp_code に設定します。

検索に失敗しますと、テキスト文字が見つかりませんなどのポップアップウィンドウが表示されます。




MouseClick() メソッドの引数 OCR 解析による text の取得


MouseClick() メソッドのOCRで走査した文字を取得する操作の説明です。

1. 操作(ウィンドウハンドルを取得)したいウィンドウ画面を表示します。
2. RBF Analyzer 画面の下記 Finder アイコンをマウスカーソルでドラッグして

FinderIcon

グラフィックパターンを取得したいウィンドウ画面に移動させドロップして選択します。

3. RBF Analyzer の左下の Mouse Click OCR Button ボタンをクリックしますと
[Mouse Click Graphic] 画面が表示されます。

グラフィックパターンのビットマップパターン係数を取得する [Mouse Click Graphic] 画面 とは異なり
[Mouse Click Graphic] 画面 の Finder アイコンをマウスカーソルでドラッグ&ドロップにて指定の
ウィンドウ画面を再選択することができます。

[Mouse Click OCR] 画面
English
Mouse Click OCR Screen
     Japanese
Mouse Click OCR Screen


[Mouse Click OCR] 画面 の表示項目 と MouseClick() メソッド 引数名の対応表
表示名 引数名 説明
OCR前に画像拡大 ocr_img_enlarge 指定のウィンドウを画像に変換する場合に表示されているウィンドウのサイズを拡大する場合、拡大率を指定
OCR前に画像色変換 ocr_img_convert 指定のウィンドウを画像に変換する場合に表示されているウィンドウの画像をカラー色(1677万色) から256色、及び白黒の256階調のグレイ色(256色)に変換してからOCRを実行するかを指定

画面に表示されているテキストリスト表示のいずれかをクリックしますと選択されたテキストが実際に表示されている座標
を四角で囲んでオレンジ色で約3秒間表示されます。
リスト表示されているオブジェクト要素を 矢印キー ↑ または ↓ で選択を移動された場合でも対応するテキストが四角で
囲んでオレンジ色で約3秒間表示されます。

テキストリストから目的のテキストを選択しますと下記の画面の入力ボックスに選択された文字がコピーされます。
Mouse Click OCR Text InputBox

Input Search Button ボタンをクリックしますと 入力されたテキスト文字の検索が実行されます。

一般的に同じ画像であれば、OCRに変換されたテキストは必ず同じテキストですが、画像より変更される場合は、
文字列(テキスト)にワイルドカード文字を指定して目的のテキストを検索します。

目的のテキスト検索に成功しますと、マウスカーソルが検索されたテキストの中心に移動してテキスト文字をオレンジ色
の枠に囲んで約2秒表示されます。
マウスカーソルが中心に移動された状態で、マウスカーソルを2秒以上動かさないと元の位置に戻ります。
目的のウィンドウの検索に失敗しますと、マウカーソルは移動しません。

クリックしたいテキスト文字が決定されましたら、表示されているテキストの右のコピーアイコン CopyIcon をクリックしますと、
クリップボードにコピーされますので、プログラムソースにある MouseClick() メソッド 引数 text に設定します。








ページトップへ 



Javaアプリ画面制御について

■ Java Access Bridgeについて
RBF APIでは、Javaをインストールすると標準で配置される Java Access Bridge を使用して Javaアプリ画面を制御します。
Java Access Bridge(JAB) とは、ORACLE Java が提供する Microsoft Windows DLL で Javaアプリケーション画面を制御する
支援するユーティリティです。
RBFでは、windowsaccessbridge-64.dll を使用してJava画面を制御します。

JAB と UIAuto では、アーキテクチャが異なり JAB には Microsoft Windows が提供する UI Tree Database(DB) がありません。
JAB では画面を制御する構造がUI Tree DB構造とは異なる Tree構造で制御しますが、これを RBFエンジン側で、UIAutoと同じ
UI Tree DB を構築して RBF API UIAuto()と同じ感覚でプログラム開発ができるように実現しております。
但し、Microsoft Windows UIAutoで操作を実行する Invoke 機能と同等の機能が 画面のコントロールボックスを操作する JAB
には殆ど無いため、マウスデバイスを制御してクリックするなど完全に同じでないことを予めご了承ください。

Javaアプリ画面を制御できるのは、RBF Ver.1.1.6.11 以上からとなります。

[UIAuto と Java Access Bridge との用語の違い]
UIAuto Java Access Bridge
Invoke Action
Control Type Role Type



Java Access Bridge の有効化

Javaをインストールした初期設定では、Java Access Bridge が無効になっております。
RBF APIで Javaアプリ画面を制御する場合は、事前に Java Access Bridge を有効にする必要があります。

[スタート] ==> [コントロール パネル] ==> [コンピュータの簡単操作] ==> [コンピュータの簡単操作センター]
に移動します。
または、Windows ロゴキー + U を押して [コンピュータの簡単操作センター] にアクセスします。
[コンピュータを画面なしで使用します] を選択します。
[他のインストールされたプログラム] セクションで [Java Access Bridge を有効にする] チェックボックス
をチェックします。

English
UI Java Access Bridge Enable
Japanese
UI Java Access Bridge Enable


RBFサーバ 及び RBF API で Java Access Bridge が有効になったことを認識させるには、
Java Access Bridge を有効にしたあとに、RBFサーバを再起動する必要があります。
タスクバーのRBFアイコンを右ボタンでクリック ==> 「RBFサーバ再起動」をクリックして再起動します。
Windows OSが仮想環境など、RBF API や RBF Analyzer が Javaアプリ画面を認識しない場合は、Windows OSを
再起動する必要がある場合があります。




Java動作環境の条件


1. Java 64bit がセットアップされている必要があります。
Java Access Bridge は、Java SE Runtime Environment (JRE|JDK) Release 7 Update 6 (7u6) 以降に付属されます。
Java Access Bridge が付随するJavaのバージョンは
    Enabling and Testing Java Access Bridge English
    Java Access Bridge の有効化とテスト Japanese
を参照ください。
尚、RBFでは、Java アプリ画面 32bitは制御できませんので予めご了承ください。
2. RBF Ver.1.1.6.11 以上がセットアップされ実行されている必要があります。
3. 環境変数 JAVA_HOME に Java までのパスが設定されてある必要があります。
JAVA_HOME のパスを新規に設定または修正した場合、Windows OS の再起動が必要です。
4. 環境変数 JAVA_HOME のパスから ~/bin/windowsaccessbridge-64.dll ファイルが存在している必要があります。
RBFでは、windowsaccessbridge-64.dll を使用してJavaアプリ画面を制御します。
2024.4 時点の最新版 Java Access Bridge Ver.2.0.6 にてJava画面を制御しております。
5. Java Access Bridge 現在の仕様により Modal(モーダル) ダイアログ ボックス」画面は制御は対象外です。
RBF APIで画面を制御できるように開発しておりますが、Javaアプリのモーダルダイアログ ボックス画面のプログラムの組み方によっては、モーダルダイアログボックスを表示すると Java Access Bridge APIから返ってこなくハングアップ(停止)した現象が発生する場合がありますので予めご了承ください。
6. Java Access Bridge は UIAuto で言う Invoke は、Action と言いますが、この Action で、オブジェクト要素をクリックする操作が一部のオブジェクト要素しか対応していない為、RBFでは、CheckBox, RadioButton, ComboBox, ToggleButton以外は、マウスデバイスを操作してクリックしております。
この為、Javaアプリ画面を制御する場合は、マウスデバイスが必要である点とRBF APIで操作中に人の操作でマウスを操作すると期待した操作をしなくなる場合がありますので注意ください。
7. Java をアップデートする場合、RBFサーバを停止するか、コントロールパネルの設定で
[Java Access Bridge を有効にする] を無効にしてから Java をアップデートしてください。

※ RBF Analyzer で ファインダーアイコンを Java アプリ画面に移動させてもオブジェクト要素を認識しない場合は、
    下記が適切であるか確認ください。

    ・環境変数 JAVA_HOME のパスが適切に設定されているか。
    ・JAVA_HOME のパスの bin 配下に windowsaccessbridge-64.dll ファイルが存在するか。
    ・Java Access Bridge が有効にチェックされているか。

    コマンドプロンプトを起動して RBF Analyzer の引数
    RBF_Analyzer.exe -start -java
    を指定して起動しますとRBFが認識しない条件がポップアップウィンドウで表示されます。

    設定が適切なのに Java アプリ画面のオブジェクト要素を認識しない場合、
    RBF が Java Access Bridge の動作環境が有効になったことを認証していない可能があります。
    その場合は、Windows OSを再起動してみてください。

※ Javaアプリ画面の制御は、Java Access Bridge の仕様でありRBFの仕様ではありません。
    Java Access Bridge の画面解析など仕様に関係するお問い合わせは出来かねますので予めご了承ください。
    Java Access Bridge の動作環境及び仕様に関しては、
      Java Accessibility Guide English
      Java Accessibility ガイド Japanese
    を参照ください。


ページトップへ 



外国語OSについて

本ソフトウェアを起動するWindows OSの言語が日本語以外である場合、現在対応している言語は下記となります。
・英語で表示
・韓国語で表示
本ソフトウェアは、Windows OSの言語表示の設定より表示言語を判断しており、日本語、韓国語以外の設定であれば、
英語で表示されます。英語版、韓国語版は、表示が異なるだけで本ソフトウェアの機能は変わりません。

[表示言語を指定する方法]
本ソフトウェアインストール後にWindows OSの言語表示の設定されている言語以外の表示させたい場合は、
下記の手順で表示する言語を指定ください。
本ソフトウェアのインストール先フォルダー C:¥Program Files¥Robowiser¥RBF_Host¥Utils で説明いたします。
インストール先フォルダーが異なる場合は、置き換えて下さい。

■ RBF Analyzer アプリのショートカット アイコンを下記の引数を指定して作成します。
    RBF Analyzer アプリ : "C:¥Program Files¥Robowiser¥RBF_Host¥Utils¥RBF_Analyzer.exe" -start -lang=[en|kr|jp]

    [引数]
    -lang=en : 英語
    -lang=kr : 韓国語
    -lang=jp : 日本語

    ※引数の文字は、大文字小文字を区別しません。

    英語指定の場合
    リンク先             : "C:¥Program Files¥Robowiser¥RBF_Host¥Utils¥RBF_Analyzer.exe" -start -lang=en
    作業用フォルダー : "C:¥Program Files¥Robowiser¥RBF_Host"
    作成した RBF Analyzer アプリのショートカット アイコンを実行すると指定された言語で表示されます。

尚、本ソフトウェアで使用しているフォントは、下記となります。
日本語 使用フォント:"メイリオ", "游ゴシック"
英語  使用フォント:"Segoe UI", "Arial"
韓国語 使用フォント:"맑은 고딕"

※上記は、Windows標準でインストールされているフォントです。
もし表示の文字化けが発生した場合、Windowsにフォントをインストールする必要があります。
Windows に指定している表示言語から 他の言語の表示へ Windows の表示言語を切り替えた場合、過去のデータは表示の文字化けを起こしますので予めご了承ください。
本ソフトウェアの表示を母国語の言語で表示を希望される場合、当社まで お問い合わせ 下さい。






ページトップへ 









その他

上記の内容は、予告なしに実際の仕様や機能/表示が変更される場合がありますので予めご了承ください。

■ 登録商標について
Microsoft Windowsは、米国Microsoft社の米国及びその他の国における登録商標です。
Oracle、Java、JavaScriptは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における商標または登録商標です。
ソフトウェアロボットのシンボルマークのロボット画像は、AlterForce社の登録商標です。
AlterForce, Robowiser, RoboBuddy は、 AlterForce社の登録商標です。
本ご利用ガイドに記載の会社名、製品名、及びサービス名はいずれも各社の商標、又は登録商標です。

ページトップへ