(57)【要約】【課題】任意のウィンドウ間でアクティブウィンドウを容易に切り替えることが可能な情報処理装置を実現する。【解決手段】コンピュータ１０は、入力装置（キーボード１３、タッチパッド１５、またはＵＳＢマウス１２１）の操作によってＬＣＤ１７に表示されている複数のウィンドウの中から制御対象ウィンドウに設定すべきことが指定された少なくとも２つのウィンドウそれぞれに対応するウィンドウ識別子を主メモリ１０３のテーブルＴ１に保存する。ウィンドウ制御モジュール２１３は、イベント検出モジュール２１０によってアクティブウィンドウ切り替えイベントの入力が検出された時、テーブルＴ１に保存されているウィンドウ識別子それぞれに対応するウィンドウ間で、アクティブウィンドウを切り替える処理を実行する。【選択図】      図３
2006330912.tif 000002
【特許請求の範囲】
【請求項１】
複数のウィンドウを表示可能な情報処理装置において、
入力装置と、
記憶装置と、
前記入力装置の操作によって前記複数のウィンドウの中から制御対象ウィンドウに設定すべきことが指定された少なくとも２つのウィンドウそれぞれに対応するウィンドウ識別子群を前記記憶装置に保存するウィンドウ識別子保存手段と、
前記入力装置からアクティブウィンドウの切り替えを要求するイベントが入力された場合、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群の間で、アクティブウィンドウを切り替える処理を実行するウィンドウ制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記入力装置の操作で前記制御対象ウィンドウから除外すべきことが指定されたウィンドウに対応するウィンドウ識別子を、前記記憶装置から削除するウィンドウ識別子削除手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ウィンドウ制御手段は、マウスカーソルの位置を、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群の中で、新たにアクティブウィンドウに設定されたウィンドウ上に移動する手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記複数のウィンドウはオペレーティングシステムによって管理されており、
前記ウィンドウ制御手段は、前記イベントの入力に応答して前記記憶装置に保存されているウィンドウ識別子群の中から一つのウィンドウ識別子を選択し、当該選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定すべきことを要求するメッセージを前記オペレーティングシステムに送信する手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記複数のウィンドウはオペレーティングシステムによって管理されており、
前記ウィンドウ制御手段は、前記イベントの入力に応答して前記記憶装置に保存されているウィンドウ識別子群の中から一つのウィンドウ識別子を選択し、当該選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定すべきことを要求するメッセージを前記オペレーティングシステムに送信して、前記選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定する手段と、前記選択したウィンドウ識別子に対応するウィンドウの位置を示す位置情報を前記オペレーティングシステムから取得し、当該取得した位置情報に基づいて、マウスカーソルの位置を、前記選択したウィンドウ識別子に対応するウィンドウ上に移動する手段とを含むことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記イベントは第１イベントおよび第２イベントのいずれか一方を含み、
前記ウィンドウ制御手段は、前記第１イベントが入力される度に、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群を第１の順番でアクティブウィンドウに順次設定する手段と、前記第２イベントが入力される度に、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群を前記第１の順番とは逆の第２の順番でアクティブウィンドウに順次設定する手段とを含むことを特徴とする請求項１記載の情報処理装置。
【請求項７】
コンピュータの表示画面に表示される複数のウィンドウを制御する処理を前記コンピュータに実行させるプログラムであって、
前記コンピュータの入力装置の操作によって前記複数のウィンドウの中から制御対象ウィンドウに設定すべきことが指定された少なくとも２つのウィンドウそれぞれに対応するウィンドウ識別群を前記コンピュータの記憶装置に保存する処理を、前記コンピュータに実行させる手順と、
前記入力装置からアクティブウィンドウの切り替えを要求するイベントが入力された場合、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群の間で、アクティブウィンドウを切り替えるウィンドウ制御処理を、前記コンピュータに実行させる手順とを具備することを特徴とするプログラム。
【請求項８】
前記入力装置の操作で前記制御対象ウィンドウから除外すべきことが指定されたウィンドウに対応するウィンドウ識別子を前記記憶装置から削除するウィンドウ識別子削除処理を、前記コンピュータに実行させる手順をさらに具備することを特徴とする請求項７記載のプログラム。
【請求項９】
マウスカーソルの位置を、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群の中で、新たにアクティブウィンドウに設定されたウィンドウ上に移動する処理を、前記コンピュータに実行させる手順をさらに具備することを特徴とする請求項７記載のプログラム。
【請求項１０】
前記複数のウィンドウはオペレーティングシステムによって管理されており、
前記ウィンドウ制御処理は、前記イベントの入力に応答して前記記憶装置に保存されているウィンドウ識別子群の中から一つのウィンドウ識別子を選択し、当該選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定すべきことを要求するメッセージを前記オペレーティングシステムに送信する処理を含むことを特徴とする請求項７記載のプログラム。
【請求項１１】
前記複数のウィンドウはオペレーティングシステムによって管理されており、
前記ウィンドウ制御処理は、前記イベントの入力に応答して前記記憶装置に保存されているウィンドウ識別子群の中から一つのウィンドウ識別子を選択し、当該選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定すべきことを要求するメッセージを前記オペレーティングシステムに送信して、前記選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定する処理と、前記選択したウィンドウ識別子に対応するウィンドウの位置を示す位置情報を前記オペレーティングシステムから取得し、当該取得した位置情報に基づいて、マウスカーソルの位置を、前記選択したウィンドウ識別子に対応するウィンドウ上に移動する処理とを含むことを特徴とする請求項７記載のプログラム。
【請求項１２】
前記イベントは第１イベントおよび第２イベントのいずれか一方を含み、
前記ウィンドウ制御処理は、前記第１イベントが入力される度に、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群を第１の順番でアクティブウィンドウに順次設定する処理を、前記コンピュータに実行させる手順と、前記第２イベントが入力される度に、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群を前記第１の順番とは逆の第２の順番でアクティブウィンドウに順次設定する処理を、前記コンピュータに実行させる手順とを含むことを特徴とする請求項７記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のウィンドウを表示可能な情報処理装置および同装置で用いられるプログラムに関する。
【背景技術】
【０００２】
一般に、パーソナルコンピュータのような情報処理装置においては、マルチウィンドウシステムが利用されている。このマルチウィンドウシステムは、アプリケーションプログラム、ユーティリティのような様々なプログラムに対応した複数のウィンドウを表示画面上に表示可能なウィンドウ環境である。
【０００３】
マルチウィンドウシステムにおいては、ユーザは、マウスポインタを目的のウィンドウ上に移動する操作を実行し、そして当該ウィンドウをクリック操作することにより、当該ウィンドウをアクティブウィンドウに設定することができる。アクティブウィンドウとは、表示画面上のウィンドウの内で最前面に位置するウィンドウ、つまり現在フォーカスされており、画面スクロール、コマンド入力またはテキスト入力の対象となっているウィンドウを意味する。
【０００４】
しかし、マウスポインタの位置を目的のウィンドウ上に移動するためには、ユーザは、マウスデバイス自体を机上で移動させなければならない。現在アクティブなウィンドウの位置と新たにアクティブウィンドウに設定したい目的のウィンドウの位置とが比較的離れている場合には、マウスデバイスを移動させる距離も増えることになる。このため、マウスポインタの移動によってアクティブウィンドウを切り替えるという機能は、ユーザにとって、必ずしも使いやすいものではない。
【０００５】
特許文献１には、ＡｌｔキーとＴａｂキーとを同時に押下操作することによって、アクティブウィンドウを切り替える技術が開示されている。
【特許文献１】特開２００５−１０９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、ＡｌｔキーとＴａｂキーとを用いた上述のアクティブウィンドウ切り替え技術においては、表示画面上の全てのウィンドウ間でアクティブウィンドウの切替が行われる。このため、多数のウィンドウが表示されている場合には、目的のウィンドウがアクティブウィンドウに設定されるまでに、ユーザは、ＡｌｔキーとＴａｂキーとの同時押下操作を、何度も繰り返し実行することが必要となる。
【０００７】
本発明は上述の事情を考慮してなされたものであり、任意のウィンドウ間でアクティブウィンドウを容易に切り替えることが可能な情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するために、本発明は、複数のウィンドウを表示可能な情報処理装置において、入力装置と、記憶装置と、前記入力装置の操作によって前記複数のウィンドウの中から制御対象ウィンドウに設定すべきことが指定された少なくとも２つのウィンドウそれぞれに対応するウィンドウ識別子群を前記記憶装置に保存するウィンドウ識別子保存手段と、前記入力装置からアクティブウィンドウの切り替えを要求するイベントが入力された場合、前記記憶装置に保存されているウィンドウ識別子群それぞれに対応するウィンドウ群の間で、アクティブウィンドウを切り替える処理を実行するウィンドウ制御手段とを具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、任意のウィンドウ間でアクティブウィンドウを容易に切り替えることが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。
【００１１】
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ１０として実現されている。
【００１２】
図１はノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１とディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面は、ディスプレイユニット１２のほぼ中央に位置されている。
【００１３】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０を電源オン／オフするためのパワーボタン１４およびタッチパッド１５などが配置されている。
【００１４】
タッチパッド１５は、ＬＣＤ１７の表示画面上の位置を指示するポインティングデバイスであり、表示画面上に表示されるマウスポインタ（マウスカーソルとも云う）の位置を指示する。タッチパッド１５の操作に応じて、マウスポインタは表示画面上を移動する。タッチパッド１５には、左ボタンスイッチ（Ｌボタン）１６ａおよび右ボタンスイッチ（Ｒボタン）１６ｂなどが設けられている。左ボタンスイッチ１６ａは、マウスポインタで指定される表示画面上のアイテムを選択するためのボタンスイッチである。右ボタンスイッチ１６ｂは、操作機能のメニューを呼び出す機能を有するボタンスイッチである。
【００１５】
本コンピュータ１０は、ＬＣＤ１７上に複数のウィンドウを表示するマルチウィンドウシステムをサポートしている。ユーザは、アクティブウィンドウに対するコマンド、テキストのようなデータ入力操作を、他の非アクティブウィンドウを見ながら行う場合がある。アクティブウィンドウは、上述したように、最前面に位置し、コマンドおよびテキストの入力対象となっているウィンドウである。
【００１６】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１７】
本コンピュータ１０には、図２に示されているように、ＣＰＵ１０１、ホストハブ１０２、主メモリ１０３、グラフィクスコントローラ１０４、Ｉ／Ｏハブ１０５、ハードディスクドライブ１０６、サウンドコントローラ１０７、ＢＩＯＳ−ＲＯＭ１０８およびエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１０等が設けられている。
【００１８】
ＣＰＵ１０１は本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１０６から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２０１および各種アプリケーション／ユーティリティプログラムを実行する。ＯＳ２０１は、複数のウィンドウを表示画面上に表示するためのウィンドウシステムを有している。また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０８に格納されたＢＩＯＳ（Basic Input Output System）も実行する。
【００１９】
本コンピュータ１０においては、ユーティリティプログラムの一つとして、ウィンドウ制御ユーティリティプログラム２０３が予めインストールされている。このウィンドウ制御ユーティリティプログラム２０３は、予め切り替え対象に指定されたウィンドウ群の間で、アクティブウィンドウを切り替える処理を実行するためのプログラムである。ウィンドウ制御ユーティリティプログラム２０３は、例えばＴＳＲ（terminate-and-stay-resident program）として実現することができる。表示ドライバ２０２は、グラフィクスコントローラ１０４を制御するためのソフトウェアである。
【００２０】
ホストハブ１０２はＣＰＵ１０１のローカルバスとＩ／Ｏハブ１０５との間を接続するブリッジデバイスである。ホストハブ１０２には、主メモリ１０３をアクセス制御するメモリコントローラが内蔵されている。
【００２１】
グラフィクスコントローラ１０４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７、ＣＲＴ（cathode-ray tube）モニタ２０、ＴＶモニタ２５をそれぞれ制御する。グラフィクスコントローラ１０４はビデオメモリ（ＶＲＡＭ）１０４Ａを有しており、ＯＳ／アプリケーションプログラムによってビデオメモリに描画された表示データをＬＣＤ１７、ＣＲＴモニタ２０およびＴＶモニタ２５に表示する。
【００２２】
Ｉ／Ｏハブ１０５は、ＰＣＩ（Peripheral Component Interconnect）バス１上の各デバイスおよびＬＰＣ（low pin count）バス２上の各デバイスを制御する。また、Ｉ／Ｏハブ１０５には、ＨＤＤ１０６を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラも内蔵されている。また、Ｉ／Ｏハブ１０５にはＵＳＢコントローラ１２０も接続されている。
【００２３】
ＵＳＢコントローラ１２０は、コンピュータ本体１１に設けられたＵＳＢポートに接続されたＵＳＢデバイスを制御する機能を有する。本コンピュータ１０のＵＳＢポートには、例えば、ＵＳＢマウス１２１が必要に応じて接続される。このＵＳＢマウス１２１はポインティングデバイスであり、左ボタンスイッチ（Ｌボタン）１２３、右ボタンスイッチ（Ｒボタン）１２４およびスクロールホイール１２５を有する。左ボタンスイッチ１２３は、上述の左ボタンスイッチ１６ａと同様の機能を有する。右ボタンスイッチ１２４は、上述の右ボタンスイッチ１６ｂと同様の機能を有する。スクロールホイール１２５は、上下方向に回転可能にＵＳＢマウス１２１の本体に支持されている。また、スクロールホイール１２５は、その位置が左方向および右方向にそれぞれ移動できるようにＵＳＢマウス１２１の本体に支持されている。
【００２４】
ＰＣＩバス１上には、サウンドコントローラ１０７が接続されている。このサウンドコントローラ１０７は、音源として機能するＰＣＩデバイスである。ＬＰＣバス２上には、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１０が接続されている。
【００２５】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１０は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびポインティングデバイス（タッチパッド１５）を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。このエンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１０は、ユーザによるパワーボタン１４の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。
【００２６】
次に、図３を参照して、ウィンドウ制御ユーティリティプログラム２０３の機能構成を説明する。ウィンドウ制御ユーティリティプログラム２０３は、イベント検出モジュール２１０、ウィンドウ識別子登録モジュール２１１、ウィンドウ識別子削除モジュール２１２およびウィンドウ制御モジュール２１３から構成されている。
【００２７】
イベント検出モジュール２１０は、入力装置（キーボード１３、タッチパッド１５、またはＵＳＢマウス１２１）の操作によって入力されるイベント（ウィンドウ登録イベント、ウィンドウ削除イベント、アクティブウィンドウ切り替えイベント）を検出する機能を有する。ウィンドウ登録イベントは、ＬＣＤ１７に表示されている複数のウィンドウの中から選択されたウィンドウを制御対象ウィンドウとして登録すべきことを指示するイベントである。ウィンドウ削除イベントは、制御対象ウィンドウとして登録されたウィンドウ群の中から選択されたウィンドウを、制御対象ウィンドウから除外することを指示するイベントである。アクティブウィンドウ切り替えイベントは、制御対象ウィンドウとして登録されたウィンドウ間でアクティブウィンドウを切り替える処理の実行を指示するイベントである。
【００２８】
ウィンドウ識別子登録モジュール２１１は、入力装置（キーボード１３、タッチパッド１５、またはＵＳＢマウス１２１）の操作によってＬＣＤ１７に表示されている複数のウィンドウの中から制御対象ウィンドウに設定すべきことが指定された少なくとも２つのウィンドウそれぞれに対応するウィンドウ識別子を主メモリ１０３のテーブルＴ１に保存する。すなわち、ウィンドウ識別子登録モジュール２１１は、イベント検出モジュール２１０によってウィンドウ登録イベントの入力が検出された時、当該ウィンドウ登録イベントによって指定されるウィンドウに対応したウィンドウ識別子を主メモリ１０３のテーブルＴ１に格納する。ウィンドウ識別子は複数のウィンドウの各々を一意に識別するための情報であり、例えばウィンドウ名称、ウィンドウクラスなどの情報から構成される。
【００２９】
ウィンドウ識別子削除モジュール２１２は、入力装置（キーボード１３、タッチパッド１５、またはＵＳＢマウス１２１）の操作によって制御対象ウィンドウから除外すべきことが指定されたウィンドウに対応するウィンドウ識別子を、テーブルＴ１から削除する。すなわち、ウィンドウ識別子削除モジュール２１２は、イベント検出モジュール２１０によってウィンドウ削除イベントの入力が検出された時、当該ウィンドウ削除イベントによって指定されるウィンドウに対応するウィンドウ識別子をテーブルＴ１から削除する。
【００３０】
ウィンドウ制御モジュール２１３は、イベント検出モジュール２１０によってアクティブウィンドウ切り替えイベントの入力が検出された時、テーブルＴ１に保存されているウィンドウ識別子それぞれに対応するウィンドウ間で、アクティブウィンドウを切り替える処理を実行する。例えば、３つのウィンドウＷ１，Ｗ２，Ｗ３それぞれに対応するウィンドウ識別子ＩＤ＿Ｗ１，ＩＤ＿Ｗ２，ＩＤ＿Ｗ３がテーブルＴ１に保存されているならば、ウィンドウ制御モジュール２１３は、アクティブウィンドウ切り替えイベントの入力が検出される度に、３つのウィンドウＷ１，Ｗ２，Ｗ３間でアクティブウィンドウを順番に切り替える。具体的には、もしウィンドウＷ１がアクティブな状態で、アクティブウィンドウ切り替えイベントが入力されたならば、ウィンドウ制御モジュール２１３は、ウィンドウＷ２をアクティブウィンドウに設定する。また、もしウィンドウＷ２がアクティブな状態で、アクティブウィンドウ切り替えイベントが入力されたならば、ウィンドウ制御モジュール２１３は、ウィンドウＷ３をアクティブウィンドウに設定する。また、もしウィンドウＷ３がアクティブな状態で、アクティブウィンドウ切り替えイベントが入力されたならば、ウィンドウ制御モジュール２１３は、ウィンドウＷ１をアクティブウィンドウに設定する。
【００３１】
次に、図４および図５を参照して、ウィンドウ識別子登録モジュール２１１によって実行されるウィンドウ識別子登録処理を説明する。
【００３２】
このウィンドウ識別子登録処理は、上述のウィンドウ登録イベントの入力が検出されたときに実行される。このウィンドウ登録イベントの入力操作は、例えば、図５に示すように、タッチパッド１５の右ボタンスイッチ１６ｂまたはマウス１２１の右ボタンスイッチ１２４の操作（右クリック操作）に応答して表示画面上に表示される操作メニュー３１０を用いて行われる。操作メニュー３１０には、ＯＳ２０１によって提供される幾つかの標準機能それぞれに対応する項目に加え、「ウィンドウ登録」機能および「ウィンドウ登録解除」機能それぞれに対応する項目が表示される。ユーザによる入力装置（キーボード１３、タッチパッド１５またはマウス１２１）の操作によって「ウィンドウ登録」項目が選択されると、イベント検出モジュール２１０は、ウィンドウ登録イベントが入力されたことを検出する。
【００３３】
ウィンドウ登録イベントの入力が検出された時、ウィンドウ制御ユーティリティプログラム２０３のウィンドウ識別子登録モジュール２１１は、右クリック操作で指定されたウィンドウ（またはマウスカーソルの下に位置するウィンドウ）のウィンドウ識別子を要求するメッセージをＯＳ２０１に送信する。表示画面上の全てのウィンドウはＯＳ２０１によって管理されている。ＯＳ２０１は、右クリック操作で指定されたウィンドウ（またはマウスカーソルの下に位置するウィンドウ）のウィンドウ識別子（ウィンドウ名、またはウィンドウクラス名）をウィンドウ識別子登録モジュール２１１に送信する。このようにして、ウィンドウ識別子登録モジュール２１１は、ウィンドウ登録イベントによって指定されたウィンドウのウィンドウ識別子をＯＳ２０１から取得する。この後、ウィンドウ識別子登録モジュール２１１は、取得したウィンドウ識別子をメモリ１０３のテーブルＴ１に保存する。
【００３４】
例えば、図５に示すように、ウィンドウＷ１が右クリック操作で指定された状態で「ウィンドウ登録」項目が選択されたならば、ウィンドウ識別子登録モジュール２１１は、ウィンドウＷ１に対応するウィンドウ識別子ＩＤ＿Ｗ１をＯＳ２０１から取得し、取得したウィンドウ識別子ＩＤ＿Ｗ１をテーブルＴ１に保存する。
【００３５】
次に、図６および図７を参照して、ウィンドウ識別子削除モジュール２１２によって実行されるウィンドウ識別子削除処理を説明する。
【００３６】
このウィンドウ識別子削除処理は、上述のウィンドウ削除イベントの入力が検出されたときに実行される。図７に示すように、操作メニュー３１０上の「ウィンドウ登録解除」項目がユーザによる入力装置（キーボード１３、タッチパッド１５またはマウス１２１）の操作によって選択されると、イベント検出モジュール２１０は、ウィンドウ削除イベントが入力されたことを検出する。
【００３７】
ウィンドウ削除イベントの入力が検出された時、ウィンドウ制御ユーティリティプログラム２０３のウィンドウ識別子削除モジュール２１２は、右クリック操作で指定されたウィンドウ（またはマウスカーソルの下に位置するウィンドウ）のウィンドウ識別子を要求するメッセージをＯＳ２０１に送信する。ＯＳ２０１は、右クリック操作で指定されたウィンドウ（またはマウスカーソルの下に位置するウィンドウ）のウィンドウ識別子（ウィンドウ名、またはウィンドウクラス名）をウィンドウ識別子削除モジュール２１２に送信する。このようにして、ウィンドウ識別子削除モジュール２１２は、ウィンドウ削除イベントによって指定されたウィンドウのウィンドウ識別子をＯＳ２０１から取得する。この後、ウィンドウ識別子削除モジュール２１２は、取得したウィンドウ識別子をメモリ１０３のテーブルＴ１から削除して、取得したウィンドウ識別子に対応するウィンドウをアクティブウィンドウの切り替え対象から除外する。
【００３８】
例えば、図７に示すように、ウィンドウＷ１が右クリック操作で指定された状態で「ウィンドウ登録解除」項目が選択されたならば、ウィンドウ識別子削除モジュール２１２は、ウィンドウＷ１に対応するウィンドウ識別子ＩＤ＿Ｗ１をＯＳ２０１から取得し、取得したウィンドウ識別子ＩＤ＿Ｗ１をテーブルＴ１から削除する。
【００３９】
次に、図８を参照して、ウィンドウ制御モジュール２１３によって実行されるアクティブウィンドウ切り替え処理を説明する。
【００４０】
このアクティブウィンドウ切り替え処理は、上述のアクティブウィンドウ切り替えイベントの入力が検出されたときに実行される。このアクティブウィンドウ切り替えイベントは、第１イベントおよび第２イベントの２種類存在する。第１イベントは、制御対象ウィンドウとして登録されているウィンドウ群を第１の順番でアクティブウィンドウに切り替えることを指示するイベントであり、第２イベントは、制御対象ウィンドウとして登録されているウィンドウ群を第１の順番と逆の順番でアクティブウィンドウに切り替えることを指示するイベントである。
【００４１】
第１イベントの入力が検出される度、ウィンドウ制御モジュール２１３は、テーブルＴ１に格納されたウィンドウ識別子群それぞれに対応するウィンドウ群を、テーブルＴ１にウィンドウ識別子が登録された順番と同じ順番でアクティブウィンドウに順次設定する。例えば、ウィンドウ識別子ＩＤ＿Ｗ２、ウィンドウ識別子ＩＤ＿Ｗ３、ウィンドウ識別子ＩＤ＿Ｗ１の順でこれらウィンドウ識別子ＩＤ＿Ｗ２、ＩＤ＿Ｗ３、ＩＤ＿Ｗ１がテーブルＴ１に登録されたならば、第１イベントの入力が検出される度に、ウィンドウ制御モジュール２１３は、ウィンドウＷ２、Ｗ３、Ｗ１をこの順で順次アクティブウィンドウに設定する。
【００４２】
また第２イベントの入力が検出される度、ウィンドウ制御モジュール２１３は、テーブルＴ１に格納されたウィンドウ識別子群それぞれに対応するウィンドウ群を、テーブルＴ１にウィンドウ識別子が登録された順番とは逆の同じ順番でアクティブウィンドウに順次設定する。例えば、ウィンドウ識別子ＩＤ＿Ｗ２、ウィンドウ識別子ＩＤ＿Ｗ３、ウィンドウ識別子ＩＤ＿Ｗ１の順でこれらウィンドウ識別子ＩＤ＿Ｗ２、ＩＤ＿Ｗ３、ＩＤ＿Ｗ１がテーブルＴ１に登録されたならば、第２イベントの入力が検出される度に、ウィンドウ制御モジュール２１３は、ウィンドウＷ１、Ｗ３、Ｗ２をこの順で順次アクティブウィンドウに設定する。
【００４３】
ユーザによって例えばスクロールホイール１２５が右方向に操作された時、イベント検出モジュール２１０は、第１イベントが入力されたことを検出する。また、ユーザによって例えばスクロールホイール１２５が左方向に操作された時、イベント検出モジュール２１０は、第２イベントが入力されたことを検出する。
【００４４】
なお、スクロールホイール１２５の左右方向への移動の代わりに、予め決められた特定のキーと右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４の組み合わせを第１イベントの入力に使用し、前記特定のキーと左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３の組み合わせを第２イベントの入力に使用してもよい。
【００４５】
アクティブウィンドウ切り替えイベント（第１イベントまたは第２イベント）の入力が検出された時、ウィンドウ制御モジュール２１３は、テーブルＴ１に保存されているウィンドウ識別子群の中から、次にアクティブウィンドウに設定すべきウィンドウに対応するウィンドウ識別子を選択し、その選択したウィンドウ識別子をテーブルＴ１から取得する。そして、ウィンドウ制御モジュール２１３は、取得したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定すべきことを要求するメッセージ（アクティブウィンドウメッセージ）をＯＳ２０１に送信する。このアクティブウィンドウメッセージにには、取得したウィンドウ識別子が引数として含まれている。ＯＳ２０１は、アクティブウィンドウメッセージに含まれるウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定する。
【００４６】
次に、ウィンドウ制御モジュール２１３は、取得したウィンドウ識別子に対応するウィンドウの表示画面上の位置を示す位置情報を要求するメッセージをＯＳ２０１に送信することにより、取得したウィンドウ識別子に対応するウィンドウの位置情報をＯＳ２０１から取得する。この後、ウィンドウ制御モジュール２１３は、取得した位置情報で指定される位置にマウスカーソルを移動するコマンドを表示ドライバ２０２に送信する。表示ドライバ２０２は、受信したコマンドに応じてマウスカーソルを移動する。これにより、マウスカーソルの移動及びクリック操作によってアクティブウィンドウの切り替えが行われた場合と同様に、マウスカーソルを新たにアクティブとなったウィンドウ上に表示することができる。
【００４７】
次に、図９乃至図１１を参照して、アクティブウィンドウ切り替え処理の内容を具体的に説明する。
【００４８】
図９は、ＬＣＤの表示画面３００の例を示している。表示画面３００上にはウィンドウＷ１〜Ｗ５、およびマウスカーソル３０１が表示されている。また入力カーソル３０２は、アクティブウィンドウ上に表示されている。入力カーソル３０２は、テキスト入力される位置を示している。いま、ウィンドウ識別子ＩＤ＿Ｗ２、ＩＤ＿Ｗ３、ＩＤ＿Ｗ１がこの順でテーブルＴ１に登録されたものとする。アクティブウィンドウ切り替え処理の対象となるウィンドウは、ウィンドウＷ１〜Ｗ３である。ウィンドウＷ４およびウィンドウＷ５は、ウィンドウ切り替え対象から除外される。
【００４９】
ウィンドウ識別子Ｗ２に対応するウィンドウＷ２がアクティブウィンドウである状態で第１イベントが入力されると、図１０に示すように、アクティブウィンドウは、ウィンドウ識別子Ｗ２に対応するウィンドウＷ２からウィンドウ識別子ＩＤ＿Ｗ３に対応するウィンドウＷ３に切り替えられる。この時、入力カーソル３０２はウィンドウＷ３上に移動され、またマウスカーソル３０１もウィンドウＷ３上に移動される。入力カーソル３０２の移動はＯＳ２０１によって実行される。また、マウスカーソル３０１の移動は、ウィンドウ制御モジュール２１３の制御の下に実行される。
【００５０】
このようなアクティブウィンドウ切り替え処理により、ユーザはマウス１２１自体の位置を机上で動かすという操作を一切行うことなく、アクティブウィンドウの切り替えを行うことができ、また新たにアクティブウィンドウとなったウィンドウ上にマウスカーソル３０１を瞬時に移動することができる。
【００５１】
図１０において再び第１イベントが入力されると、図１１に示すように、アクティブウィンドウは、ウィンドウ識別子Ｗ３に対応するウィンドウＷ３からウィンドウ識別子ＩＤ＿Ｗ１に対応するウィンドウＷ１に切り替えられる。この時、入力カーソル３０２はウィンドウＷ１上に移動され、またマウスカーソル３０１もウィンドウＷ１上に移動される。
【００５２】
また、図１２に示すようなダイアログボックス５０をＬＣＤ１７に表示してもよい。このダイアログボックス５０には、テーブルＴ１に格納されているウィンドウ識別子群それぞれに対応するアイコンが一覧表示される。図１２においては、ウィンドウＷ２に対応するアイコンが点灯表示されているが、これはウィンドウＷ２が現在アクティブウィンドウであることを示す。
【００５３】
例えば、ダイアログボックス５０は、ユーザが特定のキーを押しながら右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４を押したときに表示される。ダイアログボックス５０においては、現在アクティブであるウィンドウに対応するアイコンが点灯される。ユーザが特定のキーを押し続けながら、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４を押すと、ウィンドウＷ２のアイコンが消灯し、ウィンドウＷ３のアイコンが点灯表示される。この状態で、ユーザが特定のキーから指を離すと、ウィンドウＷ３がアクティブウィンドウに設定される。
【００５４】
次に、図１３のフローチャートを参照して、ウィンドウ制御ユーティリティプログラム２０３によって実行されるウィンドウ識別子登録処理の手順の例を説明する。
【００５５】
ウィンドウ登録イベントが入力されると、ウィンドウ制御ユーティリティプログラム２０３は、ウィンドウ登録イベントで指定されるウィンドウに対応するウィンドウ識別子（ウィンドウ名，ウィンドウクラス）を要求するコマンドをＯＳ２０１に送信して、ウィンドウ登録イベントで指定されるウィンドウに対応するウィンドウ識別子をＯＳ２０１から取得する（ステップＳ１０１）。次いで、ウィンドウ制御ユーティリティプログラム２０３は、ＯＳ２０１から取得したウィンドウ識別子（ウィンドウ名，ウィンドウクラス）をテーブルＴ１に格納する（ステップＳ１０２）。
【００５６】
次に、図１４のフローチャートを参照して、ウィンドウ制御ユーティリティプログラム２０３によって実行されるウィンドウ識別子削除処理の手順の例を説明する。
【００５７】
ウィンドウ削除イベントが入力されると、ウィンドウ制御ユーティリティプログラム２０３は、ウィンドウ削除イベントで指定されたウィンドウに対応するウィンドウ識別子（ウィンドウ名，ウィンドウクラス）を要求するコマンドをＯＳ２０１に送信して、ウィンドウ削除イベントで指定されたウィンドウに対応するウィンドウ識別子をＯＳ２０１から取得する（ステップＳ２０１）。次いで、ウィンドウ制御ユーティリティプログラム２０３は、ＯＳ２０１から取得したウィンドウ識別子をテーブルＴ１から削除する（ステップＳ２０２）。
【００５８】
次に、図１５のフローチャートを参照して、ウィンドウ制御ユーティリティプログラム２０３によって実行されるウィンドウ切り替え処理の手順の例を説明する。
【００５９】
ウィンドウ切り替えイベントが入力されると、ウィンドウ制御ユーティリティプログラム２０３は、入力されたイベントが、スクロールホイール１２５が右方向に移動操作されることに起因する第１イベントとスクロールホイール１２５が右方向に移動操作されることに起因する第２イベントのどちらであるかを判別する（ステップＳ３０１）。
【００６０】
スクロールホイール１２５が右方向に操作されたと判別された場合、ウィンドウ制御ユーティリティプログラム２０３は、テーブルＴ１へのウィンドウ識別子の登録順に従って、テーブルＴ１に格納されているウィンドウ識別子の中から、次にアクティブウィンドウに設定すべきウィンドウに対応するウィンドウ識別子を選択する（ステップＳ３０２）。
【００６１】
次に、ウィンドウ制御ユーティリティプログラム２０３は、テーブルＴ１から選択したウィンドウ識別子に対応するウィンドウをアクティブに設定すべきことを要求するメッセージをＯＳ２０１に送信して、選択したウィンドウ識別子に対応するウィンドウをアクティブウィンドウに設定する（ステップＳ３０３）。このステップＳ３０３においては、ウィンドウ制御ユーティリティプログラム２０３は、選択したウィンドウ識別子に対応するウィンドウの現在位置を要求するコマンドをＯＳ２０１に送信して、選択したウィンドウ識別子に対応するウィンドウの現在位置を示す位置情報をＯＳ２０１から取得する処理も実行する。この後、ウィンドウ制御ユーティリティプログラム２０３は、取得した位置情報に従って、マウスカーソル３０１を、選択したウィンドウ識別子に対応するウィンドウ上に移動する（ステップＳ３０４）。
【００６２】
一方、入力されたイベントがスクロールホイール１２５の左方向操作であることと判別された場合には、ウィンドウ制御ユーティリティプログラム２０３は、テーブルＴ１へのウィンドウ識別子の登録順と逆の順序に従って、テーブルＴ１に格納されているウィンドウ識別子の中から、次にアクティブウィンドウに設定すべきウィンドウに対応するウィンドウ識別子を選択する（ステップＳ３０５）。この後、ウィンドウ制御ユーティリティプログラム２０３は、上述したステップＳ３０３，３０４の処理を実行する。
【００６３】
次に、図１６および図１７を参照して、本実施形態のウィンドウ制御処理（ウィンドウ識別子登録処理，ウィンドウ識別子削除処理およびウィンドウ識別子切り替え処理）をマルチディスプレイシステムに適用する場合について説明する。
【００６４】
本コンピュータ１０には、ケーブル１９を介してＣＲＴモニタ２０が接続されている。０Ｓ２０１は、一つの仮想画面を２つの表示エリアに分割し、一方の表示エリアの画面イメージをＬＣＤ１７の表示画面３００上に表示し、他方の表示エリアの画面イメージをＣＲＴモニタ２０の表示画面３２０に表示する機能を有している。仮想画面上においては、ウィンドウＷ１〜Ｗ５が配置されている。ウィンドウＷ１，Ｗ２は一方の表示エリア上に存在し、ウィンドウＷ３，Ｗ４は他方の表示エリア上に存在する。この場合、表示画面３００上にはウィンドウＷ１，Ｗ２が表示され、表示画面３２０上にはウィンドウＷ３，Ｗ４が表示される。
【００６５】
いま、ウィンドウＷ１がアクティブウィンドウであり、ウィンドウＷ１上にマウスカーソル３０１、入力カーソル３０２が表示されているとする。
【００６６】
ユーザによってスクロールホイール１２５が右方向に移動操作されると、アクティブウィンドウは、図１８に示すように、表示画面３００上のウィンドウＷ１から、表示画面３２０上のウィンドウＷ３に切り替えられる。また、マウスカーソル３０１、入力カーソル３０２も、表示画面３２０上のウィンドウＷ３上に移動する。
【００６７】
このように、本実施形態のウィンドウ制御処理をマルチディスプレイシステムに適用した場合においては、表示画面３００上のウィンドウと表示画面３２０上のウィンドウとの間でアクティブウィンドウを容易に切り替えることができる。
【００６８】
次に図１８を参照して、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４の操作を第１イベントとして使用し、左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３の操作を第２イベントとして使用する場合について説明する。
【００６９】
通常、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４、および左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３には、既に様々な機能が割り当てられている。このため、本実施形態では、ポインティングデバイスの右ボタン／左ボタンの操作に応答してウィンドウ制御処理を実行するウィンドウ切り替えモードを使用する。このウィンドウ切り替えモードがイネーブルである場合にのみ、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４の操作は第１イベントとして使用され、左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３の操作を第２イベントとして使用される。
【００７０】
図１７に示されているように、表示画面３００の右下には、ウィンドウ切り替えモードをイネーブルまたはディスエーブルに設定するためのアイコン３０３が表示されている。アイコン３０３がクリックされると、ウィンドウ切り替えモードがイネーブルとなる。この場合、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４は第１イベントを入力するスイッチとして機能し、左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３は第２イベントを入力するスイッチとして機能する。アイコン３０３が再度クリックされると、ウィンドウ切り替えモードはディスエーブルとなる。この場合、右ボタンスイッチ１６ｂまたは右ボタンスイッチ１２４が押されると、右ボタンスイッチに予め割り当てられた通常の機能が実行され、また左ボタンスイッチ１６ａまたは左ボタンスイッチ１２３が押されると、左ボタンスイッチに予め割り当てられた通常の機能が実行される。
【００７１】
なお、ウィンドウ切り替えモードを使用することにより、例えば、キーボード１３の“→”キーを第１イベントを入力するスイッチとして使用し、キーボード１３の“←”キーを第２イベントを入力するスイッチとして使用することも可能となる。
【００７２】
以上説明したように、本実施形態によれば、制御対象とすべき任意の幾つかのウィンドウを予め指定することができるので、目的の幾つかのウィンドウ群のみを対象にしたアクティブウィンドウを切り替えるウィンドウ制御処理を実行することができる。よって、ユーザは、ウィンドウ識別子登録処理を用いて幾つかのウィンドウを事前に制御対象ウィンドウとして登録しておくだけで、それらウィンドウ間でアクティブウィンドウを容易に切り替えることができる。
【００７３】
なお、本実施形態においては、マウスの右クリック操作に応じて表示される操作メニュー３１０の「ウィンドウ登録」項目を用いてウィンドウ識別子登録処理を実行したが、キーボード上の特定のキーが操作されたことに契機してウィンドウ識別子登録処理を開始してもよい。この場合、例えば、現在のマウスカーソル下のウィンドウが制御対象のウィンドウとして指定され、当該指定されたウィンドウのウィンドウ識別子が登録される。これにより、ユーザは、マウス以外の入力装置によってもウィンドウ識別子登録処理を利用することができる。
【００７４】
なお、本実施形態のウィンドウ制御処理は全てコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールするだけで、本実施形態と同様の効果を容易に実現することができる。
【００７５】
また本発明は、上記実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態に係る情報処理装置の外観を示す斜視図。
【図２】図１の情報処理装置のシステム構成の例を示すブロック図。
【図３】図１の情報処理装置で実行されるウィンドウ制御ユーティリティプログラムの機能構成を示すブロック図。
【図４】図１の情報処理装置で実行されるウィンドウ識別子登録処理を説明するための図。
【図５】図１の情報処理装置の表示装置に表示されたウィンドウに対応するウィンドウ識別子を登録する様子を示す図。
【図６】図１の情報処理装置で実行されるウィンドウ識別子削除処理を説明するための図。
【図７】図１の情報処理装置の表示装置に表示されたウィンドウに対応するウィンドウ識別子を削除する様子を示す図。
【図８】図１の情報処理装置で実行されるウィンドウ切り替え処理を説明するための図。
【図９】図１の情報処理装置によって表示される操作画面の例を示す図。
【図１０】図１の情報処理装置によって表示される操作画面の他の例を示す図。
【図１１】図１の情報処理装置によって表示される操作画面のさらに他の例を示す図。
【図１２】図１の情報処理装置によって表示されるウィンドウ一覧表を説明するための図。
【図１３】図３のウィンドウ制御ユーティリティプログラムによって実行されるウィンドウ識別子登録処理の手順の例を説明するためのフローチャート。
【図１４】図３のウィンドウ制御ユーティリティプログラムによって実行されるウィンドウ識別子削除処理の手順の例を説明するためのフローチャート。
【図１５】図３のウィンドウ制御ユーティリティプログラムによって実行されるウィンドウ切り替え処理の手順の例を説明するためのフローチャート。
【図１６】図１の情報処理装置で実行されるウィンドウ切り替え処理の変形例を説明するための図。
【図１７】図１の情報処理装置によって表示される操作画面のさらに他の例を示す図。
【図１８】図１の情報処理装置で用いられるウィンドウ切り替えモードを説明するための図。
【符号の説明】
【００７７】
１０…コンピュータ、１５…タッチパッド、１６ａ…左ボタンスイッチ、１６ｂ…右ボタンスイッチ、１７…ＬＣＤ、１０３…主メモリ、Ｔ１…テーブル、１２１…ＵＳＢマウス、１２３…左ボタンスイッチ、１２４…右ボタンスイッチ、１２５…スクロールホイール、２０１…オペレーティングシステム（ＯＳ）、２０２…表示ドライバ、２０３…ウィンドウ制御ユーティリティプログラム、２１０…イベント検出モジュール、２１１…ウィンドウ識別子登録モジュール、２１２…ウィンドウ識別子削除モジュール、２１３…ウィンドウ制御モジュール。
【図１】
2006330912.tif 000003
【図２】
2006330912.tif 000004
【図３】
2006330912.tif 000005
【図４】
2006330912.tif 000006
【図５】
2006330912.tif 000007
【図６】
2006330912.tif 000008
【図７】
2006330912.tif 000009
【図８】
2006330912.tif 000010
【図９】
2006330912.tif 000011
【図１０】
2006330912.tif 000012
【図１１】
2006330912.tif 000013
【図１２】
2006330912.tif 000014
【図１３】
2006330912.tif 000015
【図１４】
2006330912.tif 000016
【図１５】
2006330912.tif 000017
【図１６】
2006330912.tif 000018
【図１７】
2006330912.tif 000019
【図１８】
2006330912.tif 000020