(57)【特許請求の範囲】
【請求項１】
画面に表示されたオブジェクトに対する操作を操作検知部により検知し、
前記画面において前記操作を受け付けた位置の座標を示す座標情報と対応する位置にある操作対象オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録し、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、操作発生要求部により前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させるための操作発生要求を行う処理をコンピュータに実行させる操作記録再生プログラム。
【請求項２】
前記操作記録情報を記録する処理は、前記操作対象オブジェクトの上位階層の階層情報を含む操作記録情報を記録し、
前記識別対象オブジェクトを検索する処理は、前記階層情報から得られる操作対象オブジェクトの上位階層の上位オブジェクトに対して、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、前記上位オブジェクトと前記識別対象オブジェクトを識別するインデックス情報を生成し、
生成した前記インデックス情報を前記階層情報に含まれる前記上位オブジェクトを示す情報に付与する請求項１記載の操作記録再生プログラム。
【請求項３】
前記識別対象オブジェクトを検索する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトが存在する場合に付与する請求項１記載の操作記録再生プログラム。
【請求項４】
前記操作を発生させる処理は、
前記階層情報と前記インデックス情報とに基づき、画面に、前記操作対象オブジェクト及び他のオブジェクトが表示されているか否かを判定し、
前記操作対象オブジェクト及び前記他のオブジェクトが全て前記画面に表示されていると判定された場合、前記操作を発生させるオブジェクトを特定し、
前記操作対象オブジェクト及び前記他のオブジェクトの少なくとも一部が前記画面に表示されていないと判定された場合、前記操作を発生させる処理を終了する、請求項１乃至３の何れか一項に記載の操作記録再生プログラム。
【請求項５】
前記階層情報は、
前記操作対象オブジェクトの名称と、
前記操作対象オブジェクトが属する階層より１階層上の階層から前記画面と対応する階層までの各階層における、前記操作対象オブジェクトが従属するオブジェクトの名称と、を、上位の階層から順に記述した情報である、請求項１乃至４の何れか一項に記載の操作記録再生プログラム。
【請求項６】
前記インデックス情報は、
前記操作対象オブジェクト及び他のオブジェクトのそれぞれが属する階層の１階層上の階層における、前記操作対象オブジェクト及び前記他のオブジェクトの並び順を示す情報である請求項１乃至５の何れか一項に記載の操作記録再生プログラム。
【請求項７】
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、前記操作を受け付けた位置の座標を示す座標情報と対応する位置にある操作対象オブジェクトの階層情報と、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させるための操作発生要求を行う、処理をコンピュータに実行させる操作再生プログラム。
【請求項８】
コンピュータによる操作再生方法であって、該コンピュータが、
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、前記操作を受け付けた位置の座標を示す座標情報と対応する位置にある操作対象オブジェクトの階層情報と、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させるための操作発生要求を行う、操作再生方法。
【請求項９】
画面に表示されたオブジェクトに対する操作を操作検知部により検知し、
前記画面において前記操作を受け付けた位置の座標を示す座標情報と対応する位置にある操作対象オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録する記録処理部と、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、操作発生要求部により前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させるための操作発生要求を行う再生処理部と、を有する操作記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作記録再生プログラム、操作再生プログラム、操作再生方法及び操作記録再生装置に関する。
【背景技術】
【０００２】
従来では、コンピュータに対する操作内容を記録し、記録した操作内容を再生することで、操作を再現する技術が知られている。
【０００３】
また、従来では、操作画面において操作が行われた位置を示す座標情報と、操作により起動したプログラムを示す情報とを、操作内容として記録することが知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−６３２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の手法により記録された操作内容では、例えばアイコン等の操作の対象となる画面上のオブジェクトの表示領域に、記録された座標情報が含まれない場合、記録された操作が再現されない。また、従来の手法により記録された操作内容では、プログラムを起動させるために、どのオブジェクトに対してどのような操作がなされたかを特定できない。
【０００６】
このため、従来の手法では、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合等には、記録された操作内容が正しく再生されない可能性がある。
【０００７】
１つの側面では、操作の再現の精度を向上させることが可能な操作記録再生プログラム、操作記録再生方法及び操作記録再生システムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
１つの実施態様では、画面に表示されたオブジェクトに対する操作を操作検知部により検知し、前記画面において前記操作を受け付けた位置の座標を示す座標情報と対応する位置にある操作対象オブジェクトの階層情報を取得し、取得した前記階層情報に基づいて、前記操作対象オブジェクトの１階層上のオブジェクトに従属する識別対象オブジェクトを検索し、前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録し、記録された前記操作記録情報を読み込み、前記オブジェクト特定情報と前記インデックス情報とに基づき、操作発生要求部により前記操作を発生させるオブジェクトを特定し、特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させるための操作発生要求を行う処理をコンピュータに実行させる。
【０００９】
上記各処理は、上記各処理を実現する機能部、上記各処理を手順としてコンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１０】
操作の再現の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】操作内容の記録と再生について説明する図である。
【図２】記録装置による操作記録情報の記録と、再生装置による操作記録情報の再生を説明する図である。
【図３】記録装置のハードウェア構成の一例を示す図である。
【図４】第一の実施形態の記録装置及び再生装置の機能構成を説明する図である。
【図５】オブジェクト情報を説明する図である。
【図６】記録処理部の処理を説明するフローチャートである。
【図７】操作記録情報の記述例を示す図である。
【図８】再生処理部の処理を説明するフローチャートである。
【図９】存在チェックテーブルを説明する図である。
【図１０】インデックス情報が付与されていない操作記録情報の記述例を示す図である。
【図１１】第二の実施形態の記録再生装置の機能構成を説明する図である。
【図１２】第三の実施形態の記録再生システムのシステム構成を示す図である。
【発明を実施するための形態】
【００１２】
（第一の実施形態）
以下に図面を参照して実施形態について説明する。図１は、操作内容の記録と再生について説明する図である。
【００１３】
本実施形態では、コンピュータ１００において行われた操作の内容を、操作記録情報２００として記録する。記録された操作記録情報２００は、コンピュータ３００−１、３００−２において読み込まれ、記録された操作が再現される。
【００１４】
本実施形態において、操作記録情報２００として内容が記録される操作は、例えばコンピュータ１００で繰り返し行わせたい操作や、コンピュータ３００−１、３００−２等の他のコンピュータで行わせたい操作等である。
【００１５】
尚、図１では、操作記録情報２００を再生するコンピュータを、コンピュータ３００−１、３００−２の２台としたが、操作記録情報２００を再生するコンピュータの数は任意であって良い。以下の説明では、コンピュータ３００−１、３００−２を区別しない場合には、単にコンピュータ３００と呼ぶ。
【００１６】
また、以下の説明では、操作の内容を操作記録情報２００として記録するコンピュータ１００を、記録装置１００と呼び、操作記録情報２００を再生するコンピュータ３００を再生装置３００と呼ぶ。
【００１７】
本実施形態では、記録装置１００において、操作記録情報２００を記録することで、記録装置１００で行われた操作を自動的に任意の数の再生装置３００に行わせることができる。したがって、本実施形態によれば、例えば複数台のコンピュータに同一の設定を行う操作を実施する場合等には、１台の記録装置１００において該当する操作を実施して操作記録情報２００を記録し、この操作記録情報２００を複数台のコンピュータに再生させれば良い。
【００１８】
また、本実施形態では、記録装置１００と再生装置３００とを別のコンピュータとしているが、これに限定されない。記録装置１００と再生装置３００とは、同一の装置であっても良い。この場合、例えば１台のコンピュータに複数回同じ操作を実行させたい場合等に、操作記録情報２００を記録し、再生させれば良い。
【００１９】
尚、本実施形態の操作記録情報２００は、例えば記録装置１００において、外部の記憶装置や可搬型の記憶媒体等に記録されても良い。
【００２０】
次に、本実施形態の記録装置１００による操作記録情報２００の記録と、再生装置３００による操作記録情報２００の再生について説明する。
【００２１】
本実施形態の記録装置１００は、表示画面に表示されたオブジェクトを特定するオブジェクト特定情報と、特定されたオブジェクトに対して行われた操作の種類を示す操作種類情報と、を操作記録情報２００として記録する。言い換えれば、本実施形態の操作記録情報２００は、オブジェクト特定情報と、オブジェクト特定情報に対応付けられた操作種類情報とを含む。本実施形態におけるオブジェクトとは、画面上に選択可能な状態で表示され得るものであり、且つ操作の対象となる表示部品である。
【００２２】
以下に、オブジェクト特定情報について説明する。
【００２３】
本実施形態のオブジェクト特定情報は、操作対象とされたオブジェクトの階層を示す階層情報と、表示画面に表示された各オブジェクトの並び順を示すインデックス情報と、を含む。
【００２４】
本実施形態の階層情報は、デスクトップを最上位の階層としたとき、階層情報の取得対象とされたオブジェクトが所属する階層から最上位の階層までに、取得対象のオブジェクトが従属しているオブジェクトの名称と、取得対象のオブジェクトの名称と、を上位の階層にあるものから順に並べた情報である。つまり、本実施形態の階層情報は、操作対象のオブジェクトと、表示画面における他のオブジェクトとの関係を示す情報である。
【００２５】
インデックス情報とは、オブジェクトの名称に付与されるものであり、オブジェクトの属する階層の１階層上の階層における、該当するオブジェクトの並び順（配置）を示す。
【００２６】
本実施形態のオブジェクトの名称は、記録装置１００に搭載されたＯＳ（Operating System）により取得されるオブジェクト情報に含まれる。オブジェクト情報は、オブジェクトの名称、種類、自身が従属するオブジェクトの名称、自身に従属しているオブジェクトの名称、その名称のオブジェクトの数等の情報が含まれる。
【００２７】
本実施形態の再生装置３００は、操作記録情報２００に含まれるオブジェクト特定情報に基づき、再生装置３００の表示画面において、操作の対象となるオブジェクトを特定する。そして、再生装置３００は、操作種類情報に基づき、特定されたオブジェクトに対して操作種類情報が示す種類の操作を発生させる。
【００２８】
したがって、本実施形態によれば、操作記録情報２００の再生の際に、表示画面における操作対象のオブジェクトの表示位置に関わらず操作を再現でき、操作の再現の精度を向上させることができる。
【００２９】
また、本実施形態によれば、操作記録情報２００の再生の際に、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合等でも、どのオブジェクトに何の操作が行われたかを特定できる。よって、本実施形態によれば、記録時の環境と再生時の環境の違いに影響を抑えることができ、汎用性を向上させることができる。
【００３０】
図２は、記録装置による操作記録情報の記録と、再生装置による操作記録情報の再生を説明する図である。
【００３１】
図２では、記録装置１００の表示画面１０１に表示されたオブジェクトに対して行われた操作の内容を記録する例を示している。表示画面１０１は、記録装置１００のディスプレイ等に表示される。
【００３２】
表示画面１０１は、記録装置１００のデスクトップ画面であり、オブジェクト１０２−１〜１０７−１、１０２−２〜１０７−２が表示されている。オブジェクト１０２−１〜１０７−１、１０２−２〜１０７−２は、それぞれが選択可能であり、且つ操作の対象となり得る。
【００３３】
オブジェクト１０２−１、１０２−２は、アプリケーション「ＸＹＺ」の起動により立ち上げられたウィンドウである。つまり、表示画面１０１は、同一名称のアプリケーション「ＸＹＺ」が複数立ち上げられた状態を示している。
【００３４】
オブジェクト１０３−１、１０３−２、１０４−１、１０４−２は、起動しているアプリケーション「ＸＹＺ」それぞれに対する操作を行うための表示部品である。
【００３５】
オブジェクト１０３−１、１０４−１は、オブジェクト１０２−１の内部に表示された、オブジェクト１０２−１の１階層下の階層のオブジェクトであり、オブジェクト１０２−１に従属している。オブジェクト１０３−２、１０４−２は、オブジェクト１０２−２の内部に表示された、オブジェクト１０２−２の１階層下のオブジェクトであり、オブジェクト１０２−２に従属している。
【００３６】
オブジェクト１０５−１、１０５−２は、それぞれが対応するウィンドウの最小化の要求を行うための表示部品である。オブジェクト１０６−１、１０６−２は、それぞれが対応するウィンドウを閉じる要求を行うための表示部品である。ウィンドウを閉じる要求とは、アプリケーション「ＸＹＺ」の終了の要求である。オブジェクト１０７−１、１０７−２は、それぞれが対応するウィンドウの最大化の要求を行うための表示部品である。
【００３７】
オブジェクト１０５−１、１０６−１、１０７−１は、オブジェクト１０２−１の内部に表示された表示部品であり、オブジェクト１０２−１の１階層下のオブジェクトである。オブジェクト１０５−２、１０６−２、１０７−２は、オブジェクト１０２−２の内部に表示された表示部品であり、オブジェクト１０２−２の１階層下のオブジェクトである。
【００３８】
ここで、表示画面１０１に表示されたオブジェクトのうち、名称と種類が一致するオブジェクトについて考える。オブジェクトの名称とは、オブジェクト内に表示されたテキストデータである。オブジェクトの種類とは、例えばウィンドウ、ダイアログボックス、ボタン（最小化、最大化、閉じる等）、ラベル等を示す。
【００３９】
図２の例では、オブジェクト１０２−１、１０２−２は、同一のアプリケーション「ＸＹＺ」によって表示されるウィンドウであり、オブジェクトの名称と種類が一致する。
【００４０】
オブジェクト１０２−１には、オブジェクト１０３−１とオブジェクト１０４−１が表示されている。オブジェクト１０３−１とオブジェクト１０４−１のそれぞれは、名称が「ＯＫ」、種類が「ボタン」であり、両方ともオブジェクト１０２−１に従属しており、自身に従属するオブジェクトは存在しない。
【００４１】
オブジェクト１０２−２には、オブジェクト１０３−２とオブジェクト１０４−２が表示されている。オブジェクト１０３−２とオブジェクト１０４−２のそれぞれは、名称が「ＯＫ」、種類が「ボタン」であり、両方ともオブジェクト１０２−２に従属しており、自身に従属するオブジェクトは存在しない。
【００４２】
したがって、オブジェクト１０２−１、１０２−２のそれぞれのオブジェクト情報は同一の情報となる。また、オブジェクト１０３−１、１０４−１、１０３−２、１０４−２のそれぞれのオブジェクト情報は、同一の情報となる。
【００４３】
このため、例えば、表示画面１０１において、ポインタＰによりオブジェクト１０３−２を選択してクリック操作を行い、その次にオブジェクト１０４−１を選択してクリック操作を行った場合、単にオブジェクト情報を取得しただけでは、オブジェクト１０３−２とオブジェクト１０４−１のオブジェクト情報が同一のものとなり、区別がつかなくなる。したがって、このオブジェクト情報を操作種類情報と対応付けて操作記録情報とした場合、再生装置３００に操作を正しく再生させることができない。
【００４４】
そこで、本実施形態の記録装置１００は、表示画面に、操作対象とオブジェクト情報が同一となるオブジェクトが複数存在する場合、操作対象のオブジェクトの名称にインデックス情報を付与する。
【００４５】
そして、記録装置１００は、インデックス情報が含むオブジェクト特定情報を、操作種類情報と共に操作記録情報２００として記録する。
【００４６】
本実施形態では、インデックス情報を付与することで、操作対象のオブジェクトを表示画面上で一意に特定することができる。したがって、例えばオブジェクト１０３−２に対する操作の操作記録情報と、オブジェクト１０４−１に対する操作の操作記録情報とは異なるものとなり、これらの操作の操作記録情報を区別して記録することができる。
【００４７】
また、以下の説明では、オブジェクト情報が一致するオブジェクト同士を、同一のオブジェクトと呼ぶ。
【００４８】
また、本実施形態の再生装置３００は、操作記録情報２００を再生する際に、再生装置３００の表示画面において、操作対象となるオブジェクトと同一のオブジェクトの数が、記録装置１００の表示画面における操作対象のオブジェクトと同一のオブジェクトの数と一致するか否かを判定する。
【００４９】
そして、本実施形態の再生装置３００は、操作対象のオブジェクトと同一のオブジェクトの数が操作記録情報２００と一致する場合に再生の処理を実行する。また、本実施形態の再生装置３００は、操作対象のオブジェクトと同一のオブジェクトの数が一致しない場合は、エラーとして再生の処理を停止させる。再生装置３００において、表示されるオブジェクトの数が記録時と異なる場合には、何らかの理由により操作が正しく再現されていないと考えられるからである。
【００５０】
以上のように、本実施形態の記録装置１００は、操作記録情報２００を記録する際に、画面上に同一のオブジェクトが複数存在する場合でも、操作対象とされたオブジェクトを区別して記録することができる。
【００５１】
また、本実施形態の再生装置３００は、操作記録情報２００を再生する際に、操作対象のオブジェクトと同一のオブジェクトが複数存在していても、記録時に操作対象とされたオブジェクトを特定し、そのオブジェクトに対する操作を再現することができる。
【００５２】
よって、本実施形態によれば、操作の再現の精度を向上させることができる。
【００５３】
次に、図３を参照して本実施形態の記録装置１００と再生装置３００のハードウェア構成について説明する。本実施形態の記録装置１００と再生装置３００のハードウェア構成は、同じであるため、図３では、記録装置のハードウェア構成について説明し、再生装置３００のハードウェア構成の説明は省略する。
【００５４】
図３は、記録装置のハードウェア構成の一例を示す図である。本実施形態の記録装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６及びインターフェース装置１７を含む。
【００５５】
入力装置１１はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置１２はディスプレイ装置等を含み、各種ウィンドウやデータ等を表示するために用いられる。インターフェース装置１７は、モデム、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００５６】
操作記録再生プログラムは、記録装置１００を制御する各種プログラムの少なくとも一部である。操作記録再生プログラムは例えば記録媒体１８の配布やネットワークからのダウンロードなどによって提供される。操作記録再生プログラムを記録した記録媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００５７】
また、操作記録再生プログラムは、操作記録再生プログラムを記録した記録媒体１８がドライブ装置１３にセットされるとは記録媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた操作記録再生プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００５８】
補助記憶装置１４は、インストールされた操作記録再生プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、コンピュータの起動時に補助記憶装置１４から操作記録再生プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された操作記録再生プログラムに従って、後述するような各種処理を実現している。
【００５９】
また、本実施形態の記録装置１００は、例えばタブレット型のコンピュータ等であっても良い。その場合、入力装置１１及び出力装置１２の代わりに、表示機能を有するタッチパネル等の表示操作装置を有していても良い。
【００６０】
次に、図４を参照して本実施形態の記録装置１００と再生装置３００の機能について説明する。
【００６１】
図４は、第一の実施形態の記録装置及び再生装置の機能構成を説明する図である。本実施形態の記録装置１００は、操作記録再生処理部１１０を有する。また、本実施形態の再生装置３００は、操作記録再生処理部３１０を有する。
【００６２】
本実施形態の操作記録再生処理部１１０は、記録装置１００にインストールされた操作記録再生プログラムを演算処理装置１６が実行することで実現される。
【００６３】
また、本実施形態の操作記録再生処理部３１０は、再生装置３００にインストールされた操作記録再生プログラムを、再生装置３００の演算処理装置が実行することで実現される。
【００６４】
ここで、本実施形態において、記録装置１００と再生装置３００のそれぞれにインストールされる操作記録再生プログラムは、同一のプログラムであって良い。
【００６５】
記録装置１００では、操作記録再生プログラムに含まれる記録プログラムを実行することで記録処理部１２０を実現し、コンピュータを記録装置１００として動作させる。
【００６６】
また、再生装置３００では、操作記録再生プログラムに含まれる再生プログラムを実行することで再生処理部３３０を実現し、コンピュータを再生装置３００として動作させる。
【００６７】
始めに、本実施形態の記録装置１００について説明する。本実施形態の記録装置１００の操作記録再生処理部１１０は、記録処理部１２０、再生処理部１３０を有する。
【００６８】
本実施形態の記録処理部１２０は、操作検知部１２１、割込発生部１２２、オブジェクト情報取得部１２３、操作種類取得部１２４、階層情報取得部１２５、オブジェクト数判定部１２６、インデックス付与部１２７、操作記録部１２８を有する。
【００６９】
操作検知部１２１は、記録装置１００において行われた操作を検知する。具体的には、本実施形態の操作検知部１２１は、記録装置１００に搭載されたＯＳがクリック操作、ドラッグ操作、ドロップ操作を検知したことを示す通知を受け付け、操作を受け付けたことを割込発生部１２２へ通知する。
【００７０】
本実施形態では、画面上の同一の座標において、マウスボタンのボタンダウンとボタンアップが検知されたとき、この操作はクリック操作として検知される。また、本実施形態では、マウスボタンのボタンダウン後に、ポインタが指し示す座標が移動した場合に、この操作はドラッグ操作として検知される。また、本実施形態では、ポインタが指し示す座標が移動した後のマウスボタンのボタンアップを検知したとき、この操作はドロップ操作として検知される。
【００７１】
割込発生部１２２は、操作検知部１２１により検知対象の操作が検知されると、記録装置１００に搭載されたＯＳに対して割り込みを発生させ、操作内容を記録する処理の実行を要求する。
【００７２】
オブジェクト情報取得部１２３は、割り込みが発生すると、ポインタが指し示しているオブジェクトに関するオブジェクト情報を取得する。
【００７３】
具体的には、オブジェクト情報取得部１２３は、表示画面においてポインタが指し示している位置の座標情報を取得し、この座標情報を記録装置１００に搭載されたＯＳに渡し、ＯＳから座標情報と対応するオブジェクトのオブジェクト情報を受け取る。
【００７４】
操作種類取得部１２４は、割り込みが発生すると、操作検知部１２１により検知された操作の種類を示す情報を取得する。
【００７５】
階層情報取得部１２５は、オブジェクトの階層情報を取得する。具体的には、階層情報取得部１２５は、階層情報の取得対象とされたオブジェクトについて、そのオブジェクトが従属している全てのオブジェクトの名称を取得する。つまり、階層情報取得部１２５は、階層情報の取得対象のオブジェクトが属する階層から１つ上の階層から最上位の階層（デスクトップ）に到達するまでに辿れる全てのオブジェクトの名称と、取得対象のオブジェクトの名称と、を階層情報として取得する。
【００７６】
オブジェクト数判定部１２６は、オブジェクト情報及び階層情報に基づき、表示画面上における、判定対象のオブジェクトと同一のオブジェクトの数を判定する。
【００７７】
インデックス付与部１２７は、オブジェクト数判定部１２６により、表示画面上に同一のオブジェクトが複数存在すると判定されたとき、複数のオブジェクトのそれぞれの名称に、オブジェクトの並び順を示すインデックス情報を付与する。
【００７８】
操作記録部１２８は、オブジェクトの名称にインデックス情報を付与したオブジェクト特定情報を、操作種類情報と対応付けた操作記録情報２００として記録する。また、本実施形態の操作記録部１２８は、記録処理の終了指示を受け付けたとき、記録の処理を終了する。
【００７９】
操作記録情報２００は、例えば可搬型の記憶媒体２１０に記録される。記憶媒体２１０は、再生装置３００において読取可能な記憶媒体であれば良い。
【００８０】
次に、本実施形態の再生装置３００について説明する。本実施形態の再生装置の操作記録再生処理部３１０は、記録処理部３２０、再生処理部３３０を有する。
【００８１】
本実施形態の再生装置３００では、上述したように、再生処理部３３０が実現される。本実施形態の再生処理部３３０は、操作記録読込部３３１、操作種類特定部３３２、存在判定部３３３、オブジェクト数比較部３３４、オブジェクト特定部３３５、操作発生要求部３３６、テーブル格納部３３７を有する。
【００８２】
操作記録読込部３３１は、記憶媒体２１０に格納された操作記録情報２００を読み込む。操作種類特定部３３２は、操作記録情報２００に含まれる操作種類情報から、特定したオブジェクトに対して行う操作の種類を特定する。
【００８３】
存在判定部３３３は、再生装置３００の表示画面上に、操作記録情報２００が示すオブジェクトが存在するか否か（表示されているか否か）を判定する。存在判定部３３３は、再生装置３００の表示画面上に該当するオブジェクトが存在しない場合、エラーとして操作記録情報２００の再生を停止させる。
【００８４】
オブジェクト数比較部３３４は、再生装置３００の表示画面上に、操作記録情報２００が示すオブジェクトが存在すると判定されたとき、操作記録情報２００が示すオブジェクトの数と、表示画面上におけるこのオブジェクトの数と、を比較する。そして、オブジェクト数比較部３３４は、比較結果が一致しない場合には、エラーとして操作記録情報２００の再生を停止させる。
【００８５】
オブジェクト特定部３３５は、オブジェクト数比較部３３４による比較結果が一致したとき、操作記録情報２００に含まれるオブジェクト特定情報に基づき、操作対象のオブジェクトに特定する。
【００８６】
操作発生要求部３３６は、再生装置３００に搭載されたＯＳに対して、操作対象のオブジェクトに対して特定した操作を発生させるための操作発生要求を行う。再生装置３００では、ＯＳに対して操作発生要求を行うことで、ＯＳの機能により要求した操作が発生し、操作記録情報２００に記録された操作内容が再生装置３００において再現される。
【００８７】
テーブル格納部３３７は、存在判定部３３３の処理において参照されるテーブルを格納する。テーブル格納部３３７が格納するテーブルの詳細は後述する。
【００８８】
次に、図５を参照して、本実施形態のオブジェクト特定情報について説明する。図５は、オブジェクト情報を説明する図である。
【００８９】
図５では、図２に示す表示画面１０１に対する操作により取得されるオブジェクト特定情報を説明する。
【００９０】
図２に示す表示画面１０１に表示された各オブジェクトのオブジェクト情報を示している。
【００９１】
オブジェクト情報１１２−１は、オブジェクト１０２−１のオブジェクト情報であり、オブジェクト情報１１２−２は、オブジェクト１０２−２のオブジェクト情報である。オブジェクト情報１１２−１、１１２−２のそれぞれは、オブジェクト１０２−１、１０２−２の名称と種類及びオブジェクト１０２−１、１０２−２に含まれるオブジェクトの名称とその数が含まれる。
【００９２】
本実施形態のオブジェクト１０２−１、１０２−２は、デスクトップ１０１Ａを最上位の階層とした場合に、デスクトップ１０１Ａの１つ下の階層のオブジェクトとなる。デスクトップ１０１Ａは、オブジェクトではないため、オブジェクト１０２−１、１０２−２が従属しているオブジェクトは存在しない。よって、オブジェクト情報１１２−１、１１２−２には、オブジェクト１０２−１、１０２−２が従属するオブジェクトの名称は含まれない。
【００９３】
また、本実施形態のオブジェクト１０２−１、１０２−２には、それぞれにオブジェクト１０３−１、１０４−１とオブジェクト１０３−２、１０４−２が含まれる。したがって、オブジェクト情報１１２−１には、オブジェクト１０２−１に含まれる（従属する）１０３−１、１０４−１の名称が含まれる。また、オブジェクト情報１１２−１には、オブジェクト１０２−１に含まれるオブジェクトのうち、名称が一致するオブジェクトの個数が含まれる。
【００９４】
オブジェクト１０２−１、１０２−２は、両者ともアプリケーション「ＸＹＺ」により起動されるウィンドウである。よって、オブジェクト情報１１２−１、１１２−２のどちらも、名称「ＸＹＺ」、種類「ウィンドウ」を含む。また、オブジェクト１０２−１、１０２−２は、両者ともに、オブジェクトの名称が「ＯＫ」となるオブジェクトが２つずつ含まれる。このため、オブジェクト情報１１２−１、１１２−２のどちらも、含んでいるオブジェクトの名称「ＯＫ」と、個数「２」を含む。
【００９５】
したがって、オブジェクト情報１１２−１、１１２−２は同一の情報となり、それぞれに同一の識別子が付与される。
【００９６】
本実施形態の識別子とは、オブジェクトをデスクトップ１０１Ａに表示させるときに、各オブジェクトのオブジェクト情報に付与される識別子である。この識別子は、アプリケーションＸＹＺの実行によって付与され、画面の表示が遷移する度に新たに付与されるものであり、オブジェクト情報には含まれなくても良い。また、本実施形態では、同一のオブジェクト情報に対しては同一の識別子が付与される。以下の説明では、オブジェクト情報を識別するための識別子を、オブジェクトＩＤと呼ぶ。
【００９７】
オブジェクト情報１１３−１、１１４−１は、オブジェクト１０３−１、１０４−１のオブジェクト情報であり、オブジェクト１０３−１、１０４−１の名称と種類と及びオブジェクト１０３−１、１０４−１のそれぞれが従属するオブジェクトの名称が含まれる。また、オブジェクト１０３−１、１０４−１に含まれるオブジェクトは存在しない。したがって、オブジェクト情報１１３−１、１１４−１には、含まれるオブジェクトの名称と個数を示す情報は含まれない。
【００９８】
オブジェクト１０３−１の名称は「ＯＫ」であり、種類は「ボタン」である。また、オブジェクト１０３−１は、オブジェクト１０２−１の内部に表示されたオブジェクト１０２−１に従属するオブジェクトであり、オブジェクト１０２−１の下の階層のオブジェクトとなる。
【００９９】
よって、オブジェクト情報１１３−１では、オブジェクト１０３−１の名称「ＯＫ」、種類「ボタン」に加え、オブジェクト１０３−１が従属するオブジェクト１０２−１の名称である「ＸＹＺ」を含む。
【０１００】
オブジェクト１０４−１の名称は「ＯＫ」であり、種類は「ボタン」である。また、オブジェクト１０４−１は、オブジェクト１０２−１の内部に表示されているオブジェクトであり、オブジェクト１０２−１の下の階層のオブジェクトである。
【０１０１】
よって、オブジェクト情報１１４−１では、オブジェクト１０４−１の名称「ＯＫ」、種類「ボタン」、オブジェクト１０４−１が従属するオブジェクト１０２−１の名称である「ＸＹＺ」を含む。
【０１０２】
すなわち、オブジェクト情報１１３−１、１１４−１は、同一の情報となる。したがって、オブジェクト情報１１３−１、１１４−１には、同一のオブジェクトＩＤが付与される。
【０１０３】
オブジェクト情報１１３−２、１１４−２は、オブジェクト１０３−２、１０４−２のオブジェクト情報であり、オブジェクト１０３−２、１０４−２の名称と種類と及びオブジェクト１０３−２、１０４−２のそれぞれが従属するオブジェクトの名称が含まれる。
【０１０４】
したがって、オブジェクト情報１１３−２、１１４−２は、名称「ＯＫ」、種類「ボタン」、それぞれのオブジェクトが従属するオブジェクト１０２−２の名称である「ＸＹＺ」を含む。よって、オブジェクト情報１１３−２、１１４−２はそれぞれが同一の情報であり、さらに、オブジェクト情報１１３−１、１１４−１とも同一の情報となる。したがって、オブジェクト情報１１３−１、１１３−２、１１４−１、１１４−２には、同一のオブジェクトＩＤが付与される。
【０１０５】
本実施形態の記録装置１００では、これらのオブジェクト情報に含まれるオブジェクトの名称に、そのオブジェクトの１つ上の階層における並び順（配置）を示す情報をインデックス情報として付与する。
【０１０６】
例えば、オブジェクト１０２−１は、オブジェクト１０２−１の１つ上の階層のデスクトップ１０１Ａにおいて、左側に配置され、オブジェクト１０２−２は、オブジェクト１０２−２の１つ上の階層のデスクトップ１０１Ａにおいて、右側に配置されている（図２参照）。
【０１０７】
そこで、本実施形態では、１つ上の階層において、左端に配置されたオブジェクトから順に、並び順を示す値をインデックス情報として付与する。
【０１０８】
例えば、デスクトップ１０１Ａには、同一のオブジェクト１０２−１、１０２−２が表示されており、オブジェクト１０２−１は左端に表示されている。
【０１０９】
したがって、記録装置１００は、例えばオブジェクト１０２−１の場合、オブジェクト１０２−１の名称に、インデックス情報として「インデックス値：０」を付与し、オブジェクト１０２−１のオブジェクト特定情報とする。
【０１１０】
また、記録装置１００は、オブジェクト１０２−２の場合、オブジェクト１０２−２の名称に、インデックス情報として「インデックス値：１」を付与し、オブジェクト１０２−２のオブジェクト特定情報とする。
【０１１１】
同様に、記録装置１００は、オブジェクト１０３−１の場合、オブジェクト１０３−１の１つ上の階層であるオブジェクト１０２−１における、オブジェクト１０３−１の並び順をインデックス情報として、オブジェクト１０３−１の名称に付与する。
【０１１２】
オブジェクト１０２−１には、オブジェクト１０３−１と同一のオブジェクトであるオブジェクト１０４−１が存在する。また、オブジェクト１０３−１は、オブジェクト１０２−１において左端に表示されている。よって、記録装置１００は、オブジェクト１０３−１の名称に、インデックス情報として「インデックス値：０」を付与し、オブジェクト１０３−１のオブジェクト特定情報とする。
【０１１３】
また、本実施形態の記録装置１００は、オブジェクトの１階層上に、同一の他のオブジェクトが存在しない場合には、このオブジェクトの名称に、インデックス情報として「インデックス値：０」を付与する。
【０１１４】
以上のように、本実施形態の記録装置１００は、操作記録情報２００を記録する際に、オブジェクトの名称に、インデックス情報を付与することで、同一のオブジェクトが複数存在する場合でも再生装置３００に操作対象のオブジェクトを特定させることができる。
【０１１５】
以下に、図６を参照して本実施形態の記録装置１００の記録処理部１２０の処理について説明する。図６は、記録処理部の処理を説明するフローチャートである。
【０１１６】
本実施形態の記録装置１００の記録処理部１２０は、操作検知部１２１により、操作を検知し、割込発生部１２２により割込を発生させ、表示画面において操作を受け付けた位置の座標を示す座標情報を取得する。また、記録処理部１２０は、操作種類取得部１２４により、操作検知部１２１が検知した操作の種類を示す操作種類情報を取得する（ステップＳ６０１）。
【０１１７】
続いて、記録処理部１２０は、オブジェクト情報取得部１２３により、取得した座標情報と対応する位置にあるオブジェクトのオブジェクト情報と、オブジェクト情報に付与されたオブジェクトＩＤをＯＳから取得する。さらに、記録処理部１２０は、階層情報取得部１２５により、座標情報と対応する位置にあるオブジェクトの階層情報をＯＳから取得する（ステップＳ６０２）。取得した座標情報と対応する位置にあるオブジェクトは、操作対象のオブジェクトである。
【０１１８】
続いて、記録処理部１２０は、階層情報取得部１２５により、階層情報に基づき、操作対象のオブジェクトからデスクトップまでの階層数を取得し、取得した階層数をｍａｘとする（ステップＳ６０３）。
【０１１９】
続いて、記録処理部１２０は、操作対象のオブジェクトを問い合わせ対象のオブジェクトに設定し（ステップＳ６０４）、変数ｎ＝１とする（ステップＳ６０５）。続いて、記録処理部１２０は、記録装置１００の有する作業用の記憶領域を初期化する（ステップＳ６０６）。作業用の記憶領域とは、例えば記録装置１００の有するメモリ装置１５等に設けられた所定の記憶領域である。
【０１２０】
続いて、記録処理部１２０は、オブジェクト情報取得部１２３により、階層情報を参照し、問い合わせ対象のオブジェクトの１階層上のオブジェクトのオブジェクト情報と、そのオブジェクトＩＤとを取得する（ステップＳ６０７）。続いて、記録処理部１２０は、オブジェクト数判定部１２６により、ステップＳ６０７で取得したオブジェクト情報に、問い合わせ対象のオブジェクトの名称がいくつあるか、判定する（ステップＳ６０８）。
【０１２１】
続いて、記録処理部１２０は、オブジェクト数判定部１２６により、該当するオブジェクトの名称が１つであるか否かを判定する（ステップＳ６０９）。
【０１２２】
つまり、オブジェクト数判定部１２６は、問い合わせ対象のオブジェクトと同じ名称のオブジェクトが、１階層上のオブジェクトに複数存在しているか否かを判定している。言い換えれば、オブジェクト数判定部１２６は、問い合わせ対象のオブジェクトと、共通するオブジェクトに従属しているオブジェクトの数を判定している。
【０１２３】
ステップＳ６０９において、該当するオブジェクトの数が１つであった場合、記録処理部１２０は、インデックス付与部１２７により、「インデックス値：０」のインデックス情報をステップＳ６０２で取得した問い合わせ対象のオブジェクトの名称に付与し（ステップＳ６１０）、後述するステップＳ６１３へ進む。
【０１２４】
ステップＳ６０９において、該当するオブジェクトの数が１つでない場合、つまり２つ以上であった場合、記録処理部１２０は、インデックス付与部１２７により、複数存在した同一名称のオブジェクトのオブジェクト情報に付与されたオブジェクトＩＤを抽出する（ステップＳ６１１）。
【０１２５】
続いて、インデックス付与部１２７は、抽出したオブジェクトＩＤのうち、問い合わせ対象のオブジェクトのオブジェクト情報に付与されたオブジェクトＩＤと一致するオブジェクトＩＤを特定する。そして、インデックス付与部１２７は、特定されたオブジェクトＩＤが付与されたオブジェクト情報が示すオブジェクトの並び順を判定し、並び順に応じたインデックス情報を付与する（ステップＳ６１２）。つまり、インデックス値は、問い合わせ対象（操作対象）のオブジェクトと、共通のオブジェクトに従属している他のオブジェクト（識別対象オブジェクト）とを識別するための情報である。
【０１２６】
続いて、記録処理部１２０は、作業用の記憶領域へ、インデックス情報と、問い合わせ対象のオブジェクトの名称とを対応付けて、記憶（保持）させる（ステップＳ６１３）。
【０１２７】
続いて、記録処理部１２０は、問い合わせ対象のオブジェクトの１階層上のオブジェクトを問い合わせ対象とし（ステップＳ６１４）、変数ｎの値をｎ＋１とする（ステップＳ６１５）。
【０１２８】
続いて、記録処理部１２０は、ｎの値がＭａｘより大きいか否かを判定する（ステップＳ６１６）。ステップＳ６１６において、ｎの値がＭａｘ以下である場合、記録処理部１２０は、ステップＳ６０７へ戻る。
【０１２９】
ステップＳ６１６において、ｎの値がＭａｘより大きい場合、記録処理部１２０は、作業用の記憶領域に格納された情報をオブジェクト特定情報とし、操作種類情報と対応付けた操作記録情報２００として記憶媒体２１０に記録する（ステップＳ６１７）。続いて記録処理部１２０は、記録処理の終了指示を受け付けたか否かを判定する（ステップＳ６１８）。ステップＳ６１８において、終了指示を受け付けない場合、記録処理部１２０は、ステップＳ６０１へ戻る。
【０１３０】
ステップＳ６１８において、終了指示を受け付けた場合、記録処理部１２０は処理を終了する。
【０１３１】
尚、本実施形態では、ステップＳ６１０において、問い合わせ対象オブジェクトと名称が一致するオブジェクトが１つであった場合にもインデックス値を付与するものとしたが、
これに限定されない。問い合わせ対象オブジェクトと名称が一致し、且つ共通する一階層上のオブジェクトに従属する他のオブジェクトが存在しない場合、インデックス値は付与されなくても良い。
【０１３２】
図７は、インデックス情報が付与された操作記録情報の記述例を示す図である。図７に示す記述７１では、表示画面１０１においてオブジェクト１０３−２をクリックする操作の操作記録情報と、オブジェクト１０４−１をクリックする操作の操作記録情報とを記述した例である。尚、本実施形態では、記述＜Ｏｐｅｒａｔｉｏｎ＞から記述＜／Ｏｐｅｒａｔｉｏｎ＞までを１回の操作を示す記述とする。
【０１３３】
記述７１において、記述２００−１は、表示画面１０１においてオブジェクト１０３−２をクリックする操作の操作記録情報であり、記述２００−２は、表示画面１０１においてオブジェクト１０４−１をクリックする操作の操作記録情報である。
【０１３４】
記述２００−１の記述２１は、オブジェクト１０３−２を特定するオブジェクト特定情報であり、記述２２は操作種類情報である。
【０１３５】
オブジェクト１０３−２の１階層上のオブジェクトはオブジェクト１０２−２である。また、オブジェクト１０２−２には、オブジェクト１０３−２と、名称とオブジェクトＩＤが一致するオブジェクト１０４−２が存在し、オブジェクト１０３−２は、左端に配置されている。したがって、オブジェクト１０３−２の名称には、インデックス情報「インデックス値：０」が付与される。
【０１３６】
また、オブジェクト１０２−２の１階層上のデスクトップ１０１Ａには、オブジェクト１０２−２の名称とオブジェクトＩＤが一致するオブジェクト１０２−１が存在し、オブジェクト１０２−２は、左端から２番目に配置されている。したがって、オブジェクト１０２−２の名称には、インデックス情報「インデックス値：１」が付与される。
【０１３７】
また、本実施形態の記述２１では、上位の階層から下位の階層に向かって、上位の階層にあるオブジェクトから順に名称が記述されている。この記述が、本実施形態の階層情報である。
【０１３８】
すなわち、記述２１は、階層情報であるオブジェクト１０２−２の名称「ＸＹＺ」と、インデックス情報である「インデックス値：１」とが対応付けられた記述２１−１と、記述２１−１の次の階層を示す階層情報であるオブジェクト１０３−２の名称「ＯＫ」と、インデックス情報と「インデックス値：０」が対応付けられた記述２１−２と、を含む。
【０１３９】
言い換えれば、本実施形態のオブジェクト特定情報は、表示画面における操作対象のオブジェクトと、他のオブジェクトとの関係を示す階層情報と、操作対象のオブジェクトの並び順を示すインデックス情報とが対応付けられた情報である。
【０１４０】
そして、インデックス特定情報である記述２１は、操作の種類「ｃｌｉｃｋ」を示す操作種類情報である記述２２と対応付けられている。
【０１４１】
したがって、本実施形態の記述２００−１によれば、デスクトップ１０１Ａの左から２つ目のＸＹＺアプリケーションのウィンドウに表示された２つのＯＫボタンのうち、左側のＯＫボタンがクリックされたことがわかる。
【０１４２】
記述２００−２の記述２３は、オブジェクト１０４−１を特定するオブジェクト特定情報であり、記述２３は操作種類情報である。
【０１４３】
オブジェクト１０３−１の１階層上のオブジェクトはオブジェクト１０２−１である。また、オブジェクト１０２−１には、オブジェクト１０４−１と、名称とオブジェクトＩＤが一致するオブジェクト１０３−１が存在し、オブジェクト１０４−１は、左端から２番目に配置されている。したがって、オブジェクト１０４−１の名称には、インデックス情報「インデックス値：１」が付与される。
【０１４４】
また、オブジェクト１０２−１の１階層上のデスクトップ１０１Ａには、オブジェクト１０２−１の名称とオブジェクトＩＤが一致するオブジェクト１０２−２が存在し、オブジェクト１０２−１は、左端に配置されている。したがって、オブジェクト１０２−１の名称には、インデックス情報「インデックス値：０」が付与される。
【０１４５】
本実施形態の記述２３は、オブジェクト１０２−１の名称「ＸＹＺ」と、「インデックス値：０」が対応付けられた記述２３−１と、記述２３−１の次に記述された、オブジェクト１０４−１の名称「ＯＫ」と、「インデックス値：１」が対応付けられた記述２３−２と、を含む。そして、記述２４は、操作の種類「ｃｌｉｃｋ」を示す操作種類情報を示す記述２４と対応付けられている。
【０１４６】
したがって、本実施形態の記述２００−２によれば、デスクトップ１０１Ａの一番左のＸＹＺアプリケーションのウィンドウに表示された２つのＯＫボタンのうち、右側のＯＫボタンがクリックされたことがわかる。
【０１４７】
次に、図８を参照して、本実施形態の再生装置３００による操作記録情報２００の再生について説明する。図８は、再生処理部３３０の処理を説明するフローチャートである。
【０１４８】
本実施形態の再生処理部３３０は、操作記録読込部３３１により、操作記録情報２００を読み込む（ステップＳ８０１）。続いて、再生処理部３３０は、操作記録情報２００における操作の数（回数）をｎＭａｘに設定し（ステップＳ８０２）、変数ｎに１を設定する（ステップＳ８０３）。
【０１４９】
続いて、再生処理部３３０は、存在判定部３３３により、ｎ番目の操作の操作記録情報からオブジェクト特定情報を抽出する（ステップＳ８０４）。続いて、再生処理部３３０は、操作種類特定部３３２により、ｎ番目の操作の操作記録情報から操作種類情報を抽出する（ステップＳ８０５）。
【０１５０】
続いて、再生処理部３３０は、存在判定部３３３により、オブジェクト特定情報により示される階層数をｋＭａｘとする（ステップＳ８０６）。続いて、再生処理部３３０は、存在判定部３３３により、テーブル格納部３３７が格納する存在チェックテーブルにデスクトップを設定し（ステップＳ８０７）、変数ｋの値を１に設定する（ステップＳ８０８）。
【０１５１】
続いて、再生処理部３３０は、存在判定部３３３により、抽出したオブジェクト特定情報から、デスクトップからｋ階層下のオブジェクトまでを着目オブジェクトとし、着目オブジェクトのオブジェクト情報を取得する（ステップＳ８０９）。
【０１５２】
続いて、再生処理部３３０は、存在判定部３３３により、取得したオブジェクト情報に基づき、着目オブジェクトが、存在チェックテーブルに設定された階層に従属しているか否かを判定する（ステップＳ８１０）。
【０１５３】
ステップＳ８１０において、着目オブジェクトが従属していない場合（ステップＳ８１１）、再生処理部３３０は、エラーと判定し（ステップＳ８１２）、操作記録情報２００の再生を中止して処理を終了する。尚、本実施形態の再生処理部３３０は、エラーと判定した場合、その旨のメッセージ等を再生装置３００に表示させても良い。
【０１５４】
ステップＳ８１０において、着目オブジェクトが従属してする場合（ステップＳ８１１）、再生処理部３３０は、オブジェクト数比較部３３４により、ステップＳ８０９で取得したオブジェクト情報の数と、オブジェクト特定情報のデスクトップからｋ階層下のオブジェクトの名称に付与されたインデックス値に１を加算した値と、を比較する（ステップＳ８１３）。
【０１５５】
具体的には、オブジェクト数比較部３３４は、再生装置３００に表示されている画面において、操作対象となるオブジェクトと同一のオブジェクトが、操作記録情報２００において操作対象とされたオブジェクトの数と同じ数存在しているか否かを判定している。
【０１５６】
再生処理部３３０は、オブジェクト数比較部３３４により、着目オブジェクトのオブジェクト情報の数が、インデックス値に１を加算した値より大きいと判定された場合（ステップＳ８１４）、ステップＳ８１２へ進む。
【０１５７】
再生処理部３３０は、オブジェクト数比較部３３４により、着目オブジェクトのオブジェクト情報の数が、インデックス値に１を加算した値以下と判定された場合（ステップＳ８１４）、オブジェクト特定情報における、デスクトップからｋ階層下のオブジェクトの名称とインデックス値とを存在チェックテーブルへ保持させる（ステップＳ８１５）。
【０１５８】
続いて、再生処理部３３０は、変数ｋの値をｋ＋１に設定し（ステップＳ８１６）、ｋの値がｋＭａｘより大きい否かを判定する（ステップＳ８１７）。
【０１５９】
ステップＳ８１７において、ｋの値がｋＭａｘ以下である場合、再生処理部３３０は、ステップＳ８０９に戻る。
【０１６０】
ステップＳ８１７において、ｋの値がｋＭａｘより大きい場合、再生処理部３３０は、存在チェックテーブルに保持されたオブジェクト特定情報を読み取る（ステップＳ８１８）。尚、ステップＳ８１８において存在チェックテーブルに保持されたオブジェクト特定情報は、操作記録情報から読み取ったオブジェクト特定情報と同じものである。
【０１６１】
存在チェックテーブルに保持されたオブジェクト特定情報は、再生装置３００の表示画面において、オブジェクト特定情報に含まれるインデックス情報の通りに、オブジェクト特定情報に含まれる名称のオブジェクトが配置されていることが確認されたものである。
【０１６２】
続いて、再生処理部３３０は、操作発生要求部３３６により、読み取ったオブジェクト特定情報により特定されたオブジェクトに対し、操作種類情報が示す種類の操作を発生させる（ステップＳ８１９）。
【０１６３】
続いて、再生処理部３３０は、変数ｎの値をｎ＋１に設定し（ステップＳ８２０）、ｎの値がｎＭａｘより大きいか否かを判定する（ステップＳ８２１）。ステップＳ８２１において、ｎの値がｎＭａｘ以下の場合、再生処理部３３０は、ステップＳ８０４に戻る。ステップＳ８２１において、ｎの値がｎＭａｘより大きい場合、再生処理部３３０は、処理を終了する。
【０１６４】
以下に、図９を参照して本実施形態の存在チェックテーブルについて説明する。図９は、存在チェックテーブルを説明する図である。
【０１６５】
本実施形態の存在チェックテーブル９１では、操作記録情報２００から読み取ったオブジェクト特定情報において、再生装置３００の表示画面に存在していると判定されたオブジェクトの名称とインデックス値とを保持する。
【０１６６】
以下に、再生装置３００が、操作記録情報２００として、図７に示す記述７１を読み込んだ場合について説明する。
【０１６７】
このとき、再生装置３００の再生処理部３３０は、再生装置３００の表示画面に、図２に示す表示画面１０１上に存在する全てのオブジェクトが存在しているか否かを判定する。
【０１６８】
再生処理部３３０は、記述７１に示す操作記録情報２００を読み込むと、操作の数が２であるから、ｎＭａｘ＝２とする。
【０１６９】
また、再生処理部３３０は、１番目の操作記録情報である記述２００−１から、オブジェクト特定情報である記述２２と、操作種類情報である記述２３を抽出し、記述２１の階層数である２をｋＭａｘの値とする。
【０１７０】
そして再生処理部３３０は、存在チェックテーブル９１にデスクトップを設定し、デスクトップの１階層下のオブジェクトを着目オブジェクトとする。着目オブジェクトと同一の名称「ＸＹＺ」のオブジェクトは、デスクトップに２つ存在する。したがって、再生処理部３３０は、２つのオブジェクトのオブジェクト情報を取得する。
【０１７１】
次に、再生処理部３３０は、着目オブジェクトがデスクトップに従属しているため、着目オブジェクトのオブジェクト数と、オブジェクト特定情報において名称「ＸＹＺ」に付与されたインデックス値に１を加算した値とを比較する。
【０１７２】
ここで、オブジェクト数は２であり、インデックス値に１を加算した値は２であるため、比較結果が一致する。
【０１７３】
よって、本実施形態の再生処理部３３０は、再生装置３００の画面における名称「ＸＹＺ」のオブジェクトの数と、記録装置１００の表示画面における名称「ＸＹＺ」のオブジェクトの数が一致することがわかる。そして、再生処理部３３０は、オブジェクト特定情報に含まれる名称「ＸＹＺ」のオブジェクトが、デスクトップに並べられた２個のオブジェクトのうち、左から２番目のものであることを示す情報を、存在チェックテーブルに保持させる。つまり、存在チェックテーブル９１には、この時点でオブジェクト特定情報の一部が保持された状態となる。
【０１７４】
続いて、再生処理部３３０は、名称「ＸＹＺ」のオブジェクトの１階層下のオブジェクトである、名称が「ＯＫ」のオブジェクトについても同様の処理を行い、存在チェックテーブル９１へ保持させる。この処理により、存在チェックテーブル９１には、オブジェクト特定情報と同一の情報が保持される。
【０１７５】
本実施形態では、以上のように、存在チェックテーブルを用いることで、再生装置３００の画面においてオブジェクト特定情報が示す並び順にオブジェクトが存在するか否かを判定できる。本実施形態では、存在チェックテーブルに保持された情報が、オブジェクト特定情報と同一となった場合に、操作記録情報２００を再生する。
【０１７６】
したがって、本実施形態の再生装置３００によれば、操作記録情報２００による操作の再現の精度を向上させるこができる。
【０１７７】
以下に、インデックス情報を有していない操作記録情報の例を示す。図１０は、インデックス情報が付与されていない操作記録情報の記述例を示す図である。
【０１７８】
図１０の示す記述１０は、図２に示す画面１０１において、オブジェクト１０３−２をクリックする操作と、オブジェクト１０４−１をクリックする操作を示している。
【０１７９】
記述１０では、オブジェクトを特定する情報１１、１２に、オブジェクトの並び順を示すインデックス情報が付与されていない。
【０１８０】
このため、オブジェクトを特定する情報１１、１２は同一の情報となり、再生時にどのオブジェクトをクリックする操作なのか区別することができないことがわかる。
【０１８１】
これに対し、本実施形態では、オブジェクトを特定するオブジェクト特定情報に含まれるオブジェクトの名称に、オブジェクトの並び順を示すインデックス情報を対応付けるため、同じ名称のオブジェクトが複数存在していても、操作対象のオブジェクトを特定できる。したがって、本実施形態によれば、操作の再現の精度を向上させることができる。
【０１８２】
（第二の実施形態）
以下に図面を参照して第二の実施形態について説明する。第二の実施形態は、一台のコンピュータが記録処理部と再生処理部を実現する点が第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１８３】
図１１は、第二の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生装置１００Ａは、操作記録再生処理部１１０Ａを有する。
【０１８４】
本実施形態の操作記録再生処理部１１０Ａは、記録処理部１２０と再生処理部１３０とを有する。再生処理部１３０は、操作記録読込部１３１、操作種類特定部１３２、存在判定部１３３、オブジェクト数比較部１３４、オブジェクト特定部１３５、操作発生要求部１３６を有する。再生処理部１３０の有する各部は、第一の実施形態の再生処理部３３０の有する各部と同様の機能を実現する。
【０１８５】
また、本実施形態の記録再生装置１００Ａは、記憶部１４０を有する。記憶部１４０は、記録再生装置１００Ａが有するメモリ装置等に設けられた記憶領域である。本実施形態の記録再生装置１００Ａでは、記録処理部１２０による記録された操作記録情報２００を記憶部１４０に格納しても良い。この場合、再生処理部１３０は、記憶部１４０に格納された操作記録情報２００を再生する。
【０１８６】
本実施形態では、１台のコンピュータ（記録再生装置）１００Ａにおいて、記録処理部１２０による記録と、再生処理部１３０による再生とを同一のコンピュータで行うことで、操作内容を記録する際の表示画面の環境と、操作内容を再生する際の表示画面の環境とが異なる場合でも、操作の再現の精度を維持できる。
【０１８７】
（第三の実施形態）
以下に図面を参照して第三の実施形態について説明する。第三の実施形態は、記録装置１００において記録された操作記録情報２００が、外部のサーバに格納される点が第一の実施形態と相違する。
【０１８８】
よって、以下の第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１８９】
図１２は、第三の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生システム４００は、記録装置１００、再生装置３００、サーバ４１０を有する。記録装置１００、再生装置３００及びサーバ４１０は、ネットワークを介して接続されている。
【０１９０】
本実施形態の記録装置１００は、操作記録再生処理部１１０の記録処理部１２０により、操作記録情報２００をサーバ４１０に記録する。本実施形態の記録装置１００は、操作内容の記録の終了指示を受け付けてから、記録された操作記録情報２００をサーバ４１０に送信しても良い。
【０１９１】
本実施形態の再生装置３００は、操作記録再生処理部３１０の再生処理部３３０により、サーバ４１０から操作記録情報２００を読み込んで再生する。本実施形態の再生装置３００は、操作記録情報２００全てをサーバ４１０から取得した後に、再生装置３００内に保持された操作記録情報２００を再生しても良い。
【０１９２】
本実施形態によれば、再生装置３００はサーバ４１０から操作記録情報２００を取得すれば良く、操作記録情報２００が記憶された可搬型の記憶媒体を持ち運んだり、記憶媒体から操作記録情報２００を再生装置３００に読み取らせたりする作業が軽減される。
【０１９３】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
画面に表示されたオブジェクトに対する操作を検知し、
検知された操作対象オブジェクトに基づいて、オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトと、共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録し、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させる、処理をコンピュータに実行させる
（付記２）
前記操作記録情報を記録する処理は、前記操作対象オブジェクトの上位階層の階層情報を含む操作記録情報を記録し、
前記識別対象オブジェクトを検索する処理は、前記操作対象オブジェクトに変えて、前記階層情報から得られる操作対象オブジェクトの上位階層の上位オブジェクトに対して、前記操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、前記上位オブジェクトと前記識別対象オブジェクトを識別するインデックス情報を生成し、
生成した前記インデックス情報を前記階層情報に含まれる前記上位オブジェクトを示す情報に付与する付記１記載の操作記録再生プログラム。
（付記３）
前記識別対象オブジェクトを検索する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトが存在する場合に付与する付記１記載の操作記録再生プログラム。
（付記４）
前記操作を発生させる処理は、
前記階層情報と前記インデックス情報とに基づき、画面に、前記操作対象オブジェクト及び他のオブジェクトが表示されているか否かを判定し、
前記操作対象オブジェクト及び前記他のオブジェクトが全て前記画面に表示されていると判定された場合、前記操作を発生させるオブジェクトを特定し、
前記操作対象オブジェクト及び前記他のオブジェクトの少なくとも一部が前記画面に表示されていないと判定された場合、前記操作を発生させる処理を終了する、付記１記載の操作記録再生プログラム。
（付記５）
前記操作対象オブジェクト及び前記他のオブジェクトの少なくとも一部が前記画面に表示されていないと判定された場合、エラー通知を出力する、付記４記載の操作記録再生プログラム。
（付記６）
前記階層情報は、
前記操作対象オブジェクトの名称と、
前記操作対象オブジェクトが属する階層より１階層上の階層から前記画面と対応する階層までの各階層における、前記操作対象オブジェクトが従属するオブジェクトの名称と、を、上位の階層から順に記述した情報である、付記１乃至５の何れか一項に記載の操作記録再生プログラム。
（付記７）
前記インデックス情報は、
前記操作対象オブジェクト及び他のオブジェクトのそれぞれが属する階層の１階層上の階層における、前記操作対象オブジェクト及び前記他のオブジェクトの並び順を示す情報である付記１乃至６の何れか一項に記載の操作記録再生プログラム。
（付記８）
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、オブジェクトの階層情報と、操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させる、処理をコンピュータに実行させる操作再生プログラム。
（付記９）
コンピュータによる操作再生方法であって、該コンピュータが、
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、オブジェクトの階層情報と、操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させる、操作再生方法。
（付記１０）
画面に表示されたオブジェクトに対する操作を検知し、
検知された操作対象オブジェクトに基づいて、オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトと、共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録する記録処理部と、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させる再生処理部と、を有する操作記録再生装置。
【０１９４】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１９５】
１００、１００Ａ  記録装置
１１０、１１０Ａ、３１０  操作記録再生処理部
１２０、３２０  記録処理部
１２３  オブジェクト情報取得部
１２４  操作種類取得部
１２５  階層情報取得部
１２６  オブジェクト数判定部
１２７  インデックス付与部
１３０、３３０  再生処理部
２００  操作記録情報
２１０  記憶媒体
３３３  存在判定部
３３４  オブジェクト数比較部
３３５  オブジェクト特定部
３３６  操作発生要求部
４００  記録再生システム
４１０  サーバ
【図１】
0006561775.tif 000002
【図２】
0006561775.tif 000003
【図３】
0006561775.tif 000004
【図４】
0006561775.tif 000005
【図５】
0006561775.tif 000006
【図６】
0006561775.tif 000007
【図７】
0006561775.tif 000008
【図８】
0006561775.tif 000009
【図９】
0006561775.tif 000010
【図１０】
0006561775.tif 000011
【図１１】
0006561775.tif 000012
【図１２】
0006561775.tif 000013