(57)【特許請求の範囲】
【請求項１】
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込み、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索し、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定し、
特定した前記上位階層のオブジェクトの表示を変更し、
前記操作の対象オブジェクトが表示されているかを探索し、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる、
処理をコンピュータに実行させる操作再生プログラム。
【請求項２】
前記上位階層のオブジェクトを特定する処理は、スクロール可能なスクロールバーが存在するオブジェクトを探索し、
前記オブジェクトの表示を変更する処理は、表示された前記スクロールバーを移動し、前記操作の対象オブジェクトが表示されているかを探索する、
請求項１に記載の操作再生プログラム。
【請求項３】
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込む読込部と、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索する探索部と、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定するオブジェクト特定部と、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる操作発生要求部と、を有し、
前記探索部は、特定した前記上位階層のオブジェクトの表示を変更し、前記操作の対象オブジェクトが表示されているかを探索する、操作再生装置。
【請求項４】
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込み、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索し、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定し、
特定した前記上位階層のオブジェクトの表示を変更し、
前記操作の対象オブジェクトが表示されているかを探索し、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる、
処理をコンピュータが実行する操作再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作再生プログラム、操作再生装置及び操作再生方法に関する。
【背景技術】
【０００２】
コンピュータに対する操作内容を記録し、記録した操作内容を再生することで、操作を再現する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−６３２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、記録した操作内容に基づき特定される、操作対象となるオブジェクトが再生側の表示画面に表示されていない場合、記録された操作が再現されない場合がある。特に、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合、操作対象となるオブジェクトが再生側の表示画面に表示されない状況が生じ易く、その場合、記録された操作内容が正しく再生されない可能性がある。
【０００５】
１つの側面では、操作の再現の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込み、前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索し、前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定し、特定した前記上位階層のオブジェクトの表示を変更し、前記操作の対象オブジェクトが表示されているかを探索し、探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる、処理をコンピュータに実行させる操作再生プログラムが提供される。
【発明の効果】
【０００７】
一側面によれば、操作の再現の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態にかかる操作内容の記録と再生について説明する図である。
【図２】記録装置による操作記録情報の記録と、再生装置におけるエラーについて説明する図である。
【図３】一実施形態にかかる操作記録情報の一例を示す図である。
【図４】一実施形態にかかる記録装置のハードウェア構成の一例を示す図である。
【図５】第一の実施形態の記録装置及び再生装置の機能の一例を示す図である。
【図６】一実施形態にかかる記録処理の一例を示すフローチャートである。
【図７】一実施形態にかかる再生処理の一例を示すフローチャートである。
【図８】一実施形態にかかるスクロール移動処理の一例を示すフローチャートである。
【図９】一実施形態にかかる再生時の画面例を示す図である。
【図１０】一実施形態にかかる再生時の表示ステータスを説明する図である。
【図１１】第二の実施形態の記録再生装置の機能構成の一例を示す図である。
【図１２】第三の実施形態の記録再生装置の機能構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１０】
（第一の実施形態）
［記録装置と再生装置］
以下に図面を参照して実施形態について説明する。図１は、操作内容の記録と再生について説明する図である。
【００１１】
本実施形態では、コンピュータ１００において行われた操作の内容を、操作記録情報２００として記録する。操作記録情報２００は、コンピュータ３００−１、３００−２において読み込まれ、記録された操作が再現される。
【００１２】
本実施形態において、操作記録情報２００に内容が記録される操作は、例えばコンピュータ１００で繰り返し行わせたい操作や、コンピュータ３００−１、３００−２等の他のコンピュータで行わせたい操作等である。
【００１３】
尚、図１では、操作記録情報２００を再生するコンピュータを、コンピュータ３００−１、３００−２の２台としたが、操作記録情報２００を再生するコンピュータの数は任意であって良い。以下の説明では、コンピュータ３００−１、３００−２を区別しない場合には、単にコンピュータ３００と呼ぶ。
【００１４】
また、以下の説明では、操作の内容を操作記録情報２００に記録するコンピュータ１００を、記録装置１００と呼び、操作記録情報２００を再生するコンピュータ３００を再生装置３００と呼ぶ。
【００１５】
本実施形態では、記録装置１００において、操作記録情報２００を記録することで、記録装置１００で行われた操作を自動的に任意の数の再生装置３００に行わせることができる。したがって、本実施形態によれば、例えば複数台のコンピュータに同一の設定を行う操作を実施する場合等には、１台の記録装置１００において該当する操作を実施して操作記録情報２００を記録し、この操作記録情報２００を複数台のコンピュータに再生させれば良い。
【００１６】
また、本実施形態では、記録装置１００と再生装置３００とを別のコンピュータとしているが、これに限定されない。記録装置１００と再生装置３００とは、同一の装置であっても良い。この場合、例えば１台のコンピュータに複数回同じ操作を実行させたい場合等に、操作記録情報２００を記録し、再生させれば良い。
【００１７】
なお、本実施形態の操作記録情報２００は、例えば記録装置１００のハードディスク等の内部メモリに記録してもよい。操作記録情報２００は、記録装置１００に接続可能な外部メモリや可搬型の記録媒体に記録されてもよいし、クラウド上の記録装置に記録されてもよい。
【００１８】
［操作記録情報の記録と再生］
次に、本実施形態の記録装置１００による操作記録情報２００の記録と、再生装置３００による操作記録情報２００に基づく再生について説明する。図２（ａ）は、記録装置１００による操作記録情報２００の記録の一例を説明する図であり、図２（ｂ）は、再生装置３００による操作記録情報２００に基づく再生の一例を説明する図である。
【００１９】
図２（ａ）では、記録装置１００の表示画面１０１に表示されたオブジェクトに対して行われた操作の内容を記録する例を示している。表示画面１０１は、記録装置１００のディスプレイ等に表示される。
【００２０】
オブジェクト１０２は、アプリケーションの起動により立ち上げられたウィンドウである。ここでは、オブジェクト１０２はフォルダＡとする。フォルダＡのオブジェクト１０２内には、アイコンＢのオブジェクト１０３、ファイルのオブジェクト１０８、１０９が表示されている。図２では、表示画面１０１において、例えばアイコンＢのオブジェクト１０３上にポインタＰを位置付けた状態で操作者の指（操作指）がマウスボタンを押下する（以下、「ボタンダウン」ともいう。）ことで、オブジェクト１０３が選択される。
【００２１】
オブジェクト１０３は、選択された状態でポインタＰの操作に応じて移動し、操作指がマウスボタンを離したことで（以下、「ボタンアップ」ともいう。）、マウスボタンを離した位置に置かれる。表示画面１０１には、フォルダＡのオブジェクト１０２内に表示されていたオブジェクト１０３がデスクトップ画面まで移動し、デスクトップにドロップされる操作の例が示されている。
【００２２】
図３には、本実施形態にかかる操作記録情報２００の一例が示されている。操作記録情報２００は、オブジェクト特定情報２１、操作種類情報２２及び親オブジェクト情報２３を含む。
【００２３】
本実施形態のオブジェクト特定情報２１は、少なくともオブジェクトの名称を含む。また、本実施形態のオブジェクト特定情報２１には、オブジェクトの名称の他に、親オブジェクト情報、オブジェクトに対して操作が行われた時刻等が含まれても良い。操作種類情報２２は、オブジェクト特定情報２１にて特定されるオブジェクトに対して行われた操作の種類を示す。親オブジェクト情報２３は、デスクトップ画面を最上位の階層としたときに、操作の対象オブジェクトが属する階層の上位階層（親の階層）の情報を示す。
【００２４】
例えば、図３に示す操作記録情報２００の最初の行には、オブジェクト特定情報２１が示す「アイコンＡ」のオブジェクトについて、操作種類情報２２が示す「消去」の操作が行われたことが記録されている。「アイコンＡ」のオブジェクトに対する親オブジェクトは、デスクトップである。
【００２５】
二行目には、「アイコンＢ」のオブジェクトについて、移動操作が行われたことが記録されている。操作の種類が移動操作の場合、操作種類情報２２が「ボタンダウン」と「ボタンアップ」とが記録される。図２（ａ）の例では、マウスボタンのボタンダウン操作が行われたときのアイコンＢのオブジェクト１０３の親オブジェクトはフォルダＡのオブジェクト１０２である。マウスボタンのボタンアップ操作が行われたときのアイコンＢのオブジェクト１０３の親オブジェクトはデスクトップである。
【００２６】
図２（ａ）に示すように、マウスボタンのボタンダウン後に、ポインタＰが指し示す座標が移動した場合に、この操作はドラッグ操作として検知される。また、本実施形態では、ポインタＰが指し示す座標が移動した後のマウスボタンのボタンアップを検知したとき、この操作はドロップ操作として検知される。ドラッグ操作とドロップ操作とを組み合わせたドラッグ＆ドロップ操作が、移動操作となる。なお、本実施形態では、表示画面の同一の座標において、マウスボタンのボタンダウンとボタンアップが検知されたとき、この操作はクリック操作として検知される。
【００２７】
本実施形態の再生装置３００は、操作記録情報２００に含まれるオブジェクト特定情報２１に基づき、操作の対象となるオブジェクトを特定する。そして、再生装置３００は、特定されたオブジェクトに対して操作種類情報２１が示す種類の操作を発生させる。なお、本実施形態におけるオブジェクトとは、表示画面に選択可能な状態で表示され得るものであり、且つ操作の対象となる表示部品である。
【００２８】
表示画面１０１は、記録装置１００のデスクトップ画面であり、オブジェクト１０２、１０３，１０８，１０９が表示されている。オブジェクト１０２，１０３，１０８，１０９は、それぞれが選択可能であり、且つ操作の対象となる表示部品である。
【００２９】
本実施形態の記録装置１００は、アイコンＢのオブジェクト１０３に対してドラッグ＆ドロップ操作が行われると、アイコンＢのオブジェクト１０３を特定するオブジェクト特定情報２１と、移動操作（ドラッグ＆ドロップ操作）を示す操作種類情報２２と、操作対象のオブジェクト１０３の親オブジェクト情報２３を記録する。したがって、本実施形態によれば、操作記録情報２００の再生の際に、表示画面における操作対象のオブジェクトの操作を再現できる。
【００３０】
また、本実施形態によれば、操作記録情報２００の再生の際に、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合等でも、どのオブジェクトに何の操作が行われたかを特定できる。よって、本実施形態によれば、操作記録情報２００を用いた記録及び再生の際の汎用性を向上させることができる。
【００３１】
［再生処理時の不具合］
次に、図２（ｂ）に示す再生処理時の不具合について説明する。記録装置１００と再生装置３００とでは、一方の画面には、あるファイルが存在しているが、他方の画面にはそのファイルが存在していない場合のように、環境が同一ではないということがある。よって、操作記録情報２００に記録されたとおりに、対象となるオブジェクトを選択して記録された操作を行おうとしても、再生装置３００では、対象となるオブジェクトが表示されていない場合がある。
【００３２】
図２（ａ）に示すように、アイコンＢのオブジェクト１０３に対してドラッグ＆ドロップ操作が行われたときに記録された操作記録情報２００に基づき、アイコンＢのオブジェクト１０３の移動操作を発生させる。その際、図２（ｂ）に示すように、対象オブジェクト（ここでは、アイコンＢのオブジェクト１０３）が含まれるべきウィンドウ（ここでは、フォルダＡ）内に、ファイルのオブジェクト１０４〜１０９が表示され、対象オブジェクトが表示されない場合がある。この場合には、対象オブジェクトが存在しないとしてエラーが表示され、操作の再現ができない。
【００３３】
そこで、本実施形態にかかる再生装置３００では、対象オブジェクトが画面上に表示されていない場合に、その対象オブジェクトが含まれるべきウィンドウがスクロール表示状態となっているか否かを判別する。スクロール表示状態となっていると判別された場合、スクロールバーを自動操作し、対象オブジェクトが表示されるかを探索する。この操作を実行させることで、表示されていなかったオブジェクトを対象として正しい再生処理を実行し、操作の再現の精度を向上させる。以下、本実施形態にかかる記録再生システムについて説明する。
【００３４】
［記録装置と再生装置のハードウェア構成］
次に、図４を参照して本実施形態の記録装置１００と再生装置３００のハードウェア構成の一例について説明する。図４は、記録装置のハードウェア構成の一例を示す図である。本実施形態の記録装置１００と再生装置３００のハードウェア構成は、同じであるため、図６では、記録装置のハードウェア構成の一例について説明し、再生装置３００のハードウェア構成の説明は省略する。
【００３５】
本実施形態の記録装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６及びインターフェース装置１７を含む。
【００３６】
入力装置１１はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置１２はディスプレイ装置等を含み、各種ウィンドウやデータ等を表示するために用いられる。インターフェース装置１７は、モデム、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００３７】
操作記録再生プログラムは、記録装置１００を制御する各種プログラムの少なくとも一部である。操作記録再生プログラムは例えば記録媒体１８の配布やネットワークからのダウンロードなどによって提供される。操作記録再生プログラムを記録した記録媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３８】
また、操作記録再生プログラムは、操作記録再生プログラムを記録した記録媒体１８がドライブ装置１３にセットされると、記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた操作記録再生プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００３９】
補助記憶装置１４は、インストールされた操作記録再生プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から操作記録再生プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された操作記録再生プログラムに従って、後述するような各種処理を実現している。
【００４０】
また、本実施形態の記録装置１００は、例えばタブレット型のコンピュータ等であっても良い。その場合、入力装置１１及び出力装置１２の代わりに、表示機能を有するタッチパネル等の表示操作装置を有していても良い。
【００４１】
［記録装置と再生装置の機能構成］
次に、図５を参照して本実施形態の記録装置１００と再生装置３００の機能について説明する。図５は、第一の実施形態の記録装置及び再生装置３００の機能構成の一例を説明する図である。本実施形態の記録装置１００は、操作記録再生処理部１１０を有する。また、本実施形態の再生装置３００は、操作記録再生処理部３１０を有する。
【００４２】
本実施形態の操作記録再生処理部１１０は、記録装置１００にインストールされた操作記録再生プログラムを演算処理装置１６が実行することで実現される。
【００４３】
また、本実施形態の操作記録再生処理部３１０は、再生装置３００にインストールされた操作記録再生プログラムを、再生装置３００の演算処理装置が実行することで実現される。
【００４４】
ここで、本実施形態において、記録装置１００と再生装置３００のそれぞれにインストールされる操作記録再生プログラムは、同一のプログラムであって良い。
【００４５】
記録装置１００では、操作記録再生プログラムに含まれる記録プログラムを実行することで記録処理部１２０を実現し、コンピュータを記録装置１００として動作させる。
【００４６】
また、再生装置３００では、操作記録再生プログラムに含まれる再生プログラムを実行することで再生処理部３３０を実現し、コンピュータを再生装置３００として動作させる。
【００４７】
本実施形態の記録装置１００の操作記録再生処理部１１０は、記録処理部１２０、再生処理部１３０を有する。
【００４８】
本実施形態の記録装置１００では、上述したように、記録処理部１２０の機能が実現される。本実施形態の記録処理部１２０は、操作検知部１２１、割込発生部１２２、オブジェクト特定部１２３、操作種類取得部１２４及び操作記録部１２５を有する。
【００４９】
操作検知部１２１は、記録装置１００において行われた操作を検知する。具体的には、本実施形態の操作検知部１２１は、記録装置１００に搭載されたＯＳ（Operating System）がクリック操作、ドラッグ操作、ドロップ操作を検知したことを示す通知を受け付け、操作を受け付けたことを割込発生部１２２へ通知する。
【００５０】
本実施形態の割込発生部１２２は、操作検知部１２１により検知対象の操作が検知されると、記録装置１００に搭載されたＯＳに対して割り込みを発生させ、操作内容を記録する処理の実行を要求する。
【００５１】
本実施形態のオブジェクト特定部１２３は、割り込みが発生すると、記録装置１００に搭載されたＯＳから操作検知部１２１により検知された操作対象のオブジェクトを示すオブジェクト特定情報を受け取る。
【００５２】
本実施形態のオブジェクト特定情報２１は、少なくともオブジェクトの名称を含む。また、オブジェクト特定情報２１には、オブジェクトの名称の他に、そのオブジェクトの一つ上位の階層のオブジェクトを示す親オブジェクト情報、オブジェクトに対して操作が行われた時刻等が含まれても良い。オブジェクト特定情報２１により特定されるオブジェクトの上位階層のオブジェクトは、親オブジェクト情報２３に記録される。
【００５３】
本実施形態の操作種類取得部１２４は、操作検知部１２１により検知された操作の操作種類情報を取得する。
【００５４】
本実施形態の操作記録部１２５は、オブジェクト特定情報２１、操作種類情報２２及び親オブジェクト情報２３を操作記録情報２００に記録する。操作の種類が移動操作の場合、操作記録部１２５は、操作記録情報２００に、ボタンダウンの操作とボタンアップの操作とのそれぞれに対応したオブジェクト特定情報２１、操作種類情報２２及び親オブジェクト情報２３を操作記録情報２００に記録する。
【００５５】
操作記録情報２００は、例えば可搬型の記録媒体２１０に記録される。記録媒体２１０は、再生装置３００において読取可能な記録媒体であれば良い。
【００５６】
また、本実施形態の操作記録部１２５は、記録処理の終了指示を受け付けたとき、記録の処理を終了する。
【００５７】
本実施形態の記録装置１００における再生処理部１３０の機能構成は、後述する再生装置３００の有する再生処理部３３０と同様である。
【００５８】
本実施形態の再生装置３００の操作記録再生処理部３１０は、記録処理部３２０、再生処理部３３０を有する。
【００５９】
本実施形態の再生装置３００では、上述したように、再生処理部３３０が実現される。本実施形態の再生処理部３３０は、操作記録読込部３３１、オブジェクト特定部３３２、操作種類特定部３３３、操作発生要求部３３４及び探索部３３５を有する。
【００６０】
本実施形態の操作記録読込部３３１は、記録媒体２１０に格納された操作記録情報２００を読み込む。操作記録情報２００には、記録装置１００の表示画面にて行われた操作が記録されている。
【００６１】
よって、本実施形態のオブジェクト特定部３３２は、操作記録情報２００に含まれるオブジェクト特定情報２１に基づき、再生装置３００の表示画面において、操作対象となるオブジェクトを特定する。操作種類特定部３３３は、操作記録情報２００に含まれる操作種類情報２２から、特定したオブジェクトに対して行う操作の種類を特定する。
【００６２】
本実施形態の操作発生要求部３３４は、操作記録情報２００に従い、操作を発生させる再生装置３００に搭載されたＯＳに対して、操作対象のオブジェクトに対して特定した操作を発生させるための操作発生要求を行う。
【００６３】
再生装置３００では、ＯＳに対して操作発生要求を行うことで、ＯＳの機能により要求した操作が発生し、操作記録情報２００に記録された操作内容が再生装置３００において再現される。
【００６４】
探索部３３５は、操作記録情報２００に応じて、操作の対象オブジェクトが表示画面に表示されているかを探索する。さらに、探索部３３５は、操作の対象オブジェクトが表示画面に表示されていない場合、オブジェクト特定部３３２により、前記対象オブジェクトの親オブジェクトを特定させる。図２（ａ）に示す例の場合、オブジェクト１０３，１０８，１０９の親オブジェクトはフォルダＡのオブジェクト１０２であり、フォルダＡのオブジェクト１０２の親オブジェクトは、デスクトップである。
【００６５】
探索部３３５は、特定した親オブジェクトの表示を変更させ、操作の対象オブジェクトが表示画面に表示されるかを探索する。例えば、探索部３３５は、親オブジェクトに表示されたスクロール機能により、スクロールの最端部からスクロールバーを移動させ、操作の対象オブジェクトが表示画面に表示されるかを探索する。
【００６６】
［記録装置による記録処理］
次に、図６を参照し、本実施形態の記録装置１００による操作記録情報２００の記録処理について説明する。図６は、記録処理部による操作記録情報の記録処理を示すフローチャートである。
【００６７】
本実施形態の記録装置１００において、記録処理部１２０は、操作検知部１２１により、記録装置１００の表示画面の操作を検知する（ステップＳ７０１）。具体的には、操作検知部１２１は、記録装置１００のＯＳから操作が検知された通知を受け付ける。
【００６８】
続いて記録処理部１２０は、操作が検知されると、割込発生部１２２により、ＯＳに対して割込を発生させて操作内容の記録処理を開始し、オブジェクト特定部１２３により、操作の対象となったオブジェクトを特定する（ステップＳ７０２）。
【００６９】
より具体的には、オブジェクト特定部１２３は、操作の検知と同時にＯＳから取得した、ポインタの位置を示す座標情報をＯＳに渡す。そして、オブジェクト特定部１２３は、ＯＳの機能（例えばWindows（登録商標） API等）により、この座標情報が示す位置に表示されたオブジェクトを特定するオブジェクト特定情報を取得する。
【００７０】
続いて、記録処理部１２０は、操作種類取得部１２４により、検知された操作の種類を示す操作種類情報を取得し、操作の種類を特定する（ステップＳ７０３）。尚、操作種類情報は、例えば操作検知部１２１が操作を検知する際に、ＯＳから取得していても良い。
【００７１】
次に、記録処理部１２０は、ＯＳの機能により、操作対象のオブジェクトの親オブジェクト情報を取得する（ステップＳ７０４）。続いて、記録処理部１２０は、操作記録部１２５により、オブジェクト特定情報と操作種類情報と親オブジェクト情報とを対応付けて操作記録情報２００に記録する（ステップＳ７０５）。
【００７２】
続いて、記録処理部１２０は、操作記録部１２５により、記録終了の指示を受け付けたか否かを判定する（ステップＳ７０６）。ステップＳ７０６において、該当する指示を受け付けていない場合、記録処理部１２０は、ステップＳ７０１へ戻り、ステップＳ７０１以降の処理を繰り返す。ステップＳ７０６において、該当する指示を受け付けた場合、記録処理部１２０は、操作記録情報の記録を終了する。
【００７３】
［再生装置による再生処理］
次に、図７、図８を参照して、本実施形態の再生装置３００による操作記録情報２００の再生の処理について説明する。図７は、一実施形態にかかる操作記録情報に基づく再生処理を説明するフローチャートである。
【００７４】
本実施形態の再生装置３００において再生処理部３３０の操作記録読込部３３１は、操作記録情報２００を読み込み、操作記録情報２００に含まれるオブジェクト特定情報２１と操作種類情報２２と親オブジェクト情報２３とを取得する（ステップＳ８０１）。
【００７５】
続いて、オブジェクト特定部３３２は、取得した親オブジェクトの表示領域において、操作対象となるオブジェクトを探す（ステップＳ８０２）。続いて、オブジェクト特定部３３２は、操作対象のオブジェクトを特定できたか否かを判定する（ステップＳ８０３）。
【００７６】
ステップＳ８０３において、操作対象のオブジェクトが特定された場合、操作発生要求部３３４は、ＯＳの機能により、特定した操作対象のオブジェクトに対して記録されている種類の操作を発生させる（ステップＳ８０４）。
【００７７】
続いて再生処理部３３０は、操作記録情報２００に含まれる全ての操作の再現が完了したか否かを判定する（ステップＳ８０５）。ステップＳ８０５において、全ての操作の再現が完了していない場合、再生処理部３３０は、ステップＳ８０１へ戻る。ステップＳ８０６において、全ての操作の再現が完了した場合、再生処理部３３０は処理を終了する。
【００７８】
ステップＳ８０３において、操作対象のオブジェクトを特定できない場合、探索部３３５は、親オブジェクトの表示領域にスクロールバーが表示されているかを判定する（ステップＳ８０６）。親オブジェクトの表示領域にスクロールバーが表示されていない場合、探索部３３５は、エラー処理を実行し（ステップＳ８０７）、処理を終了する。エラー処理の一例としては、操作対象のオブジェクトを特定できないことを示すエラーメッセージを表示画面に表示させ、再生処理を中断することが挙げられる。
【００７９】
操作対象のオブジェクトが特定できない場合とは、再生装置３００の表示画面に操作対象のオブジェクトが表示されていないことを示している。この場合、正しく操作記録情報２００が再現されていない状態である可能性がある。したがって、本実施形態の再生処理部３３０は、操作対象のオブジェクトが特定できない場合には、エラー処理（ステップＳ８０７）を行い、本再生処理を中断する。
【００８０】
他方、ステップＳ８０６において、親オブジェクトの表示領域にスクロールバーが表示されている場合、操作対象のオブジェクトが特定できなくても直ちにエラー処理は行わない。すなわち、探索部３３５は、ＯＳの機能により、スクロールバーを最端部に移動させる（ステップＳ８０８）。スクロールバーが縦表示の場合、探索部３３５は、スクロールバーを最下部又は最上部に移動させればよい。スクロールバーが横表示の場合、探索部３３５は、スクロールバーを最左部又は最右部に移動させればよい。
【００８１】
次に、スクロール移動処理を実行する（ステップＳ８０９）。スクロール移動処理の一例を図８のフローチャートに示す。探索部３３５は、操作対象のオブジェクトが表示画面に表示されているかを判定する（ステップＳ９０１）。操作対象のオブジェクトが表示画面に表示されていない場合、探索部３３５は、スクロールバーが始点となる最端部とは反対側の最端部まで移動したかを判定する（ステップＳ９０２）。
【００８２】
ステップＳ９０２において、スクロールバーが始点となる最端部に対して反対側の最端部まで移動している場合、探索部３３５は、エラー処理を実行し（ステップＳ９０４）、本処理を終了する。エラー処理の一例としては、図７のステップＳ８０７で行ったエラー処理と同様に、操作対象のオブジェクトを特定できないことを示すエラーメッセージを表示画面に表示させ、再生処理を中断することが挙げられる。
【００８３】
ステップＳ９０２において、スクロールバーが始点となる最端部に対して反対側の最端部まで移動していない場合、探索部３３５は、スクロールバーを自動で所定量移動させ（ステップＳ９０３）、ステップＳ９０１に戻り、スクロールバーを所定量移動させた状態で、操作対象のオブジェクトが表示されているかを再度判定する。なお、移動方向が横方向の場合の所定量は、例えばスクロールする表示領域の横幅である。また、移動方向が縦方向の場合の所定量は、例えばスクロールする表示領域の縦幅である。
【００８４】
例えば、記録時、図９（ａ）に示すアイコンＢのオブジェクト１０３の移動操作に対する操作記録情報２００が記録された場合、図９（ｂ）に示す画面例では、フォルダＡのオブジェクト１０２の表示領域に、操作対象のアイコンＢのオブジェクト１０３が表示されていない。この場合、本実施形態では、図９（ｃ）に示すように、探索部３３５は、スクロールバー１０を始点となる最上部に移動させた後、自動的にスクロールバー１０を所定量だけ下側に移動させる。これにより、図９（ｂ）に示す画面例ではフォルダＡのオブジェクト１０２内に表示されていなかった他のオブジェクトを表示させることができる。
【００８５】
ここでは、スクロールバー１０を移動させることにより、図９（ｂ）のスクロール位置では表示されていなかったアイコンＢのオブジェクト１０３とファイルのオブジェクト１１１とが表示される例を挙げる。この状態では、探索部３３５は、ステップＳ９０１において「Ｙｅｓ」と判定し、図８のステップＳ８０９に続くステップＳ８０４において、操作発生要求部３３４は、特定した操作対象のオブジェクトに対して記録されていた種類の操作の発生を要求する。
【００８６】
探索部３３５は、ステップＳ９０１の判定を行う際、その時点におけるオブジェクトの表示状態をＯＳに問い合わせる。例えば、問い合わせを行ったときに、図１０（ａ）に示すように、表示画面１０１のフォルダＡのオブジェクト１０２には、ファイルＡのオブジェクト１０４〜ファイルＦのオブジェクト１０９が表示され、見える状態にある。一方、ファイルＧのオブジェクト１１１及び操作対象であるアイコンＢのオブジェクト１０３は、スクロールを行わなければ表示されず、見えない状態にある。再生装置３００の記録処理部３２０は、表示状態を表示状態情報５００に記録する。表示状態情報５００の一例を図１０（ｂ）に示す。表示状態情報５００は、親オブジェクト情報３１、子オブジェクト情報３２及び表示フラグ３３を含む。図１０（ａ）の画面例の場合、図１０（ｂ）に示すように、表示状態情報５００の親オブジェクト情報３１は、フォルダＡ、親オブジェクト情報３１の下位階層のオブジェクトである子オブジェクト情報３２は、ファイルＡ〜Ｇ及びアイコンＢとなる。また、子オブジェクト情報３２の表示状態を示す表示フラグ３３は、ファイルＡ〜Ｆが表示されている状態を示す「１」に設定され、ファイルＧ及びアイコンＢが表示されていない状態を示す「０」に設定される。
【００８７】
探索部３３５は、ステップＳ９０１の判定を行う際、その時点におけるオブジェクトの表示状態をＯＳに問い合わせ、ＯＳから表示状態情報５００を取得し、各子オブジェクト情報３２に対する表示フラグに基づき、操作対象となるオブジェクトが表示されているか否かを判定する。所定期間、表示画面に表示されていないオブジェクトは、表示状態情報５００から消去される。この場合、消去されたオブジェクトの孫愛は確認できない。また、一度も見える状態になっていないオブジェクトは表示状態情報５００に登録されない。
【００８８】
例えば、図１０（ａ）に示すアイコンＢのオブジェクト１０３が、所定期間、表示画面に表示されていない場合、図１０（ｂ）の点線にて囲まれたアイコンＢに関する子オブジェクト情報３２及び表示フラグ３３が表示状態情報５００から消去される。この場合、アイコンＢのオブジェクト１０３の存在は確認できない場合に相当する。
【００８９】
以上、本実施形態によれば、操作対象となるオブジェクトが再生側の表示画面に表示されていない場合において、特定した上位階層のオブジェクトの表示を変更させることで、操作の対象オブジェクトが表示画面に表示されたかが判定される。これにより、操作対象のオブジェクトを表示画面に表示させることで、記録された操作内容を正しく再生することができる。これにより、特に、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合であっても、操作の再現の精度を向上させることができる。
【００９０】
（第二の実施形態）
以下に図面を参照して第二の実施形態について説明する。第二の実施形態は、一台のコンピュータが記録処理部と再生処理部を実現する点が第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００９１】
図１１は、第二の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生装置１００Ａは、操作記録再生処理部１１０Ａを有する。
【００９２】
本実施形態の操作記録再生処理部１１０Ａは、記録処理部１２０と再生処理部１３０とを有する。再生処理部１３０は、操作記録読込部１３１、オブジェクト特定部１３２、操作種類特定部１３３、操作発生要求部１３４、探索部１３５を有する。再生処理部１３０の有する各部は、第一の実施形態の再生処理部３３０の有する各部と同様の機能を実現する。
【００９３】
また、本実施形態の記録再生装置１００Ａは、記録部１４０を有する。記録部１４０は、記録再生装置１００Ａが有するメモリ装置等に設けられた記憶領域である。本実施形態の記録再生装置１００Ａでは、記録処理部１２０による記録された操作記録情報２００及び表示状態情報５００を記録部１４０に格納しても良い。この場合、再生処理部１３０は、記録部１４０に格納された操作記録情報２００を再生する。再生処理部１３０は、表示状態情報５００に基づくオブジェクトの表示状態に応じてスクロールバーを操作し、オブジェクトを表示させる。
【００９４】
本実施形態では、１台のコンピュータ（記録再生装置）１００Ａにおいて、記録処理部１２０による記録と、再生処理部１３０による再生とを同一のコンピュータで行うことで、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合でも、操作の再現の精度を維持できる。
【００９５】
（第三の実施形態）
以下に図面を参照して第三の実施形態について説明する。第三の実施形態は、記録装置１００において記録された操作記録情報２００が、外部のサーバに格納される点が第一の実施形態と相違する。
【００９６】
よって、以下の第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００９７】
図１２は、第三の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生システム４００は、記録装置１００、再生装置３００、サーバ４１０を有する。記録装置１００、再生装置３００及びサーバ４１０は、ネットワークを介して接続されている。
【００９８】
本実施形態の記録装置１００は、操作記録再生処理部１１０の記録処理部１２０により、操作記録情報２００をサーバ４１０に記録する。本実施形態の記録装置１００は、操作内容の記録の終了指示を受け付けてから、記録された操作記録情報２００をサーバ４１０に送信しても良い。
【００９９】
本実施形態の再生装置３００は、操作記録再生処理部３１０の再生処理部３３０により、サーバ４１０から操作記録情報２００を読み込んで再生する。本実施形態の再生装置３００は、操作記録情報２００全てをサーバ４１０から取得した後に、再生装置３００内に保持された操作記録情報２００を再生しても良い。
【０１００】
本実施形態によれば、再生装置３００はサーバ４１０から操作記録情報２００を取得すれば良く、操作記録情報２００が記憶された可搬型の記録媒体を持ち運んだり、記録媒体から操作記録情報２００を再生装置３００に読み取らせたりする作業が軽減される。
【０１０１】
以上、操作再生プログラム、操作再生装置及び操作再生方法を上記実施形態により説明したが、本発明にかかる操作再生プログラム、操作再生装置及び操作再生方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
【０１０２】
なお、オブジェクトは、デスクトップ画面等に表示されるウィンドウ、フォルダ、フォルダ内のファイル、アイコン、タグ、スクロール等であってもよい。また、オブジェクトは、これに限られず、デスクトップ画面に表示されている選択可能なすべての表示部品が含まれる。例えば、オブジェクトは、ウィンドウの最小化の要求を行うための表示部品、ウィンドウを閉じる要求を行うための表示部品、ウィンドウの最大化の要求を行うための表示部品であってもよい。オブジェクトは、メニューやコントロールパネルに表示された表示部品、ファイル内の選択可能な図等であってもよい。
【０１０３】
上記実施形態では、親オブジェクトに表示されたスクロールバーを移動させ、親オブジェクトの表示を変更させて操作対象のオブジェクトが表示画面に表示されているかを探索した。しかしながら、親オブジェクトの表示を変更させる方法は、スクロールバーを自動で移動させる方法に限られない。親オブジェクトの表示を変更させる他の方法としては、一部又は全部にてオーバラップしている複数のウィンドウのうち、後ろ側に表示されているウィンドウを画面上の最前に移動させ、最前に表示されていたウィンドウと前後関係を逆にするように表示させる方法が挙げられる。これによっても、操作対象となるオブジェクトが再生側の表示画面に表示されていない場合において、特定した上位階層のオブジェクトの表示を変更させることで、操作の対象オブジェクトが表示画面に表示されたかが判定される。これにより、操作対象のオブジェクトを表示画面に表示させることで、記録された操作内容を正しく再生することができる。
【０１０４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込み、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索し、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定し、
特定した前記上位階層のオブジェクトの表示を変更し、
前記操作の対象オブジェクトが表示されているかを探索し、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる、
処理をコンピュータに実行させる操作再生プログラム。
（付記２）
前記上位階層のオブジェクトを特定する処理は、スクロール可能なスクロールバーが存在するオブジェクトを探索し、
前記オブジェクトの表示を変更する処理は、表示された前記スクロールバーを移動し、前記操作の対象オブジェクトが表示されているかを探索する、
付記１に記載の操作再生プログラム。
（付記３）
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込む読込部と、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索する探索部と、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定するオブジェクト特定部と、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる操作発生要求部と、を有し、
前記探索部は、特定した前記上位階層のオブジェクトの表示を変更し、前記操作の対象オブジェクトが表示されているかを探索する、操作再生装置。
（付記４）
前記探索部は、スクロール可能なスクロールバーが存在するオブジェクトを探索して前記上位階層のオブジェクトを特定し、表示された前記スクロールバーを移動して前記上位階層のオブジェクトの表示を変更し、前記操作の対象オブジェクトが表示されているかを探索する、
付記３に記載の操作再生装置。
（付記５）
表示されたオブジェクトに対して行われた操作を前記オブジェクトの階層情報とともに記録した操作記録情報を読み込み、
前記操作記録情報に応じた前記操作の対象オブジェクトが表示されているかを探索し、
前記操作の対象オブジェクトが表示されていない場合、前記対象オブジェクトに対する上位階層のオブジェクトを特定し、
特定した前記上位階層のオブジェクトの表示を変更し、
前記操作の対象オブジェクトが表示されているかを探索し、
探索した結果、前記操作の対象オブジェクトが探索された場合に、前記操作の対象オブジェクトに対して、前記操作記録情報に記録された操作を発生させる、
処理をコンピュータが実行する操作再生方法。
（付記６）
前記上位階層のオブジェクトを特定する処理は、スクロール可能なスクロールバーが存在するオブジェクトを探索し、
前記オブジェクトの表示を変更する処理は、表示された前記スクロールバーを移動し、前記操作の対象オブジェクトが表示されているかを探索する、
付記５に記載の操作再生方法。
【符号の説明】
【０１０５】
２１：オブジェクト特定情報
２２：操作種類情報
２３：オブジェクト内座標情報
２４：移動元表示領域情報
２５：移動先座標情報
２６：移動先表示領域情報
１００  記録装置
１１０、３１０  操作記録再生処理部
１２０、３２０  記録処理部
１２１  操作検知部
１２２  割込発生部
１２３、１３２、３３２  オブジェクト特定部
１２４  操作種類取得部
１２５  操作記録部
１３０、３３０  再生処理部
１３４、３３４  操作発生要求部
１３５、３３５  探索部
２００  操作記録情報
３００  再生装置
３３１  操作記録読込部
４００  記録再生システム
４１０  サーバ
【図１】
0006528646.tif 000002
【図２】
0006528646.tif 000003
【図３】
0006528646.tif 000004
【図４】
0006528646.tif 000005
【図５】
0006528646.tif 000006
【図６】
0006528646.tif 000007
【図７】
0006528646.tif 000008
【図８】
0006528646.tif 000009
【図９】
0006528646.tif 000010
【図１０】
0006528646.tif 000011
【図１１】
0006528646.tif 000012
【図１２】
0006528646.tif 000013