(57)【要約】【課題】本発明は、ユーザがアプリケーションのウィンドウから所望の領域を画面上に再配置することができ、再配置された部分的な画面に対して操作を行うことにより当該アプリケーションの機能を利用することができる情報処理装置を提供する。【解決手段】少なくとも１つのアプリケーションが動作する情報処理装置において、アプリケーションにより表示されたウィンドウ上で指定された部分領域画像を抽出する。そして、抽出した少なくとも１つの部分領域画像がベースウィンドウ上に配置され、ベースウィンドウ上に配置された部分領域画像に対する入力を、当該部分領域画像に対応するアプリケーションに伝える。【選択図】図２０
2008250915.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのアプリケーションが起動し、起動した該アプリケーションに対してユーザが入力するためのウィンドウを表示する情報処理装置において、
前記アプリケーションにより表示されたウィンドウ上で指定された第１の領域を抽出する抽出手段と、
前記抽出された少なくとも１つの領域を配置可能なベースウィンドウへの配置手段と、
前記ベースウィンドウ上に配置された第２の領域に対する入力を、当該領域に対応するアプリケーションに伝える入力伝達手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記第１の領域と前記第２の領域とを対応させるテーブル情報を保存する保存手段を更に備えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第２の領域に対する入力位置を、前記第１の領域の入力位置へ変換する入力位置変換手段を更に備え、
前記入力位置変換手段は、前記第２の領域に対する入力を、前記テーブル情報に基づいて変換し、前記アプリケーションに伝えることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記入力に対するアプリケーションの出力を前記第２の領域に表示する出力手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
少なくとも１つのアプリケーションが起動し、起動した該アプリケーションに対してユーザが入力するためのウィンドウを表示する装置の情報処理方法において、
前記アプリケーションにより表示されたウィンドウ上で指定された第１の領域を抽出する抽出工程と、
前記抽出された少なくとも１つの領域をベースウィンドウに配置する配置工程と、
前記ベースウィンドウ上に配置された第２の領域に対する入力を、当該領域に対応するアプリケーションに伝える入力伝達工程とを備えることを特徴とする情報処理方法。
【請求項６】
請求項５記載の情報処理方法をコンピュータに実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションにより表示されたウィンドウをカスタマイズすることができる情報処理装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、各種アプリケーションにより表示されたウィンドウ（ＧＵＩ画面）の必要な部分のみを抽出して参照できるようにし、効率よく作業が行える技術が提案されている（例えば、特許文献１参照）。
【０００３】
また、Ｍｉｃｒｏｓｏｆｔ社製のＷｉｎｄｏｗｓ（登録商標）においては、ウィンドウからツールバーを切り離すことで、ユーザがツールバーを作業しやすい場所に配置することができるようになっている。
【特許文献１】特開２００１−１６６７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載された技術では、アプリケーションにより表示されたウィンドウの任意の領域を部分的に表示するのみで、部分的に表示されたアプリケーションに対して操作することができず、アプリケーションが有する機能をユーザが利用することができない。そのため、部分的な表示を参照中に、表示された内容に対して変更を加えたくなった場合には、アプリケーションにより表示されるオリジナルのウィンドウに対して操作する必要がある。
【０００５】
また、Ｍｉｃｒｏｓｏｆｔ社製のＷｉｎｄｏｗｓ（登録商標）には、アプリケーションのウィンドウや機能を分ける技術としてツールバーの切り離し機能などがあるが、アプリケーション固有の切り離し機能でしか切り離しができず、ユーザが所望する領域を指定することができないという問題がある。
【０００６】
本発明は、上記問題に鑑みて成されたものであり、アプリケーションにより表示されたウィンドウ上からユーザが所望の領域を画面上に再配置することができ、且つ再配置された領域に対して操作を行うことにより当該アプリケーションの機能を利用することができる情報処理装置及び方法、並びにプログラムを提供することを特徴とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載の情報処理装置は、少なくとも１つのアプリケーションが起動し、起動した該アプリケーションに対してユーザが入力するためのウィンドウを表示する情報処理装置において、前記アプリケーションにより表示されたウィンドウ上で指定された第１の領域を抽出する抽出手段と、前記抽出された少なくとも１つの領域を配置可能なベースウィンドウへの配置手段と、前記ベースウィンドウ上に配置された第２の領域に対する入力を、当該領域に対応するアプリケーションに伝える入力伝達手段とを備えることを特徴とする。
【０００８】
上記目的を達成するために、請求項５記載の情報処理方法は、少なくとも１つのアプリケーションが起動し、起動した該アプリケーションに対してユーザが入力するためのウィンドウを表示する装置の情報処理方法において、前記アプリケーションにより表示されたウィンドウ上で指定された第１の領域を抽出する抽出工程と、前記抽出された少なくとも１つの領域をベースウィンドウに配置する配置工程と、前記ベースウィンドウ上に配置された第２の領域に対する入力を、当該領域に対応するアプリケーションに伝える入力伝達工程とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、アプリケーションにより表示されたウィンドウ上で指定された第１の領域を抽出する。そして、抽出された少なくとも１つの領域がベースウィンドウ上に配置され、該ベースウィンドウ上に配置された第２の領域に対する入力を、当該領域に対応するアプリケーションに伝える。これにより、アプリケーションにより表示されたウィンドウ上のユーザが所望する領域を画面上に再配置することができ、再配置された領域に対して操作を行うことにより当該アプリケーションの機能を利用することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１１】
図１は、本発明の実施形態に係る情報処理装置の構成を示すブロック図である。
【００１２】
図１において、本情報処理装置は、基本的な構成として、ＣＰＵ１００と、メモリ１０１と、ディスプレイＩ／Ｆ１０７と、ディスクＩ／Ｆ１０９と、入力Ｉ／Ｆ１１２とを備える。これらはバス１１４によって互いに接続されている。
【００１３】
ディスプレイＩ／Ｆ１０７は表示装置１０８に接続されている。ＣＰＵ１００は、ディスプレイＩ／Ｆ１０７を介して画像信号を表示装置１０８に供給する機能を有している。ディスクＩ／Ｆ１０９は、ハードディスクドライブ１１０またはＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ等の外部記憶装置（不図示）に接続されている。ＣＰＵ１００は、ディスクＩ／Ｆ１０９を介してハードディスク１１０等にプログラムやデータの読み書きを実行する機能を有している。入力Ｉ／Ｆ１１２は、キーボードやマウス、タブレット等の入力装置１１３に接続されている。入力Ｉ／Ｆ１１２は、入力装置１１３から入力された指示や命令をＣＰＵ１００に伝える機能を有している。
【００１４】
メモリ１０１には、ＧＵＩ管理ツール１０２が格納されている。ＧＵＩ管理ツール１０２は、アプリケーションの監視機能１０３、入力の監視機能１０４、画像の操作機能１０５を有するコンピュータプログラム１１５と、判定ｆｌａｇ１０６とで構成される。判定ｆｌａｇ１０６の詳細については後述する。
【００１５】
アプリケーションの監視機能１０３は、アプリケーションからオペレーションシステム（以下、「ＯＳ」という。）上に出力される信号を監視する機能を有している。入力の監視機能１０４は、入力装置１１３から入力Ｉ／Ｆ１１２を介して入力される信号を監視する機能を有する。また、必要であれば入力信号を変換する機能をも有する。画像の操作機能１０５は、アプリケーションにより生成されるウィンドウ（ＧＵＩ画面）の画像データをハードディスク１１０内のデータベース１１１に保存する機能を有する。また、画像の操作機能１０５は、入力装置１１３から受信した操作信号に基づいて、表示装置１０８に表示された画像を制御する機能を有する。
【００１６】
なお、コンピュータプログラム１１５は、予めメモリ１０１に記憶されているが、フレキシブルディスクやＣＤ−ＲＯＭ等の記憶媒体に格納された形態で提供されてもよい。この場合、その記憶媒体からハードディスクドライブ１１０に転送され、各機能を実現する際に、当該プログラムがハードディスク１１０からメモリ１０１に転送され、ＣＰＵ１００によって実行される。また、プログラムを記憶媒体からハードディスク１１０に転送せずに、記憶媒体からＣＰＵ１００が直接実行するようにしてもよい。
【００１７】
本実施の形態において、コンピュータとは、ハードウェア装置とＯＳを含む概念であり、ＯＳの制御下で動作するハードウェア装置を意味する。また、ＯＳが不要で、アプリケーション単独でハードウェア装置を動作させるような場合には、そのハードウェア装置自体がコンピュータに相当する。ハードウェア装置は、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたプログラムを読み取るための手段とを少なくとも備えている。プログラムは、このようなコンピュータに、後述する各機能を実現させるプログラムコードを含んでいる。なお、後述する各機能の一部は、アプリケーションではなく、ＯＳによって実現されてもよい。
【００１８】
記憶媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）や外部記憶装置等のコンピュータが読み取り可能な種々の媒体をいう。
【００１９】
図２は、図１のＧＵＩ管理ツール１０２の詳細を示す図である。
【００２０】
図２おいて、アプリケーションの監視機能１０３には、アプリケーションの起動を監視する起動監視機能２００と、起動したアプリケーションによる出力を監視する出力監視機能２０１と、アプリケーションの出力信号を変換する出力変換機能２０２が存在する。アプリケーションの監視機能１０３により、起動したアプリケーションのアプリケーション情報をデータベース１１１に格納する。アプリケーション情報は、アプリケーション固有のアプリケーションＩＤ、当該アプリケーションにより表示されたウィンドウの座標、該ウィンドウのサイズが含まれる。
【００２１】
入力の監視機能１０４には、入力装置１１３であるマウスの操作を監視するマウス操作監視機能２０３と、入力装置１１３であるキーボードの操作を監視するキー入力監視機能２０４と、入力Ｉ／Ｆ１１２からの入力信号を変換する入力変換機能２０５が存在する。入力の監視機能１０３により、アプリケーションにより表示されたウィンドウ上でユーザによる部分領域の抽出が行われた場合に、その部分領域を部分領域画像としてデータベース１１１に保存する。同時に、部分領域画像に付随するデータをデータベース１１１に保存する。
【００２２】
画像の操作機能１０５には、画像の移動機能２０６、画像のリサイズ機能２０７、画像のコピー機能２０８、及び画像の置き換え機能２０９が存在する。画像の移動機能２０６及びリサイズ機能２０７より、デスクトップ上で部分領域画像が移動された場合、データベース１１１上のデスクトップ上の座標が変更され、またリサイズされた場合にはデータベース１１１上のデスクトップ上のサイズが変更される。画像のコピー機能２０８により、アプリケーションのウィンドウから部分領域画像が抽出され、デスクトップ上の所定の場所にコピーされる。画像の置き換え機能２０９により、部分領域画像が別の画像に置き換えられ、置き換えられた別の画像がデータベース１１１に保存される。
【００２３】
次に、ＧＵＩ管理ツール１０２の機能について説明する。
【００２４】
図３は、表示装置１０８に表示されるＧＵＩ管理ツール１０２のツールバーの一例を示す図である。
【００２５】
図３において、ツールバー３００は、起動したＧＵＩ管理ツール１０２が表示装置１０８のデスクトップ上に表示するＧＵＩ画面である。ツールバー３００には、ＧＵＩ管理ツール１０２の各種モードを指定するための移動モードボタン３０１、拡大モードボタン３０２、コピーモードボタン３０３、スナップショットモードボタン３０４、画像の置き換えモードボタン３０５、ベースウィンドウモードボタン３０６が配置されている。モードボタン３０１〜３０６のいずれかが押下されると、当該モードボタンに対応するモードに移行し、判定ｆｌａｇ１０６に「１」〜「６」のいずれかが設定される。判定ｆｌａｇ１０６の詳細を図１６に示す。
【００２６】
図１６において、判定ｆｌａｇ１０６は、終了判定ｆｌａｇ１５０１、起動判定ｆｌａｇ１５０３、モード選択ｆｌａｇ１５０４、部分領域画像保持判定ｆｌａｇ１５０５、状態判定ｆｌａｇ１５０６、出力座標判定ｆｌａｇ１５０７、及び出力種別判定ｆｌａｇ１５０８で構成されている。
【００２７】
移動モードボタン３０１が押下された場合は移動モードとなり、モード選択ｆｌａｇ１５０４に「３」が設定される。拡大モードボタン３０２が押下された場合は拡大モードとなり、モード選択ｆｌａｇ１５０４に「４」が設定される。コピーモードボタン３０３が押下された場合はコピーモードとなり、モード選択ｆｌａｇ１５０４に「１」が設定される。スナップショットモードボタン３０４が押下された場合はスナップショットモードとなり、モード選択ｆｌａｇ１５０４に「２」が設定される。画像の置き換えモードボタン３０５が押下された場合は画像の置き換えモードとなり、モード選択ｆｌａｇ１５０４に「５」が設定される。ベースウィンドウモードボタン３０６が押下された場合はベースウィンドウ作成モードとなり、モード選択ｆｌａｇ１５０４に「６」が設定される。何も選択されなかった場合は、モード選択ｆｌａｇ１５０４に「０」が設定される。
【００２８】
ベースウィンドウとは、図２０のベースウィンドウ１９０１上に、他のアプリケーションの画面の一部分を部分領域画像２−１  ２００２ａのように貼り付けられるウィンドウである。
【００２９】
本発明のアプリケーションは、その起動時に、図１９のベースウィンドウ１９０１のように、空のウィンドウを持つアプリケーションプログラムとして起動する。
【００３０】
なお、ベースウィンドウの備える機能をデスクトップに提供することで、デスクトップにもベースウィンドウ同様に抽出された領域を配置することができる。
【００３１】
ツールバー３００には、終了ボタン３０７が配置されており、終了ボタン３０７が押下されると、終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」に設定される。なお、起動判定ｆｌａｇ１５０３、部分領域画像保持判定ｆｌａｇ１５０５、状態判定ｆｌａｇ１５０６、出力座標判定ｆｌａｇ１５０７、及び出力種別判定ｆｌａｇ１５０８については後述する。
【００３２】
図４は、ＧＵＩ管理ツール１０２の起動から終了までの処理全体の流れを示すフローチャートである。
【００３３】
図４において、ユーザがＧＵＩ管理ツール１０２を起動すると（ステップＳ４０１）、アプリケーションの起動監視処理（ステップＳ４０２）、入力・操作の監視処理（ステップＳ４０３）、アプリケーションの出力監視処理（ステップＳ４０４）がそれぞれ立ち上がる。アプリケーションの起動監視処理及び出力監視処理は、アプリケーションの監視機能１０３により実行される処理である。入力・操作の監視処理は、入力の監視機能１０４及び画像の操作機能１０５により実行される処理である。
【００３４】
ユーザがツールバー３００上の終了ボタン３０７をマウスでクリックしてＧＵＩ管理ツール１０２の終了を選択すると、ＣＰＵ１００は、ステップＳ４０２〜ステップＳ４０４の全ての処理を終了する。このとき、終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」に設定される。
【００３５】
図５は、図４のステップＳ４０２におけるアプリケーションの起動監視処理の詳細を示すフローチャートである。
【００３６】
図５において、ステップＳ５０１では、ＣＰＵ１００は、起動済アプリケーションの情報収集を行う。ここでは、ＣＰＵ１００は、ＧＵＩ管理ツール１０２が起動する前に情報処理装置上で起動しているアプリケーションを特定する。そして、起動しているアプリケーションのアプリケーションＩＤ、アプリケーションにより表示されたウィンドウのデスクトップ上の座標位置、及び該ウィンドウのサイズ等をアプリケーション情報として収集する。
【００３７】
次に、ステップＳ５０２では、ステップＳ５０１で収集されたアプリケーション情報をデータベース１１１に保存して、ステップＳ５０５へ進む。アプリケーション情報が保存されるデータベース１１１の一例を図１４（ａ）に示す。
【００３８】
図１４（ａ）において、データベース１４００は、データベース１１１における１つのデータベースである。データベース１４００は、収集したアプリケーション情報のアプリケーションＩＤ１４０１と、デスクトップ上に表示されているアプリケーションのウィンドウの座標（ｘ，ｙ）１４０２と、該ウィンドウのサイズ（width，height）１４０３とで構成される。なお、バックグラウンドで起動してするアプリケーションに関しては、座標（０，０）、サイズ（０，０）がデータベース１４００には保存され、編集対象外となる。また、最小ウィンドウとして起動している場合（ウィンドウの最小化ボタンが押された状態）は、最小化を解除したときのアプリケーションウィンドウのデスクトップ上の座標とサイズがデータベース１４００に保存される。
【００３９】
図５に戻り、ステップＳ５０５では、ＧＵＩ管理ツール１０２の終了が選択されたか否かの終了判定を行う。この終了判定については、ＣＰＵ１００が、判定ｆｌａｇ１０６における終了判定ｆｌａｇ１５０１を参照して行う。終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」の場合は終了し、「ｆａｌｓｅ」の場合はステップＳ５０３に進む。
【００４０】
ステップＳ５０３では、ＧＵＩ管理ツール１０２の起動後に起動されたアプリケーションがあるか否かの起動判定を行う。この起動判定については、ＣＰＵ１００が、判定ｆｌａｇ１０６における起動判定ｆｌａｇ１５０３を参照して行う。起動したアプリケーションがあるときは（起動判定ｆｌａｇ１５０３が「ｔｒｕｅ」）、起動したアプリケーションのアプリーション情報を収集し（ステップＳ５０４）、ステップＳ５０２と同様にデータベース１４００に保存する（ステップＳ５０２）。
【００４１】
一方、起動したアプリケーションがないときは（起動判定ｆｌａｇ１５０３が「ｆａｌｓｅ」）、ステップＳ５０５に戻り、終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」になるまでループ処理を行う。
【００４２】
図６は、図４のステップＳ４０３における入力・操作の監視処理の詳細を示すフローチャートである。
【００４３】
図６において、ステップＳ６０１では、ＣＰＵ１００は、移動モードボタン３０１〜ベースウィンドウモードボタン３０６のいずれかが押下されたかを判定する。なお、いずれのモードボタンも押下されなかったときは、「指定無し」として通常処理となる。
【００４４】
次に、押下されたモードボタンに従って、ステップＳ６０２〜ステップＳ６０７のコピー＆スナップショット処理、移動処理、拡大処理、ベースウィンドウ作成処理、画像の置き換え処理、または通常処理（指定無し）のいずれかを実行する。実行後は、ステップＳ６０８にて終了判定ｆｌａｇ１５０１を参照し、終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」ならば本処理を終了する一方、「ｆａｌｓｅ」ならばステップＳ６０１に戻ってループ処理を行う。なお、ステップＳ６０３の移動処理は、後述する図７の処理が実行されてデータベース１１１上に部分領域画像が存在することが前提となる。
【００４５】
図７は、図６のステップＳ６０１におけるコピー＆スナップショット処理の詳細を示すフローチャートである。
【００４６】
図７において、ステップＳ７０１では、ＣＰＵ１００は、コピーまたはスナップショットの対象となるアプリケーションの選択を受け付ける。アプリケーションによりデスクトップ上に表示されているウィンドウのうち、ユーザが所望のウィンドウをマウスクリック等で選択すると、ＣＰＵ１００は、選択されたアプリケーションのアプリケーションＩＤをデータベース１１１に保存する。アプリケーションＩＤが保存されるデータベース１１１の一例を図１４（ｂ）に示す。
【００４７】
図１４（ｂ）において、データベース１５００は、データベース１１１における１つのデータベースである。データベース１５００は、アプリケーションＩＤを保存するアプリケーションＩＤ１４０５と、アプリケーションのウィンドウからユーザにより抽出された部分領域画像の画像ＩＤを保存する画像ＩＤ１４０４と、当該ウィンドウ上の座標（ｘ，ｙ）１４０６と、ウィンドウ上の部分領域画像のサイズ（width，height）１４０７とで構成される。画像ＩＤは、部分領域画像をデータベース１５００に保存するときに当該画像毎に割り当てられるＩＤである。データベース１５００に保存されるデスクトップ上の座標１４０８、サイズ１４０９、ベースウィンドウのアプリケーションＩＤ１４１０、ベースウィンドウ上の座標１４１１、サイズ１４１２、状態１４１３、参照画像１４１４については後述する。
【００４８】
次に、ステップＳ７０２では、ＣＰＵ１００は、部分領域画像の抽出を受け付ける。ユーザによりマウスドラッグ等で選択されたアプリケーションのウィンドウ上の部分領域の座標とサイズをデータベース１５００上の座標１４０８とサイズ１４０９に保存する。そして、ステップＳ７０３で選択された部分領域を画像変換し、部分領域画像としてデータベース１５００上の参照画像１４１４に保存する。
【００４９】
次に、ステップＳ７０４では、部分領域画像の配置を行う。ユーザはデスクトップ上の所望の場所に部分領域画像をドラッグ＆ドロップ等の方法で指定すると、指定された座標に部分領域画像を配置する。ステップＳ７０５では、配置された部分領域画像に対応する情報を保存する。ここでは、配置された部分領域画像に対応するアプリケーションＩＤ、ウィンドウ上の座標及びサイズ、デスクトップ上の座標及びサイズが、データベース１５００上の画像ＩＤ１４０４、アプリケーションＩＤ１４０５、ウィンドウ上の座標１４０６、サイズ１４０７、デスクトップ上の座標１４０８、サイズ１４０９に保存される。同時に、コピーまたはスナップショットのどちらの処理で行われたか示す情報がデータベース１５００上の状態１４１３に保存される。コピーである場合はユーザの部分領域画像への操作を元のアプリケーションウィンドウに反映させて、ウィンドウの一部のように扱えるようにする。また、スナップショットの場合はユーザの操作を元のウィンドウには反映させず、ただの画像として扱うようにする。このように、ユーザの操作を元のウィンドウに反映するかどうかを判定するために、コピーまたはスナップショットのどちらの処理で行われたか示す情報を状態１４１３に保存する。
【００５０】
図８は、図６のステップＳ６０３における移動処理の詳細を示すフローチャートである。
【００５１】
図８において、ステップＳ８０１では、ＣＰＵ１００は、移動対象となる部分領域画像の選択を受け付ける。ユーザがマウスでクリックした部分領域画像の座標及びサイズを、データベース１５００上の座標１４０８及び画像サイズ１４０９と比較して、対象となる部分領域画像を検索する。
【００５２】
次に、ステップＳ８０２では、ステップＳ８０１で選択された部分領域画像の移動を行う。ユーザによりドラッグ＆ドロップされた部分領域画像を移動する。次に、ステップＳ８０３では、移動後の部分領域画像に関する情報を更新する。移動した部分領域画像に対応するデータベース１５００上の座標１４０８の値を更新する。
【００５３】
図９は、図６のステップＳ６０４における拡大処理の詳細を示すフローチャートである。
【００５４】
図９において、ステップＳ９０１では、ＣＰＵ１００は、拡大対象となる部分領域画像の選択を受け付ける。ユーザがマウスでクリックした部分領域画像の座標及びサイズを、データベース１５００上の座標１４０８及び画像サイズ１４０９と比較して、対象となる部分領域画像を検索する。
【００５５】
次に、ステップＳ９０２では、ステップＳ９０１で選択された部分領域画像の拡大を行う。該画像に対してユーザがドラッグ等で指定したサイズに該画像の拡大処理を行う。次に、ステップＳ９０３では、拡大後の部分領域画像に関する情報を更新する。リサイズした部分領域画像に対応するデータベース１５００上の画像サイズ１４０９の値を更新する。
【００５６】
図１０は、図６のステップＳ６０５におけるベースウィンドウ作成処理の詳細を示すフローチャートである。本処理は、ベースウィンドウと呼ばれる空のウィンドウをデスクトップ上に作成し、そのベースウィンドウに複数の部分領域画像を配置する処理である。
【００５７】
図１０において、ステップＳ１００１では、ＣＰＵ１００は、ベースウィンドウの作成を行う。ベースウィンドウとなる空のウィンドウを作成し、デスクトップ上に配置する。このベースウィンドウを１つのアプリケーションとみなして、データベース１４００上のアプリケーションＩＤ１４０１、座標１４０２、及びサイズ１４０３に、ベースウィンドウに割り当てられたＩＤ、ベースウィンドウの始点座標、及びベースウィンドウのサイズを保存する。ステップＳ１００２〜Ｓ１００４では、図７のステップＳ７０１〜Ｓ７０３と同様の処理が行われる。
【００５８】
次に、ステップＳ１００５では、部分領域画像をベースウィンドウ上に配置する。ユーザがベースウィンドウ上の任意の場所に部分領域画像をドラッグ＆ドロップすると、ドロップされた場所に部分領域画像が配置される。このとき、部分領域画像がベースウィンドウよりも大きい場合には、ベースウィンドウ上に収まるように当該部分領域画像を自動的にリサイズする。
【００５９】
ステップＳ１００６では、ベースウィンドウ上に配置された部分領域画像に対応する情報を保存する。ここでは、ベースウィンドウ上に配置された部分領域画像に対応する画像ＩＤ、ベースウィンドウのアプリケーションＩＤ、ベースウィンドウ上の座標、サイズ、及び状態を、データベース１５００上の画像ＩＤ１４０４、ベースウィンドウのアプリケーションＩＤ１４１０、ベースウィンドウ上の座標１４１１、サイズ１４１２、状態１４１３に保存する。
【００６０】
ステップＳ１００７では、終了判定ｆｌａｇ１５０１を参照し、終了判定ｆｌａｇ１５０１が「ｔｒｕｅ」ならば終了する。
【００６１】
図１１は、図６のステップＳ６０６における画像の置き換え処理の詳細を示すフローチャートである。本処理は、アプリケーションのウィンドウから抽出した部分領域画像を任意の画像に置き換える処理である。
【００６２】
図１１において、ステップＳ１１０１は、ＣＰＵ１００は、置き換えられる部分領域画像の選択を受け付ける。ユーザがマウスでクリックした部分領域画像の座標及びサイズを、データベース１５００上の座標１４０８及び画像サイズ１４０９と比較して、対象となる部分領域画像を検索する。
【００６３】
ステップＳ１１０２では、置き換える画像の選択を受け付ける。部分領域画像を別の画像に置き換えるために、置き換えられる部分領域画像を選択した後に、置き換える画像を選択するためにファイル選択画面を起動し、ユーザに画像を選択させる。
【００６４】
ステップＳ１１０３では、置き換え情報の保存を行う。ここでは、ユーザが選択した画像をデータベース上の参照画像１４１４に保存する。ステップＳ１１０４では、画像の置き換えを行う。ここでは、デスクトップ上に表示されている画像をデータベース１５００上の参照画像１４１４に変換する処理を行う。
【００６５】
図１２は、図６のステップＳ６０７における通常処理（指定無し）の詳細を示すフローチャートである。
【００６６】
図１２において、ステップＳ１２０１では、ＣＰＵ１００は、部分領域画像判定を行う。ここでは、マウスでデスクトップ上の部分領域画像（デスクトップ上の部分領域画像またはベースウィンドウ上の部分領域画像のどちらでもよい）が選択されているか否かを判定する。ここでは、マウスが部分領域画像上にあるかまたはキーボード入力のフォーカスがウィンドウの部分領域画像で表示されている範囲にある場合は、「ｔｒｕｅ」となり、ステップＳ１２０２へ移行する。基本的にキーボード入力のフォーカス（キャレット）は部分領域画像にはない。しかし、元のウィンドウにキャレットがあり、部分領域画像にそのキャレットが表示されている場合には、キーボード操作を行った結果をウィンドウと部分領域画像の両方に反映させなければならない。そのために、ウィンドウ上のキーボードの入力位置、つまりキャレットの位置を取得して、そのキャレット位置を表示している部分領域画像があるかどうかの判定を行う。そして、キーボードの入力位置に対応する部分領域画像がなければ、「ｆａｌｓｅ」となってステップＳ１２０３へ移行し、通常入力を行う。
【００６７】
ステップＳ１２０２では、状態判定を行う。マウス入力の場合はクリックした部分領域画像、キーボード入力の場合はキーボードの入力位置がウィンドウの部分領域画像内にあった場合は、その部分領域に対応する部分領域画像がコピーであるか、スナップショットであるかをデータベース１５００の状態１４１３で判定する。そして、スナップショットであるならば、ステップＳ１２０３へ進み、コピーであるならばステップＳ１２０４へ移行する。なお、状態１４１３にはデフォルトで何も保存されていないが、その場合はコピーとして判定される。
【００６８】
ステップＳ１２０３では、通常入力を行う。ここでは、ユーザ入力に対して何の変更もせずに通常通りの入力として扱う。この際に、ＧＵＩ管理ツール１０２の終了ボタン３０７が押下された場合、終了判定ｆｌａｇ１５０１を「ｔｒｕｅ」に設定する。
【００６９】
ステップＳ１２０４では、対象アプリケーションの検索を行う。入力座標上にあった部分領域画像の元になったアプリケーションをデータベースのアプリケーションＩＤで検索する。
【００７０】
ステップＳ１２０５では、入力位置の保存を行う。入力座標を図１５（ｂ）に示す入力座標１４１７に保存する。ここでの入力座標は、マウス入力の場合は部分領域画像をクリックした座標、キーボード入力の場合は元のウィンドウにフォーカスがあるのでその入力位置に対応する部分領域画像上での座標である。入力の結果でウィンドウ上にポップアップメニューやダイアログが表示される場合は、この入力座標上に表示するように出力座標を変換するので、入力座標を保存している。しかし、出力の結果が単純なウィンドウ上の表示の変更である場合は、部分領域画像の表示を更新するだけで、入力座標を使用しない。
【００７１】
ステップＳ１２０６では、入力位置の変換を行う。入力座標を部分領域画像上での座標から元のアプリケーション上での座標に変換する。
【００７２】
ステップＳ１２０７では、対象アプリケーションに入力の適応を行う。ユーザの入力をステップＳ１２０４で検索した対象アプリケーションに対して、ステップＳ１２０６で変換した座標で入力する。つまり、部分領域画像上で入力が行われたものを、座標を変換してウィンドウ上の部分領域上で入力が行われたようにする。
【００７３】
図１３は、図４におけるステップＳ４０４のアプリケーションの出力監視処理の詳細を示すフローチャートである。
【００７４】
図１３において、ステップＳ１３０１では、ＣＰＵ１００は、アプリケーションの出力監視を行う。データベース１５００上のアプリケーションＩＤ１４０１に登録されたアプリケーションが出力またはウィンドウの更新を行うのを監視する。その結果、アプリケーション出力またはウィンドウの更新が行われたアプリケーションがあれば、ステップＳ１３０２へ進む。
【００７５】
ステップＳ１３０２では、出力またはウィンドウの更新を行ったアプリケーションに対して、アプリケーションＩＤ１４０５と画像ＩＤ１４０４から該アプリケーションが部分領域画像を持つかどうかを判定する（部分領域画像保持判定）。ここでは、ウィンドウの更新を行ったアプリケーションＩＤがデータベース１５００上のアプリケーションＩＤ１４０５にあるかどうかで判定を行う。この結果、持っていなければ、ステップＳ１３０６へ移行して通常出力を行う。一方、持っていれば、出力座標判定（ステップＳ１３０３）を行う。
【００７６】
ステップＳ１３０３では、アプリケーションのウィンドウ上の出力座標を取得して、その座標がアプリケーションが持つ部分領域の範囲以内であるならばステップＳ１３０４へ進む。出力座標は、キャレットの座標であったり、ポップアップメニューの出力座標であったり、アプリケーションからＯＳへ画面の更新を伝えるときの信号の出力座標であり、デスクトップ上の座標を想定している。また、座標がアプリケーションが持つ部分領域の範囲以内であるか否かとは、アプリケーションが部分領域画像を持っているならば、アプリケーションの出力はウィンドウと部分領域画像の両方に反映しなければならないので、部分領域画像のウィンドウ上の座標とサイズから出力がウィンドウ上で部分領域画像を表示している部分領域に行われているのかどうかの判定を意味する。
【００７７】
ステップＳ１３０４では、該部分領域画像がスナップショットであるかどうかの状態判定を行い、範囲外であるならばステップＳ１３０６へ移行する。スナップショットか否かの状態判定を行うのは、スナップショットは部分領域画像を取ったときの画像のままで扱うので、ウィンドウの変更を反映させる必要がないためである。データベース１５００上の状態１４１４がスナップショットであるときは、ステップＳ１３０６へ移行し、コピーであるときは、ステップＳ１３０５へ移行する。
【００７８】
ステップＳ１３０５では、出力種別判定を行う。出力がポップアップメニューやダイアログボックス等に対して別のＵＩを出力するような場合は、出力位置の変換を行う（ステップＳ１３０７）。部分領域画像を右クリックして右クリックメニューが出力される場合などに、元のウィンドウ上ではなく部分領域画像上で右クリックメニューを出力するためには、出力の座標を変換しなければならない（通常は部分領域画像上ではなくウィンドウ上に右クリックメニューが出力される）。それ以外のウィンドウ上の見た目の変更（ボタンがへこんだ状態になる、文字が入力される等）は、部分領域画像の更新で対応しているので、出力座標の変換が必要ない。そのため、ポップアップメニューやダイアログの出力時には別扱いとした。
【００７９】
次に、ステップＳ１３０７では、出力位置の変換出力座標をステップＳ１２０５で保存した入力座標１４１７に変換する。ステップＳ１３０８では、対象画像に出力適応出力によって更新されたアプリケーションのウィンドウによって部分領域の画像を更新する。ステップＳ１３０９にて、終了判定ｆｌａｇ１５１０が「ｔｒｕｅ」の場合は終了し、「ｆａｌｓｅ」の場合はアプリケーションの出力を監視し続ける。
【００８０】
次に、２つのアプリケーションのウィンドウをベースウィンドウ上に配置したときの流れについて図１７〜図２０を参照して説明する。
【００８１】
図１７及び図１８において、デスクトップ１７００上には、２つのアプリケーションのウィンドウ１７０１，１７０２が表示されている。ウィンドウ１７０１上の部分領域１  １７０１ａ、ウィンドウ１７０２上の部分領域２−１  １７０２ａ及び部分領域２−２  １７０２ｂをユーザがそれぞれ選択し、図１９に示すベースウィンドウ１９０１上にドラッグ＆ドロップする。その結果、図２０のような部分領域１  １７０１ａに対応した部分領域画像１  ２００１ａ、部分領域２−１  １７０２ａに対応した部分領域画像２−１  ２００２ａ、部分領域２−２  １７０２ｂに対応した部分領域画像２−２  ２００２ｂから構成されるウィンドウになる。そして、２つのアプリケーションのウィンドウを交互にアクティブにしながら作業を進めていたものが同時平行して作業を進められるようになる。
【００８２】
次に、アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置（部品再構成）していくときの流れについて図２１〜図２９を参照して説明する。
【００８３】
図２１に示すウィンドウ２１０２は、電卓アプリケーションによりデスクトップ上に表示されたＧＵＩ画面である。ウィンドウ２１０２上には、それぞれが機能を有する部品（ボタン画像）が配置されている。そして、当該部品がマウスでクリックされることにより、アプリケーションが部品上に表示された数字を表示したり、四則計算を行う。これらの部品毎に部分領域を抽出し、ベースウィンドウ２１０３に配置したものが図２７に示すウィンドウ２７０３である。
【００８４】
上述した処理を実行することによりウィンドウ２１０２からウィンドウ２７０３に変更することができる。ウィンドウ２１０２に変更することで、デスクトップ上での作業の邪魔にならないように、当該デスクトップ上に配置させておくことができる。
【００８５】
次に、ウィンドウ２１０２からウィンドウ２７０３に変更する際の流れを上述した処理にからめて図２１〜図２７を参照して説明する。
【００８６】
図２１において、まず、ＧＵＩ管理ツール１０２の起動を行う（ステップＳ４０１）。これによって、ＧＵＩ管理ツール１０２が起動すると、ツールバー３００がデスクトップに表示される。そして、各監視処理（ステップＳ４０２，Ｓ４０３，Ｓ４０４）が起動する。
【００８７】
ユーザが電卓アプリケーションを起動すると、デスクトップ上にウィンドウ２１０２が表示され、ＣＰＵ１００は、起動した電卓アプリケーションの情報を収集する（ステップＳ５０４）。そして、電卓アプリケーションのアプリケーションＩＤ、デスクトップ上の座標、サイズをデータベース１４００に格納する。
【００８８】
ＣＰＵ１００は、入力・操作の監視処理によりユーザによる入力及び操作を監視し続ける。そこに、ユーザがＧＵＩ管理ツール１０２のベースウィンドウボタン３０６を押下すると、ステップＳ６０１からステップＳ６０５に進む。
【００８９】
ＣＰＵ１００は、ベースウィンドウ２１０３を作成する（ステップＳ１００１）。作成された空のウィンドウ２１０３がデスクトップ上に配置された後、ＣＰＵ１００は、ベースウィンドウ２１０３のアプリケーションＩＤ、デスクトップ上の座標、サイズをデータベース１４００に格納する。
【００９０】
図２２において、ユーザがベースウィンドウ２２０３上に配置する部分領域に対応するアプリケーションを選択し、当該選択を受け付けると（ステップＳ１００２）、ＣＰＵ１００が図２８に示すデータベース２８００から電卓アプリケーションのアプリケーションＩＤ２９０１とデスクトップ上の座標２９０２、サイズ２９０３を取得する。
【００９１】
次に、ユーザが電卓アプリケーションのウィンドウ２１０２の中から部分領域２１０２ａを抽出し、当該抽出を受け付けると、ＣＰＵ１００は該部分領域２１０２ａのウィンドウ２１０２上での座標、サイズを図２９のデータベース２９００に保存する（ステップＳ１００３）。そして、抽出した部分領域２１０２ａを部分領域画像に変換する（ステップＳ１００４）。
【００９２】
次に、ステップＳ１００５では、ユーザが部分領域２１０２ａから変換された部分領域画像をベースウィンドウ２２０３にドラッグ＆ドロップすると、ＣＰＵ１００は該部分領域画像２２０３ａをベースウィンドウ２２０３上に配置する。このとき、ステップＳ１００３で記録されていた座標、サイズと配置されたベースウィンドウ２２０３上での座標、サイズをデータベース２９００上の３００３，３００４，３００６，３００７へ格納する。そして、部分領域画像２２０３ａが配置されたベースウィンドウ２２０３のアプリケーションＩＤを３００５に格納する。また、ＣＰＵ１００はデフォルトでは状態をコピーとして配置するので、データベース２９００上にコピー３００８として格納する。このとき、図３のスナップショットモードボタン３０４を押下して部分領域を抽出した場合は状態をスナップショットとして配置することもできる。
【００９３】
図２３では、図２２の説明と同様に、部分領域２１０２ｂの部分領域画像２３０３ａがベースウィンドウ２３０３上に配置されている。このとき、部分領域画像２３０３ａの情報がデータベース２９００上の３００９，３０１０，３０１１，３０１２，３０１３，３０１４，３０１５に格納される。
【００９４】
図２４では、図２２、図２３の説明と同様な操作を部分領域２１０２ｃに対して行う。図２２、図２３と異なるのは部分領域画像２４０３ａがベースウィンドウ２４０３にドロップされたときに当該ベースウィンドウ２４０３からはみ出てしまう点である。そこで、ＣＰＵ１００は、はみ出した分だけベースウィンドウ２４０３のサイズを拡張し、該部分領域画像２４０３ａがベースウィンドウ２４０３内に収まるようにする（図２５）。このとき、ＣＰＵ１００はデータベース２９００上のベースウィンドウ上のサイズ２９０６を２９０７から２９０８に変更する。
【００９５】
図２２〜図２５（ステップＳ１００２〜ステップＳ１００７）の説明のような操作を繰り返すことで、電卓アプリケーションのウィンドウ２１０２から複数の部分領域を抽出し、図２６に示すように、部分領域画像として配置したベースウィンドウ２６０３を作成することができる。全ての部分画像の情報が図２９のデータベース２９００に格納されている。
【００９６】
最後に、図２７に示すように、ベースウィンドウ２６０３の縦のサイズをユーザが変更して、ベースウィンドウ２７０３が完成する。
【００９７】
次に、ベースウィンドウ２７０３をユーザが操作したときの処理の流れを説明する。
【００９８】
まず、ユーザがベースウィンドウ２７０３上にある部分領域画像２７０３ｃ（図２９のデータベース２９００上の画像ＩＤ＝００３の部分領域画像に相当）をマウスでクリックした場合には、ユーザはＧＵＩ管理ツール１０２を使用していないので、ＣＰＵ１００はステップＳ６０１のモードの指定からモードの指定がないと判断して、通常操作（指定なし）として処理を行う（ステップＳ６０７）。
【００９９】
ステップＳ１２０１では、ユーザの入力した座標が部分画像かどうかの判定を行う。ユーザの入力した座標とは、マウスでベースウィンドウ２７０３上の部分領域画像２７０３ｃをクリックしたとすると、そのマウス入力のデスクトップ上の座標である。ユーザの入力した座標からベースウィンドウの座標２９０５を引いて、ベースウィンドウ上への入力座標へ変換する。該ベースウィンドウ上での入力座標と図２９のデータベース２９００上にある全ての部分領域画像のベースウィンドウ上での座標とサイズを比較して、部分画像に対する入力かどうかを判別する。ここでは、部分領域画像２７０３ａへの入力座標とベースウィンドウの座標３００５からベースウィンドウ上の座標３０２１、サイズ３０２２内に入力があったと判断される。
【０１００】
ＣＰＵ１００は、ステップＳ１２０２で部分領域画像の状態３０２３を判定し、コピーであるのでステップＳ１２０４の処理へ進む。
【０１０１】
ステップＳ１２０４では、部分領域画像の元となった対象アプリケーションをデータベース２９００のアプリケーションＩＤから取得する。
【０１０２】
ステップＳ１２０５では、入力座標を図３０に示すデータベース上の入力座標３１０１に格納する。部分領域画像をクリック→元のウィンドウに入力を伝える→ウィンドウで入力が反映される→部分領域画像の表示を更新という流れである。もし、右クリックメニュー等の出力がされる場合は、部分領域画像を右クリック→元のウィンドウへ入力を伝える→元のウィンドウがＯＳを介して右クリックメニューを出力しようとする→右クリックメニューを出力する座標を部分領域画像をクリックした座標に変換する→部分領域画像上に右クリックメニューが表示されるという流れとなる。
【０１０３】
ステップＳ１２０６では、部分画像２７０３ａ上にある入力座標（ベースウィンドウ上の部分領域画像）を部分領域２１０２ｃ上への入力座標へ変換する。ここでは、アプリケーションのデスクトップ上の座標２９０２とベースウィンドウのデスクトップ上の座標２９０５の差分、部分領域画像２７０３ａのウィンドウ上の座標３０１８とベースウィンドウ上の座標３０２１の差分を入力座標に加えて変換する。部分領域画像２７０３ｃをクリック→「デスクトップ上のクリック座標」と「ベースウィンドウのデスクトップ上の座標２９０５と部分領域画像のベースウィンドウ上での座標３００６とサイズ３００７」を比較してどの部分領域画像上でクリックがされたかを判定する→部分領域画像２７０３ｃがクリックされたと判別→「ベースウィンドウ２７０３のデスクトップ上の座標２９０５、部分領域画像のベースウィンドウ上の座標３０２１、ウィンドウのデスクトップ上の座標２９０２、部分領域２１０２ｃのウィンドウ上の座標３０１８」を使って、部分領域画像２１０２ａ上でのクリックした入力座標をウィンドウ上の部分領域２１０２ｃ上に変換する。これによって、ベースウィンドウ上の「１」ボタンをクリックした入力の座標がウィンドウ上の「１」ボタン上の座標に変換される）。
【０１０４】
ステップＳ１２０７では、ユーザが入力した信号を部分領域画像上の座標からウィンドウ上の部分領域上の座標に変換して、ウィンドウに対して入力信号を送る。ここでは、部分領域２１０２ｃへマウスクリックの入力が行われる。すると、アプリケーションは部分領域２１０２ｃへのクリック処理を行う。つまり、部分領域２１０２ａへ「１」を出力する。
【０１０５】
ＣＰＵ１００は、ステップＳ１３０１でデータベース上のアプリケーションＩＤ１４０１に登録されているアプリケーションの出力を監視している。ここでは、アプリケーションＩＤ３００２に登録されているアプリケーションの出力を監視している。
【０１０６】
ステップＳ１３０２では、アプリケーションが部分画像を持つかどうかをデータベースのアプリケーションＩＤ１４０５と自身のアプリケーションＩＤを比較して判別する。ここでは、アプリケーションは部分画像を持つので、ステップＳ１３０３の処理に進む。
【０１０７】
ステップＳ１３０３では、アプリケーションの出力信号のウィンドウ上での出力座標とステップＳ１３０２で対象となった全部分画像のウィンドウ上での座標１４０６とサイズ１４０７を比較して、アプリケーションの出力領域２８０５と対応する部分画像２８０２を判別する。
【０１０８】
ステップＳ１３０４では、部分画像２８０２の状態３００８を判別する。ここでは、状態がコピーなのでステップＳ１３０５の処理へ進む。
【０１０９】
ステップＳ１３０５では、出力信号が右クリックメニュー出力、ダイアログ出力或いは他のポップアップ出力かどうかを判定する。ここでは、ポップアップ出力ではないので、ステップＳ１３０８へ進む。
【０１１０】
ステップＳ１３０８では、対象部分領域２８０５の現在の状態（「１」と出力されている）で部分画像２８０２を更新する。これによって、ベースウィンドウでの操作が対象アプリケーションに反映され、さらにベースウィンドウに反映されることになる。
【０１１１】
アプリケーションのウィンドウから任意の部分領域を部分領域画像として抽出し、ウィンドウと抽出した部分領域画像における入出力を監視し、相互に反映させる。これにより、ユーザが現在使用しているアプリケーションのウィンドウから必要とする領域だけを画面上に作業しやすいように配置させることができる。
【０１１２】
また、ユーザは部分領域画像を操作することで、当該部分領域画像に対応するアプリケーションの機能を扱うことができる。これによって、ユーザは１つ或いは複数のウィンドウから必要なボタンやメニューだけを抽出し、作業に必要な部品だけで１つのウィンドウに構成しなおすことも可能である。
【０１１３】
さらに、ウィンドウ上の機能部品が小さいことによって操作がしにくい場合などにおいて、その部品を拡大することで作業しやすいものにすることが可能である。また、ウィンドウ上のボタン等の画像が機能を表現しておらずボタンの機能が分かりにくいものに関して、ボタンの画像を変更することでボタンの機能を分かりやすくすることが可能である。
【０１１４】
このように、上記実施の形態によれば、アプリケーションにより表示されたウィンドウ上で指定された部分領域画像を抽出する。そして、抽出された部分領域画像がベースウィンドウ上に配置されると、該ベースウィンドウ上に配置された部分領域画像に対する入力を、当該部分領域画像に対応するアプリケーションに伝える。これにより、アプリケーションにより表示されたウィンドウ上のユーザが所望する部分領域画像を画面上に再配置することができ、再配置された部分領域画像に対して操作を行うことにより当該アプリケーションの機能を利用することができる。
【０１１５】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１６】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１７】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１８】
さらに、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【０１１９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【０１２０】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【図面の簡単な説明】
【０１２１】
【図１】本発明の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】図１のＧＵＩ管理ツールの詳細を示す図である。
【図３】表示装置に表示されるＧＵＩ管理ツールのツールバーの一例を示す図である。
【図４】ＧＵＩ管理ツールの起動から終了までの処理全体の流れを示すフローチャートである。
【図５】図４のステップＳ４０２におけるアプリケーションの起動監視処理の詳細を示すフローチャートである。
【図６】図４のステップＳ４０３における入力・操作の監視処理の詳細を示すフローチャートである。
【図７】図６のステップＳ６０１におけるコピー＆スナップショット処理の詳細を示すフローチャートである。
【図８】図６のステップＳ６０３における移動処理の詳細を示すフローチャートである。
【図９】図６のステップＳ６０４における拡大処理の詳細を示すフローチャートである。
【図１０】図６のステップＳ６０５におけるベースウィンドウ作成処理の詳細を示すフローチャートである。
【図１１】図６のステップＳ６０６における画像の置き換え処理の詳細を示すフローチャートである。
【図１２】図６のステップＳ６０７における指定無し時の通常処理の詳細を示すフローチャートである。
【図１３】図４におけるステップＳ４０４のアプリケーションの出力監視処理の詳細を示すフローチャートである。
【図１４】データベースの一例を示す図であり、（ａ）はアプリケーションテーブル、（ｂ）は部分領域画像情報テーブルである。
【図１５】データベースの一例を示す図であり、（ａ）は部分領域画像テーブル、（ｂ）は入力座標である。
【図１６】判定ｆｌａｇの一例を示す図である。
【図１７】２つのアプリケーションのウィンドウを１つのベースウィンドウ上に配置する流れを示す図である（その１）。
【図１８】２つのアプリケーションのウィンドウを１つのベースウィンドウ上に配置する流れを示す図である（その２）。
【図１９】２つのアプリケーションのウィンドウを１つのベースウィンドウ上に配置する流れを示す図である（その３）。
【図２０】２つのアプリケーションのウィンドウを１つのベースウィンドウ上に配置する流れを示す図である（その４）。
【図２１】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その１）。
【図２２】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その２）。
【図２３】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その３）。
【図２４】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その４）。
【図２５】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その５）。
【図２６】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その６）。
【図２７】アプリケーションウィンドウ上の複数の機能部品を部分領域として抽出してベースウィンドウ上に配置していくときの流れを示す図である（その７）。
【図２８】アプリケーションテーブルの他の一例を示す図である。
【図２９】部分領域画像情報テーブルの他の一例を示す図である。
【図３０】入力座標の他の一例を示す図である
【符号の説明】
【０１２２】
１００  ＣＰＵ
１０１  メモリ
１０２  ＧＵＩ管理ツール
１０３  アプリケーションの監視機能
１０４  入力の監視機能
１０５  画像の操作機能
１０６  判定ｆｌａｇ
１０８  表示装置
１１０  ハードディスク
１１１  データベース
１１３  入力装置
【図１】
2008250915.tif 000003
【図２】
2008250915.tif 000004
【図３】
2008250915.tif 000005
【図４】
2008250915.tif 000006
【図５】
2008250915.tif 000007
【図６】
2008250915.tif 000008
【図７】
2008250915.tif 000009
【図８】
2008250915.tif 000010
【図９】
2008250915.tif 000011
【図１０】
2008250915.tif 000012
【図１１】
2008250915.tif 000013
【図１２】
2008250915.tif 000014
【図１３】
2008250915.tif 000015
【図１４】
2008250915.tif 000016
【図１５】
2008250915.tif 000017
【図１６】
2008250915.tif 000018
【図１７】
2008250915.tif 000019
【図１８】
2008250915.tif 000020
【図１９】
2008250915.tif 000021
【図２０】
2008250915.tif 000022
【図２１】
2008250915.tif 000023
【図２２】
2008250915.tif 000024
【図２３】
2008250915.tif 000025
【図２４】
2008250915.tif 000026
【図２５】
2008250915.tif 000027
【図２６】
2008250915.tif 000028
【図２７】
2008250915.tif 000029
【図２８】
2008250915.tif 000030
【図２９】
2008250915.tif 000031
【図３０】
2008250915.tif 000032