(57)【要約】【課題】対応付けのための操作をすることなく、１つの操作で複数のアプリケーションプログラムを起動できる。【解決手段】画面１５１上において、ユーザによって選択されることで、対応するアプリケーションプログラムが起動される、ランチャボタン２０１−１乃至２０１−１３などからなるランチャウィンドウ１７１が表示される。ランチャボタン２０１−１乃至２０１−１３のいずれかが選択されたときの時刻を記憶し、記憶されている時刻を基に、例えば、ランチャボタン２０１−３と２０１−４とを関係付けて、関係付けを示すグループバー２８１を表示する。グループバー２８１が選択されることで、ランチャボタン２０１−３と２０１−４に対応するアプリケーションプログラムが同時に起動される。本発明は、例えば、ランチャアプリケーションプログラムを有する情報処理装置に適用することができる。【選択図】図７
2005227951.tif 000002
【特許請求の範囲】
【請求項１】
複数の項目からなるメニューを表示し、前記メニューから選択された前記項目に対応する所定の処理を実行する情報処理装置において、
選択された前記項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御手段と、
記憶されている前記選択時刻情報を基に、前記項目を相互に関係付ける関係付け手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記関係付け手段は、前記項目のグループを生成することによって、前記項目を相互に関係付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記グループのアイコンを表示させるように、前記メニューの表示を制御する表示制御手段をさらに備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記アイコンの近傍に、前記アイコンで示される前記グループに属する複数の前記項目を隣接して表示させるように、前記メニューの表示を制御する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記グループの前記アイコンが選択された場合、前記グループに属する前記項目のそれぞれに対応する前記処理の実行を制御する実行制御手段をさらに備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記グループに属する前記項目のいずれかが選択された場合、その前記グループに属する他の項目を強調するように、前記メニューの表示を制御する表示制御手段をさらに備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記関係付け手段は、
前記選択時刻情報を基に、複数の前記項目の選択された時刻の時間差が予め定めた第１の閾値以下であるか否かを判定する第１の判定手段と、
複数の前記項目が前記第１の閾値以下の時間差で選択された回数を計数する計数手段と、
前記回数が予め定めた第２の閾値以上であるか否かを判定する第２の判定手段と
を備え、
前記回数が前記第２の閾値以上であると判定された場合、その複数の前記項目を相互に関係付ける
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
相互に関係付けられた前記項目が個々に選択された回数を基に、前記項目の関係付けを解除する関係付け解除手段をさらに備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
複数の項目からなるメニューを表示し、前記メニューから選択された前記項目に対応する所定の処理を実行する情報処理装置の情報処理方法であって、
選択された前記項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御ステップと、
記憶されている前記選択時刻情報を基に、前記項目を相互に関係付ける関係付けステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
複数の項目からなるメニューを表示し、前記メニューから選択された前記項目に対応する所定の処理を実行する情報処理をコンピュータに行わせるプログラムにおいて、
選択された前記項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御ステップと、
記憶されている前記選択時刻情報を基に、前記項目を相互に関係付ける関係付けステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ユーザの所望するアプリケーションプログラムを迅速に起動できるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、所望のプログラムを起動させるランチャアプリケーションプログラムにおいては、ランチャアプリケーションプログラムをより使い易くするために、ウィンドウにおける、所望のアプリケーションプログラムを起動するときに選択される起動ボタン（以下、適宜、ボタンまたはアイコンと称する）の配置を変更したり、ランチャアプリケーションプログラムによって表示されるウィンドウのサイズを変更したりしていた。
【０００３】
このような、ボタンの配置の変更や、ウィンドウのサイズの変更は、ユーザ自身の操作によって行われる。
【０００４】
また、例えば、Windows（登録商標） XPのスタートメニューなどにおいては、使用頻度の高いアプリケーションプログラムを効率的に起動できるようにするために、アプリケーションプログラムの使用頻度に応じてそのアプリケーションプログラムを起動させるコマンド（メニュー項目）の表示位置が上位に移動する。
【０００５】
さらに、ユーザは、１つの作業において、必ずしも１つのアプリケーションプログラムのみを利用しているのではない。実際には、ユーザは、１つの作業において複数のアプリケーションプログラムを利用することが多い。しかしながら、従来の画面上に表示されるメニューにおいては、１つのアプリケーションプログラムに１つのコマンドまたはアイコンが対応する。したがって、複数のアプリケーションプログラムを同時に利用して作業を行う場合、ユーザは個々に対応するメニュー項目であるコマンドまたはアイコンをそれぞれに選択して、複数のアプリケーションプログラムを起動しなければならなかった。このため、効率良くアプリケーションプログラムを起動できるようにする方法が種々提案されている。
【０００６】
例えば、特許文献１には、パーソナルコンピュータなどの表示画面上にメニューアプリケーションプログラムウィンドウ（アイコンの一覧表）を表示し、ユーザによってメニューアプリケーションプログラムウィンドウ内のアイコンが選択されることにより、対応するアプリケーションプログラムの起動回数（選択回数）をカウントアップし、この起動回数を基に、アイコンの整列順を使用頻度の高い順に配列することが提案されている。
【０００７】
また、特許文献１には、ユーザ自身が所定の操作を行い、複数のアプリケーションプログラムを１つの組とし、その組に対して１つのアイコンを割り当てる設定を行うことが開示されている。これにより、ユーザは、そのアイコンを選択することで、すなわち、１回の操作でアイコンに対応する複数のアプリケーションプログラムを全て起動できるようにすることが提案されている。
【特許文献１】特開平１０−９７４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術では、ユーザ自身が、所望する複数のアプリケーションプログラムを１つのアイコンに対応付ける操作（設定）を行わなければならない。ユーザが、所望する複数のアプリケーションプログラムを１つのアイコンにいちいち対応付けなければならず、不便であるという課題があった。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、対応付けのための操作をすることなく、１つの操作で複数のアプリケーションプログラムを起動できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、選択された項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御手段と、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付け手段とを備えることを特徴とする。
【００１１】
関係付け手段は、項目のグループを生成することによって、項目を相互に関係付けるようにすることができる。
【００１２】
グループのアイコンを表示させるように、メニューの表示を制御する表示制御手段をさらに設けることができる。
【００１３】
表示制御手段は、アイコンの近傍に、アイコンで示されるグループに属する複数の項目を隣接して表示させるように、メニューの表示を制御するようにすることができる。
【００１４】
情報処理装置は、グループのアイコンが選択された場合、グループに属する項目のそれぞれに対応する処理の実行を制御する実行制御手段をさらに設けることができる。
【００１５】
情報処理装置は、グループに属する項目のいずれかが選択された場合、そのグループに属する他の項目を強調するように、メニューの表示を制御する表示制御手段をさらに設けることができる。
【００１６】
関係付け手段は、選択時刻情報を基に、複数の項目の選択された時刻の時間差が予め定めた第１の閾値以下であるか否かを判定する第１の判定手段と、複数の項目が第１の閾値以下の時間差で選択された回数を計数する計数手段と、回数が予め定めた第２の閾値以上であるか否かを判定する第２の判定手段とを含み、回数が第２の閾値以上であると判定された場合、その複数の項目を相互に関係付けるようにすることができる。
【００１７】
情報処理装置は、相互に関係付けられた項目が個々に選択された回数を基に、項目の関係付けを解除する関係付け解除手段をさらに設けることができる。
【００１８】
本発明の情報処理方法は、選択された項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御ステップと、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付けステップとを含むことを特徴とする。
【００１９】
本発明のプログラムは、選択された項目および選択された時刻を示す選択時刻情報の記憶を制御する記憶制御ステップと、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付けステップとを含むことを特徴とする。
【００２０】
本発明においては、選択された項目および選択された時刻を示す選択時刻情報の記憶が制御され、記憶されている選択時刻情報を基に、項目が相互に関係付けられる。
【発明の効果】
【００２１】
本発明によれば、アプリケーションプログラムを起動することができる。また、本発明によれば、対応付けのための操作をすることなく、１つの操作で複数のアプリケーションプログラムを起動できる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。本明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２３】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２４】
本発明によれば、情報処理装置が提供される。この情報処理装置（例えば、図１のパーソナルコンピュータ１）は、複数の項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３）からなるメニュー（例えば、図５のランチャウィンドウ１７１）を表示し、メニューから選択された項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３のいずれか）に対応する所定の処理（例えば、図１のアプリケーションプログラム４４−１乃至４４−１３のいずれか）を実行する情報処理装置であって、選択された項目および選択された時刻を示す選択時刻情報（例えば、図２の選択時刻リスト１１１）の記憶を制御する記憶制御手段（例えば、図２の選択時刻リスト管理部１０５）と、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付け手段（例えば、図２のグループ生成部１０６）とを含む。
【００２５】
この情報処理装置は、関係付け手段は、項目のグループを生成する（例えば、図１５のステップＳ６３）ことによって、項目を相互に関係付けるようにすることができる。
【００２６】
この情報処理装置は、グループのアイコン（例えば、図７のグループバー２８１）を表示させるように、メニューの表示を制御する表示制御手段（例えば、図２の表示制御部１０３）をさらに設けることができる。
【００２７】
この情報処理装置は、表示制御手段は、アイコンの近傍に、アイコンで示されるグループに属する複数の項目（例えば、図７のランチャボタン２０１−３および２０１−４）を隣接して表示させる（例えば、図２０のステップＳ１１９）ように、メニューの表示を制御するようにすることができる。
【００２８】
この情報処理装置は、グループのアイコンが選択された場合、グループに属する項目のそれぞれに対応する処理（例えば、図２１のステップＳ１４４）の実行を制御する実行制御手段（例えば、図２のアプリケーションプログラム起動部１０４）をさらに設けることができる。
【００２９】
この情報処理装置は、関係付け手段が、選択時刻情報を基に、複数の項目の選択された時刻の時間差が予め定めた第１の閾値以下であるか否かを判定する第１の判定手段（例えば、図２の時刻差判定部１１２）と、複数の項目が第１の閾値以下の時間差で選択された回数を計数する計数手段（例えば、図２の選択回数計数部１１３）と、回数が予め定めた第２の閾値以上であるか否かを判定する第２の判定手段（例えば、図２のステップＳ１１４）とを含み、回数が第２の閾値以上であると判定された場合（例えば、図１５のステップＳ６３）、その複数の項目を相互に関係付けるようにすることができる。
【００３０】
この情報処理装置は、相互に関係付けられた項目が個々に選択された回数を基に、項目の関係付けを解除する関係付け解除手段（例えば、図２のグループ解除部１０９）ようにすることができる。
【００３１】
本発明によれば、情報処理方法が提供される。この情報処理方法は、複数の項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３）からなるメニュー（例えば、図５のランチャウィンドウ１７１）を表示し、メニューから選択された項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３のいずれか）に対応する所定の処理（例えば、図１のアプリケーションプログラム４４−１乃至４４−１３のいずれか）を実行する情報処理装置（例えば、図１のパーソナルコンピュータ１）の情報処理方法であって、選択された項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３）および選択された時刻を示す選択時刻情報（例えば、図２の選択時刻リスト１１１）の記憶を制御する記憶制御ステップ（例えば、図１２のステップＳ３３）と、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付けステップ（例えば、図１５のステップＳ６３）とを含む。
【００３２】
本発明によれば、プログラムが提供される。このプログラムは、複数の項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３）からなるメニュー（例えば、図５のランチャウィンドウ１７１）を表示し、メニューから選択された項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３のいずれか）に対応する所定の処理（例えば、図１のアプリケーションプログラム４４−１乃至４４−１３のいずれか）を実行する情報処理装置（例えば、図１のパーソナルコンピュータ１）のプログラムであって、選択された項目（例えば、図５のランチャボタン２０１−１乃至２０１−１３）および選択された時刻を示す選択時刻情報（例えば、図２の選択時刻リスト１１１）の記憶を制御する記憶制御ステップ（例えば、図１２のステップＳ３３）と、記憶されている選択時刻情報を基に、項目を相互に関係付ける関係付けステップ（例えば、図１５のステップＳ６３）とを含む。
【００３３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００３４】
図１は、本発明を適用したパーソナルコンピュータ（以下、PCと称する）１の構成例を示すブロック図である。CPU（Central Processing Unit）１１は、ROM（Read Only Memory）１２に記憶されているプログラム、または記憶部２０からRAM（Random Access Memory）１３にロードされたプログラムに従って各種の処理を実行する。RAM１３にはまた、CPU１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００３５】
CPU１１、ROM１２、およびRAM１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５も接続されている。
【００３６】
入出力インタフェース１５には、ポインティングデバイスであるマウス３１およびキーボード３２などよりなる入力部１６が接続される。入力部１６は、ユーザからの操作の入力を受け付ける。すなわち、入力部１６は、ユーザによる操作に応じた操作情報を出力する。また、入出力インタフェース１５には、CRT（Cathode Ray Tube）、LCD（Liquid Crystal Display）などよりなる表示部１７、並びにスピーカなどよりなる音声出力部１８、日付および現在時刻（を示すデータ）を出力するリアルタイムクロック１９、ハードディスクなどにより構成される記憶部２０、モデム、ターミナルアダプタなどより構成される通信部２１が接続されている。記憶部２０には、OS（Operating System）４１、ランチャプログラム４２、アプリケーションプログラム４３−１乃至４３−６、およびアプリケーションプログラム４４−１乃至４４−１３などの各種プログラムの他、ファイルＭおよびフォルダＮなどの各種ファイルやデータ等も記憶されている。通信部２１は、インターネットを含むネットワークを介して他の装置と通信する。
【００３７】
入出力インタフェース１５にはまた、必要に応じてドライブ２２が接続され、磁気ディスク５１、光ディスク５２、光磁気ディスク５３、或いは半導体メモリ５４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２０にインストールされる。
【００３８】
図２は、図１のCPU１１が実行するランチャプログラム４２の機能の構成例を示している。なお、図２に示される各機能は、記憶部２０に記憶されているOS４１およびランチャプログラム４２がRAM１３にロードされ、CPU１１が、RAM１３にロードされたOS４１およびランチャプログラム４２を実行することにより実現される。ランチャプログラム４２がCPU１１に実行されると、操作情報取得部１０１、起動制御部１０２、表示制御部１０３、アプリケーションプログラム起動部１０４、選択時刻リスト管理部１０５、グループ生成部１０６、およびグループ解除部１０９が実現される。
【００３９】
また、ランチャプログラム４２がCPU１１に実行されると、RAM１３または記憶部２０の所定の領域に、グループリスト１０７およびボタンリスト１０８が記憶される。グループリスト１０７の詳細は、図１６を参照して後述する。ボタンリスト１０８の詳細は、図１８を参照して後述する。
【００４０】
操作情報取得部１０１は、ユーザがマウス３１やキーボード３２などよりなる入力部１６を操作することで入力される操作（入力）情報を取得し、取得した操作情報を起動制御部１０２に供給する。起動制御部１０２は、供給された操作情報に応じた、各種の制御信号を表示制御部１０３、アプリケーションプログラム起動部１０４、選択時刻リスト管理部１０５、グループ生成部１０６、およびグループ解除部１０９に供給する。
【００４１】
表示制御部１０３は、供給された情報を基に、例えば、図５を参照して後述するランチャウィンドウ１７１などの種々の画像を表示部１７に表示させる。アプリケーションプログラム起動部１０４は、起動制御部１０２から供給された制御信号、またはグループ生成部１０６から供給された制御信号を基に、記憶部２０に記憶されているアプリケーションプログラム４３−１乃至４３−６またはアプリケーションプログラム４４−１乃至４４−１３を起動する。
【００４２】
選択時刻リスト管理部１０５は、起動制御信部１０２から供給された制御信号を基に、アプリケーションプログラム４４−１乃至４４−１３を起動するためのボタンが操作された時刻を（示すデータを）リアルタイムクロック１９から取得し、ボタンが選択された時刻および選択されたボタンを特定するボタンIDを選択時刻リスト１１１に記録する。選択時刻リスト管理部１０５は、選択時刻リスト１１１に記録されている、ボタンが選択された時刻および選択されたボタンを特定するボタンIDをグループ生成部１０６に供給する。
【００４３】
グループ生成部１０６は、時刻差判定部１１２、選択回数計数部１１３、および回数判定部１１４を含む。グループ生成部１０６は、起動制御部１０２から供給された制御信号および選択時刻リスト１１１を基に、組み合わせリスト１１５にボタンIDの組み合わせやボタンの選択回数を記録する。
【００４４】
グループ生成部１０６は、組み合わせリスト１１５および選択時刻リスト１１１を基に、アプリケーションプログラム４４−１乃至４４−１３を起動するためのボタンを関係付ける。例えば、グループ生成部１０６は、起動制御部１０２から供給された制御信号および選択時刻リスト１１１を基に、アプリケーションプログラム４４−１乃至４４−１３を起動するためのボタンのグループを生成することによって、ボタンを関係付ける。
【００４５】
また、グループ生成部１０６は、グループリスト１０７やボタンリスト１０８に記録されている情報を更新する。
【００４６】
より詳細に説明すれば、時刻差判定部１１２は、選択時刻リスト１１１を基に、複数のボタンの選択された時刻の時間差が予め定めた閾値以下であるか否かを判定する。すなわち、例えば、時刻差判定部１１２は、選択時刻リスト１１１を基に、２つのボタンのそれぞれがユーザに選択された時刻の差（時間差）が予め定めた閾値以下であるか否かを判定する。選択回数計数部１１３は、複数のボタンが予め定めた閾値以下の時間差で選択された回数を計数する。選択回数計数部１１３は、複数のボタンが予め定めた閾値以下の時間差で選択された回数を組み合わせリスト１１５に書き込む。回数判定部１１４は、複数のボタンの予め定めた閾値以下の時間差で選択された回数が、予め定めた他の閾値以上であるか否かを判定する。
【００４７】
グループ生成部１０６は、複数のボタンの予め定めた閾値以下の時間差で選択された回数が、予め定めた他の閾値以下であると判定された場合、その複数のボタンを関係付ける。例えば、グループ生成部１０６は、複数のボタンの予め定めた閾値以下の時間差で選択された回数が、予め定めた他の閾値以上であると判定された場合、その複数のボタンのグループを生成するように、ボタンの関係付けを示す情報を、グループリスト１０７、およびボタンリスト１０８に記録させる。
【００４８】
グループ解除部１０９は、起動制御部１０２から供給された制御信号で示される、相互に関係付けられたボタンが個々に選択された回数を基に、ボタンの関係付けを解除する。例えば、グループ解除部１０９は、グループリスト１０７およびボタンリスト１０８に記録されている、ボタンの関係付けを示す情報を更新することにより、ボタンのグルーピングを解除する。
【００４９】
図３および図４のフローチャートを参照して、PC１のランチャプログラム４２によるプログラム起動処理を説明する。なお、PC１が起動されたとき、ランチャプログラム４２が実行されるので、プログラム起動処理は、PC１の電源がオンされることで開始される。ステップＳ１において、操作情報取得部１０１は、ユーザにより、例えば、入力部１６のマウス３１などが操作されることで、入力されるユーザの操作（入力）情報を取得する。操作情報取得部１０１は、取得した操作情報を起動制御部１０２に供給する。ステップＳ２において、起動制御部１０２は、操作情報を基に、図５に示されるランチャウィンドウ１７１の表示が指示されたか否かを判定する。ステップＳ２において、起動制御部１０２は、ランチャウィンドウ１７１の表示が指示されたと判定した場合、ステップＳ３に進み、起動制御部１０２は、ランチャウィンドウ１７１の表示を指示する制御信号を表示制御部１０３に供給し、表示制御部１０３は、ランチャウィンドウ１７１を表示部１７に表示させる。
【００５０】
以上の処理を、図５を参照して説明すると次のようになる。すなわち、図３のステップＳ１において、例えば、図５に示されるように、PC１の起動後（ランチャプログラム４２の起動後）、ユーザがマウス３１などを操作することにより、表示部１７の画面１５１上に表示されているタスクトレイ１６１内のランチャアイコン１６２を選択することで、ステップＳ２において、ランチャウィンドウ１７１の表示が指示されたと判定され、ステップＳ３において、画面１５１上にランチャウィンドウ１７１が表示される。
【００５１】
ランチャウィンドウ１７１は、固定表示領域１８１とカスタマイズ可能領域１８２とに分けられる。固定表示領域１８１には、ランチャプログラム４２の提供者によって、起動するアプリケーションプログラム、または開くファイルもしくはフォルダが予め定められたアイコン１９１−１乃至アイコン１９１−６が表示される。ユーザは、アイコン１９１−１乃至アイコン１９１−６に対して、起動されるアプリケーションプログラムや、開かれるファイルまたはフォルダを変更したり、アイコン１９１−１乃至アイコン１９１−６を削除したり、固定表示領域１８１にさらにアイコンを追加することができない。
【００５２】
カスタマイズ可能領域１８２には、ユーザが自由にカスタマイズ可能な、ランチャボタン２０１−１乃至２０１−１３が表示される。すなわち、ユーザは、ランチャボタン２０１−１乃至２０１−１３に対して、起動されるアプリケーションプログラムや、開かれるファイルまたはフォルダを変更したりランチャボタン２０１−１乃至２０１−１３のいずれかを削除したり、カスタマイズ可能領域１８２にさらにランチャボタンを追加することができる。
【００５３】
例えば、固定表示領域１８１には、記憶部２０に記憶されているアプリケーションプログラム４３−１乃至４３−６のそれぞれを起動するためのアイコン１９１−１乃至アイコン１９１−６のそれぞれが表示される。
【００５４】
例えば、カスタマイズ可能領域１８２には、記憶部２０に記憶されているアプリケーションプログラム４４−１乃至４４−１３のいずれかを起動するためのランチャボタン２０１−１乃至２０１−１１のそれぞれが表示される。また、カスタマイズ可能領域１８２には、ファイルＭを開くためのランチャボタン２０１−１２、およびフォルダＮを開くためのランチャボタン２０１−１３が表示される。なお、ランチャボタン２０１−１乃至２０１−１３をカスタマイズすることで（変更することで）、ランチャボタン２０１−１乃至２０１−１３のいずれかが選択された場合、アプリケーションプログラム４４−１乃至４４−１３のうち所望のものが起動されるようにすることができる。
【００５５】
ランチャボタン２０１−１乃至２０１−１３のそれぞれには、所定の図形（例えば、図５で示される四角）および起動されるプログラムの名前などが表示される。
【００５６】
なお、ランチャプログラム４２を初めて起動した場合には、カスタマイズ可能領域１８２には、予め設定された各種ランチャボタンが表示されるようにしてもよい。
【００５７】
また、ランチャウィンドウ１７１の下側（カスタマイズ可能領域１８２の下）には、ランチャプログラム４２の各種の設定を行うための設定ボタン２２１およびランチャウィンドウ１７１を閉じる（タスクトレイ１６１に戻す）ための閉じるボタン２２２が表示されている。
【００５８】
ステップＳ２において、ランチャウィンドウ１７１の表示が指示されていないと判定された場合、ステップＳ３の処理は、スキップされる。
【００５９】
ステップＳ４において、起動制御部１０２は、ランチャウィンドウ１７１に表示されている（カスタマイズ可能領域１８２に表示されている）ランチャボタン２０１−１乃至２０１−１３のいずれか、またはグループバー（例えば、図８を参照して後述するグループバー２８１）がドラッグアンドドロップされたか否かを判定する。
【００６０】
ステップＳ４において、ランチャウィンドウ１７１に表示されているランチャボタン２０１−１乃至２０１−１３のいずれか、またはグループバーがドラッグアンドドロップされていないと判定された場合、ステップＳ５において、起動制御部１０２は、固定表示領域１８１に表示されているアイコン１９１−１乃至１９１−６が選択されたか否かを判定する。すなわち、図５に示されるように、固定表示領域１８１に表示されているアイコン１９１−１乃至１９１−６に対応するアプリケーションプログラム４３−１乃至４３−６のいずれかの起動が指示されたか否かを判定する。
【００６１】
ステップＳ５において、固定表示領域１８１に表示されているアイコン１９１−１乃至１９１−６が選択されていないと判定された場合、ステップＳ６に進み、グループ管理処理が実行される。グループ管理処理の詳細は、図１２のフローチャートを参照して後述するが、これにより、ユーザの利用頻度の高いアプリケーションプログラムがグルーピングされ、また、グルーピングされたアプリケーションプログラムが起動される。
【００６２】
グループ管理処理が実行された後、手続は、ステップＳ７に進む。
【００６３】
ステップＳ４において、ランチャウィンドウ１７１に表示されているランチャボタン２０１−１乃至２０１−１３のいずれか、またはグループバーがドラッグアンドドロップされたと判定された場合、図４のステップＳ７に進み、起動制御部１０２は、グルーピングされていないランチャボタン２０１−１乃至２０１−１３のいずれかがドラッグアンドドロップされたか否かを判定する。
【００６４】
ステップＳ７において、グルーピングされていないランチャボタン２０１−１乃至２０１−１３のいずれかがドラッグアンドドロップされたと判定された場合、ステップＳ８に進み、グループ生成部１０６は、起動制御部１０２から供給される制御信号を基に、ランチャボタン２０１−１乃至２０１−１３のうち、ドラッグアンドドロップの操作の対象となったランチャボタン２０１−１乃至２０１−１３のいずれか２つ同士のグルーピングを行う。なお、ステップＳ８の処理の詳細は、図１６および図１８を参照して後述する。
【００６５】
ステップＳ９において、表示制御部１０３は、ステップＳ８の処理でグルーピングした、ランチャボタン２０１−１乃至２０１−１３のいずれか２つからなるグループに対応するグループバーを表示部１７（画面１５１のランチャウィンドウ１７１上）に表示させる。
【００６６】
以上の処理を、図６および図７を参照して説明すると次のようになる。すなわち、図４のステップＳ７において、例えば、図６に示されるように、ユーザがマウス３１などを操作することによって（カーソル２７１を操作することによって）、すなわち、ユーザがプログラムＣのランチャボタン２０１−３の上で、（オブジェクトとしての境界を示す）枠２７２中でマウス３１のボタンをダウンさせ、そのままカーソル２７１を移動することによりドラッグし、カーソル２７１をプログラムＤのランチャボタン２０１−４の上に位置している状態でマウス３１のボタンをアップさせることによりドロップされ、グルーピングが行われる。これにより、ステップＳ９において、例えば、図７に示されるように、グループバー２８１が、ランチャウィンドウ１７１上に表示される。図７に示されるグループバー２８１は、ランチャボタン２０１−３およびランチャボタン２０１−４が、１つのグループに属することを示す。
【００６７】
ステップＳ１０において、起動制御部１０２は、ランチャプログラム４２の終了が指示されたか否かを判定する。すなわち、ユーザによってPC１のシャットダウンが指示されるか、またはランチャプログラム４２を終了させるための所定の操作が行われたか否かを判定する。ステップＳ１０において、ランチャプログラム４２の終了が指示されていないと判定された場合、処理は、ステップＳ１に戻り、それ以降の処理が繰り返し実行される。これに対して、ステップＳ１０において、ランチャプログラム４２の終了が指示されたと判定された場合、プログラム起動処理は終了する。
【００６８】
ステップＳ７において、グルーピングされていないランチャボタン２０１−１乃至２０１−１３のいずれかがドラッグアンドドロップされていないと判定された場合、ステップＳ１１において、起動制御部１０２は、グループバーがドラックアンドドロップされたか否かを判定する。ステップＳ１１において、グループバーがドラックアンドドロップされたと判定された場合、ステップＳ１２に進み、起動制御部１０２は、グループバーをドラッグアンドドロップされた位置に移動する。ステップＳ１３において、表示制御部１０３は、グループバーをドラッグアンドドロップされた位置に表示させ、ステップＳ１０に進む。
【００６９】
以上の処理を、図８および図９を参照して説明すると次のようになる。すなわち、図４のステップＳ１１において、例えば、図８に示されるように、プログラムＣのランチャボタン２０１−３とプログラムＤのランチャボタン２０１−４がグルーピングされていることを示すグループバー２８１が表示されている場合、ユーザがマウス３１などを操作することによって（カーソル２７１を操作することによって）、グループバー２８１が位置３０１（プログラムＥのランチャボタン２０１−５とプログラムＦのランチャボタン２０１−６の間）にドラッグアンドドロップされることにより、ステップＳ１２において、例えば、図９に示されるように、プログラムＥのランチャボタン２０１−５とプログラムＦのランチャボタン２０１−６の間にグループバー２８１が表示されるとともに、グルーピングされているプログラムＣのランチャボタン２０１−３とプログラムＤのランチャボタン２０１−４が移動（表示）される。
【００７０】
ステップＳ１１において、グループバーがドラックアンドドロップされていないと判定された場合、ステップＳ１４に進み、起動制御部１０２は、グルーピングされているランチャボタンが移動されたか否かを判定する。ステップＳ１４において、グルーピングされているランチャボタンがドラッグアンドドロップされたと判定された場合、ステップＳ１５において、グループ解除部１０９は、グルーピングを解除する。ステップＳ１６において、表示制御部１０３は、グループバーをランチャウィンドウ１７１から削除し、ステップＳ１０に進む。
【００７１】
以上の処理を、図１０を参照して説明すると次のようになる。すなわち、図４のステップＳ１４において、例えば、図１０に示されるように、プログラムＣのランチャボタン２０１−３とプログラムＤのランチャボタン２０１−４がグルーピングされ、グループバー２８１が表示されている場合、プログラムＤのランチャボタン２０１−４が、ユーザがマウス３１などを操作することによって（カーソル２７１を操作することによって）、位置３３２（ランチャボタン２０１−４とランチャボタン２０１−５の間）にドラッグアンドドロップされることで、ステップＳ１５において、グルーピングが解除され、ステップＳ１６において、例えば、図１０のグループバー２８１が削除され、図５に示されるランチャウィンドウ１７１が表示される。
【００７２】
ステップＳ１４において、起動制御部１０２は、グルーピングされているランチャボタンがドラッグアンドドロップされていないと判定した場合、処理は、ステップＳ１０に進む。
【００７３】
一方、ステップＳ５において、固定表示領域１８１に表示されているアイコン１９１−１乃至１９１−６が選択されていると判定された場合、ステップＳ１７に進み、アプリケーションプログラム起動部１０４は、選択されたアイコン１９１−１乃至１９１−６に対応するアプリケーションプログラムを起動し、ステップＳ７に進む。すなわち、例えば、図３のステップＳ１において、固定表示領域１８１に登録されているTVのアイコン１９１−１が選択された場合、ステップＳ１７において、図１１に示されるように、TVのアイコン１９１−１に対応するアプリケーションプログラム４３−１乃至４３−６のいずれかが起動され、TV（TeleVision）の画像（TV番組）３５１が画面１５１上に表示される。
【００７４】
以下、ランチャボタン２０１−１乃至２０１−１３を個々に区別する必要がないとき、単にランチャボタン２０１と称する。
【００７５】
次に図１２のフローチャートを参照して、図３のステップＳ６におけるグループ管理処理の詳細を説明する。ステップＳ３１において、起動制御部１０２は、自動でグルーピングする旨に設定されているか否かを判定する。すなわち、例えば、図５の設定ボタン２２１が選択（クリック）されることによって、図１３に示されるように、画面１５１上に、設定ダイアログウィンドウ３７１が表示される。この設定ダイアログウィンドウ３７１には、「自動でグルーピング」のチェックボックス３８１、OKボタン３８２、キャンセルボタン３８３、およびヘルプボタン３８４が表示されている。
【００７６】
ユーザがマウス３１などを操作することで、OKボタン３８２を選択（クリック）した場合、設定ダイアログウィンドウ３７１に入力された内容が設定される。また、キャンセルボタン３８３が選択された場合、設定ダイアログウィンドウ３７１の設定は破棄される。さらに、ヘルプボタン３８４が選択された場合、設定ダイアログウィンドウ３７１に関する各種の説明文が表示される。
【００７７】
ユーザが、チェックボックス３８１をチェック状態にし（チェックボックス３８１にチェックが表示されている状態にし）、OKボタン３８２を選択することにより、自動でグルーピングする旨が設定される。
【００７８】
ステップＳ３１において、ユーザによって自動でグルーピングする旨に設定されていると判定された場合、ステップＳ３２に進み、起動制御部１０２は、グループバーが選択されたか否かを判定する。すなわち、例えば、図７に示されるグループバー２８１が選択されたか否かを判定する。
【００７９】
ステップＳ３２において、グループバー２８１が選択されていないと判定された場合、ステップＳ３３に進み、選択時刻リスト管理部１０５は、起動制御部１０２から供給される制御信号を基に、リアルタイムクロック１９を用いて、ランチャボタン２０１−１乃至２０１−１３が選択された時刻を検出し（リアルタイムクロック１９からランチャボタン２０１−１乃至２０１−１３が選択された時刻を取得し）、選択時刻および選択されたボタンを特定するボタンID（IDentification）で構成される要素（選択時刻，ボタンID）を選択時刻リスト１１１の最後に追加する。ここで、選択時刻リスト１１１は、図１４に示されるように、PC１の起動後（ランチャプログラム４２の起動後）における、ランチャボタン２０１−１乃至２０１−１３が選択（クリック）された時刻と選択されたランチャボタン２０１−１乃至２０１−１３を特定するボタンIDとを要素（選択時刻，ボタンID）とするリストである。図１４の選択時刻リスト１１１の例において（Ｘ：ＸＸ，ｂ０），（Ｙ：ＹＹ，ｂ１）乃至（Ｃ：ＣＣ，ｂ２）が順に記録されている。図１４に示す選択時刻リスト１１１の例における左側の要素（Ｘ：ＸＸ，ｂ０）は、ランチャプログラム４２が起動してから最初のランチャボタン２０１−１乃至２０１−１３の選択に対応する、“Ｘ：ＸＸ”である選択（クリック）された時刻と、“ｂ０”である選択されたランチャボタン２０１−１乃至２０１−１３を特定するボタンIDを含む。図１４に示す選択時刻リスト１１１の例における右側の要素（Ａ：ＡＡ，ｂ０）は、最後（最新）のランチャボタン２０１−１乃至２０１−１３の選択に対応する、“Ａ：ＡＡ”である選択（クリック）された時刻と、“ｂ０”である選択されたランチャボタン２０１−１乃至２０１−１３を特定するボタンIDを含む。
【００８０】
すなわち、図１３のステップＳ３３において、例えば、最新の情報として、ボタンが選択された時刻がＡ：ＡＡであり、選択されたボタンのボタンIDがｂ０であることを示す要素（Ａ：ＡＡ，ｂ０）が選択時刻リスト１１１の最後（（Ｃ:ＣＣ，ｂ２）の次）に追加される。
【００８１】
また、選択時刻リスト１１１は、ランチャプログラム４２が終了された場合、クリアされる。これにより、ランチャプログラム４２の起動後の操作を基に、グルーピングが実行されることになり、ステップＳ３４において、最近の操作の履歴が反映されたグルーピンが実行されることになり、ステップＳ３４において、最近の操作の履歴が反映されたグルーピング処理がなされる。
【００８２】
ステップＳ３４において、グルーピング処理が実行される。その詳細は、図１５を参照して後述するが、これにより、例えば、図７に示されるように、プログラムＣのランチャボタン２０１−３およびプログラムＤのランチャボタン２０１−４のグルーピングが行われる。
【００８３】
ステップＳ３５において、アプリケーションプログラム起動部１０４は、選択されたランチャボタン２０１−１乃至２０１−１３のいずれかに対応するアプリケーションプログラム４４−１乃至４４−１３のいずれかを起動する。
【００８４】
ステップＳ３６において、起動制御部１０２は、自動でグルーピングする旨に設定されているか否かを判定する。
【００８５】
ステップＳ３６において、自動でグルーピングする旨に設定されていると判定された場合、ステップＳ３７に進み、グループ解除処理が実行される。その詳細は、図１９のフローチャートを参照して後述するが、これにより、所定の条件を満たす場合、ランチャボタン２０１−１乃至２０１−１３のグループが解除される。
【００８６】
ステップＳ３８において、表示更新処理が実行され、グループ管理処理は終了する。その詳細は、図２０のフローチャートを参照して後述するが、これにより、例えば、図７に示されるランチャウィンドウ１７１のカスタマイズ可能領域１８２に表示されているランチャボタン２０１−１乃至２０１−１３やグループバー２８１の表示が更新される。その後、処理は、図４のステップＳ７に戻る。
【００８７】
ステップＳ３６において、自動でグルーピングする旨に設定されていないと判定された場合、ステップＳ３７およびステップＳ３８の処理がスキップされ、グループ管理処理は終了し、図４のステップＳ７に戻る。
【００８８】
ステップＳ３１において、自動でグルーピングする旨に設定されていないと判定された場合、ステップＳ３９に進み、起動制御部１０２は、グループバーが選択（押下）されたか否かを判定する。ステップＳ３９において、グループバーが選択されていないと判定された場合、手続きは、ステップＳ３５に進む。
【００８９】
ステップＳ３９において、グループバーが選択されたと判定された場合、または、ステップＳ３２において、グループバーが選択されたと判定された場合、ステップＳ４０に進み、グループ起動処理が実行される。その詳細は、図２１のフローチャートを参照して後述するが、これにより、例えば、図７のグループバー２８１に対応するグループにグルーピングされているランチャボタン２０１−３およびランチャボタン２０１−４に対応するアプリケーションプログラム４４−３および４４−４が全て起動される。その後、処理は、ステップＳ３６に進む。
【００９０】
図１５のフローチャートを参照して、図１２のステップＳ３４におけるグルーピング処理の詳細を説明する。ステップＳ５１において、グループ生成部１０６は、選択時刻リスト１１１の要素の個数から２を引いた値を変数ｉに設定する。なお、選択時刻リスト１１１の要素の個数とは、図１４の選択時刻リスト１１１に記録されている要素（選択時刻，ボタンID）の個数である。例えば、図１４で示されるように、選択時刻リスト１１１の要素が（Ｘ：ＸＸ，ｂ０）乃至（Ａ：ＡＡ，ｂ０）であり、（Ｘ：ＸＸ，ｂ０）乃至（Ａ：ＡＡ，ｂ０）の個数がＮ1個である場合、ｉにＮ1−２が設定される。以下の処理において、変数ｉは、選択時刻リスト１１１の要素（選択時刻，ボタンID）を指定するインデックスとして使用される。
【００９１】
ステップＳ５２において、時刻差判定部１１２は、変数ｉで指定される要素の時刻と、選択時刻リスト１１１の最後の要素の時刻との時刻の差（時間差）が、予め設定された閾値以内であるか否かを判定する。例えば、ステップＳ５２において、時刻差判定部１１２は、図１４で示される選択時刻リスト１１１において、ｉ＝Ｎ1−２である場合、選択時刻リスト１１１のＮ1−２番目に記録されている要素の時刻Ｃ：ＣＣと、Ｎ1−１番目（選択時刻リスト１１１の最後）に記録されている時刻Ａ：ＡＡとの時間差（Ｃ：ＣＣとＡ：ＡＡとの時刻の差）が、１分以内であるか否かを判定する。
【００９２】
ステップＳ５２において、時刻の差が予め設定された閾値、例えば、１分以内であると判定された場合、ステップＳ５３において、グループ生成部１０６は、変数ｉで指定される要素のボタンIDで特定されるランチャボタン２０１と、選択時刻リスト１１１の最後に記録されている要素のボタンIDで特定されるランチャボタン２０１とがグルーピングされているか否かを判定する。
【００９３】
すなわち、グループ生成部１０６によって、図１６に示されるように、グループリスト１０７内に、１つのグループIDに対応して、変数ｉで指定される要素のボタンIDと、選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせが記録されているか否か（各グループIDの要素（ボタンID）内に記録されているか否か）が判定される。例えば、変数ｉで指定される要素のボタンIDであるb２と、選択時刻リスト１１１の最後に記録されている要素のボタンIDであるｂ０との組み合わせ（b０，b２）が記録されているか否かが判定される。
【００９４】
グループリスト１０７に、グループに関係する情報が格納される。
【００９５】
ここで、図１６に示されるグループリスト１０７は、ランチャボタン２０１の１つのグループを示すグループ要素からなるリストの例である。グループ要素は、グループID、グループIDに対する要素（ボタンID）、およびカウント値により構成されている。１つのグループIDは、複数のランチャボタン２０１からなる１つのグループを特定する。グループ要素において、１つのグループIDに対応して格納されている要素（ボタンID）は、そのグループIDで特定されるグループに属するランチャボタン２０１を特定する。カウント値は、そのグループIDで特定されるグループに属するランチャボタン２０１が個々に選択された回数を示す。カウント値は、グループ解除の処理に用いられ、その詳細は後述する。
【００９６】
なお、図１６に示されるグループリスト１０７および後述するボタンリスト１０８において、“Ｇ０”であるグループIDは、グループに属していないことを示す。例えば、図１６に示されるグループリスト１０７において、“Ｇ０”であるグループIDに対応して記録されている、“ｂ０”であるボタンIDで特定されるランチャボタン２０１、“ｂ３”であるボタンIDで特定されるランチャボタン２０１、“ｂ６”であるボタンIDで特定されるランチャボタン２０１は、グループに属していない。すなわち、例えば、グループリスト１０７の最初のグループ要素は、グループIDが“Ｇ０”とされ、グループに属していないボタンIDを特定するために使用される。
【００９７】
また、図４のステップＳ８の処理において、ユーザによって、手動でグルーピングされた複数のランチャボタン２０１に対応するボタンIDおよびグループIDを含むグループ要素が生成され、生成されたグループ要素がグループリスト１０７に記録される。逆に、図４のステップＳ１５の処理において、ユーザによって、手動でグルーピングが解除された場合、グルーピングが解除されたグループに対応するグループ要素がグループリスト１０７から削除される。
【００９８】
これに対して、ステップＳ５３において、変数ｉで指定される要素のボタンIDで特定されるランチャボタン２０１と、選択時刻リスト１１１の最後に記録されている要素のボタンIDで特定されるランチャボタン２０１とがグルーピングされていないと判定された場合、すなわち、例えば、変数ｉで指定される要素のボタンIDおよび選択時刻リスト１１１の最後に記録されている要素のボタンIDの組み合わせがグループリスト１０７のグループ要素として記録されていないと判定された場合、ステップＳ５４において、グループ生成部１０６は、変数ｊに０を設定する。ここで、変数ｊは図１７を参照して後述する組み合わせリスト１１５の要素（（ボタンIDの組み合わせ），選択回数）を指定するインデックスとして使用される。
【００９９】
ステップＳ５５において、グループ生成部１０６は、組み合わせリスト１１５において、変数ｊで指定される組み合わせリスト１１５の要素に含まれるボタンIDの組み合わせは、選択時刻リスト１１１の変数ｉで指定される要素のボタンIDと選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせと同じであるか否かを判定する。
【０１００】
図１７は、組み合わせリスト１１５の例を示す図である。組み合わせリスト１１５には、複数のランチャボタン２０１の組み合わせが予め設定された閾値以内の時間差で選択された回数（選択回数）が格納される。すなわち、上述したように、組み合わせリスト１１５の１つの要素は、ボタンIDの組み合わせと選択回数とからなる。組み合わせリスト１１５の１つの要素のボタンIDの組み合わせは、予め設定された閾値以内の時間差で選択された複数のランチャボタン２０１の組み合わせを特定する。組み合わせリスト１１５の１つの要素の選択回数は、ボタンIDの組み合わせで特定される複数のランチャボタン２０１の組み合わせが、予め設定された閾値以内の時間差で選択された回数を示す。
【０１０１】
例えば、図１７で示される組み合わせリスト１１５の例において、先頭（図中の左側）の要素は、“ｂ３”であるボタンIDおよび“ｂ１”であるボタンIDの組み合わせと“１”である選択回数とからなるので、“ｂ３”であるボタンIDで特定されるランチャボタン２０１と、“ｂ１”であるボタンIDで特定されるランチャボタン２０１とが、予め設定された閾値（例えば、１分）以内の時間差で選択された回数が１回であることを示す。例えば、図１７で示される組み合わせリスト１１５の例において、２番目（図中の左側から２番目）の要素は、“ｂ２”であるボタンIDおよび“ｂ４”であるボタンIDの組み合わせと“２”である選択回数とからなるので、“ｂ２”であるボタンIDで特定されるランチャボタン２０１と、“ｂ４”であるボタンIDで特定されるランチャボタン２０１とが、予め設定された閾値（例えば、１分）以内の時間差で選択された回数が２回であることを示す。
【０１０２】
例えば、図１７で示される組み合わせリスト１１５において、変数ｊが０である場合、ステップＳ５５において、グループ生成部１０６は、“ｂ３”と“ｂ１”の組み合わせが、選択時刻リスト１１１の変数ｉで指定される要素のボタンID（例えば、“ｂ２”）と選択時刻リスト１１１の最後に記録されている要素のボタンID（例えば、“ｂ０”）との組み合わせと同じであるか否かを判定する。
【０１０３】
ステップＳ５５において、組み合わせリスト１１５において、変数ｊで指定される組み合わせリスト１１５の要素に含まれるボタンIDの組み合わせは、選択時刻リスト１１１の変数ｉで指定される要素のボタンIDと選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせと同じではないと判定された場合、組み合わせリスト１１５の次の要素について、上述した判定を実行するために、ステップＳ５６に進み、グループ生成部１０６は、変数ｊをインクリメントする（変数ｊに１を加算する）。
【０１０４】
ステップＳ５７において、グループ生成部１０６は、変数ｊが組み合わせリスト１１５の要素の個数より小さいか否かを判定する。なお、組み合わせリスト１１５の要素の個数とは、例えば、図１７に示される組み合わせリスト１１５に記録されている要素（（ボタンIDの組み合わせ），選択回数）の個数である。今、組み合わせリスト１１５に、（（ｂ３，ｂ１），１）乃至（（ｂ０，ｂ４），１）が記録され、その個数は、Ｎ2個であるとする。
【０１０５】
ステップＳ５７において、グループ生成部１０６は、変数ｊが組み合わせリスト１１５の要素の個数より小さいと判定した場合、処理はステップＳ５５に戻り、それ以降の処理を繰り返し実行する。すなわち、変数ｊが組み合わせリスト１１５の要素の個数より大きくなるまで（変数ｊがＮ2より大きい値になるまで）ステップＳ５５およびステップＳ５６の処理が繰り返し実行される。
【０１０６】
ステップＳ５７において、変数ｊが組み合わせリスト１１５の要素の個数より大きいと判定された場合、選択された時刻の時間差が予め定めた閾値以下であるランチャボタン２０１を特定する、変数ｉで指定される要素のボタンIDと、選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせと同じ組み合わせが組み合わせリスト１１５の要素として含まれていないので、ステップＳ５８に進み、グループ生成部１０６は、組み合わせリスト１１５の最後に、選択時刻リスト１１１の変数ｉで指定される要素に記録されているボタンIDと選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせと、“１”である選択回数とからなる要素を追加（記録）する。すなわち、例えば、今、組み合わせリスト１１５の最後に（（ｂ０，ｂ４），１）が記録されていた場合、図１７に示されるように、その後に（（ｂ０，ｂ２），１）が追加（記録）される。
【０１０７】
また、組み合わせリスト１１５は、例えば、ハードディスクである記憶部２０に記憶され、PC１の電源がオフにされても消去されず、記憶された状態が維持される。これにより、PC１の起動時に、アプリケーションプログラムを起動させ、シャットダウンするまでアプリケーションプログラムの実行を継続するような場合であっても、PC１の起動前の履歴を基に、アプリケーションプログラムを起動させるランチャボタン２０１のグルーピングが可能となる。なお、所定の期間が経過した場合に、組み合わせリスト１１５に記録されている情報を、消去するようにしてもよい。
【０１０８】
ステップＳ５９において、グループ生成部１０６は、変数ｉをデクリメントとする（変数ｉから１を減算する）。ステップＳ６０において、グループ生成部１０６は、変数ｉが０以上であるか否かを判定する。すなわち、図１４に示される選択時刻リスト１１１に記録されている要素（時刻，ボタンID）の全てについて、選択の時刻の差が１分以内であるランチャボタン２０１が既にグルーピングされているか否かの判定、およびグルーピングされていないランチャボタン２０１を特定するボタンIDの組み合わせが組み合わせリスト１１５にすでに記録されているか否かの判定が実行されたか否かが判定される。ステップＳ６０において、変数ｉが０以上であると判定された場合、まだ判定の処理の対象とされていない要素が選択時刻リスト１１１にあるので、処理は、ステップＳ５２に戻り、それ以降の処理が繰り返し実行される。
【０１０９】
これに対して、ステップＳ６０において、変数ｉが０以上ではない（変数ｉは、負の値である）と判定された場合、選択時刻リスト１１１の全ての要素について、処理が実行されたので、グルーピング処理は、終了し、図１２のステップＳ３５に戻る。
【０１１０】
一方、ステップＳ５５において、組み合わせリスト１１５において、変数ｊで指定される組み合わせリスト１１５の要素に含まれるボタンIDの組み合わせは、選択時刻リスト１１１の変数ｉで指定される要素に含まれるボタンIDと選択時刻リスト１１１の最後に記録されている要素のボタンIDとの組み合わせと同じであると判定された場合、ステップＳ６１に進み、選択回数計数部１１３は、組み合わせリスト１１５の変数ｊで指定される要素に含まれる選択回数をインクリメントする（選択回数に１を加算する）。
【０１１１】
ステップＳ６２において、回数判定部１１４は、組み合わせリスト１１５の変数ｊで指定される要素の選択回数が、予め定めた閾値である３回を超えているか否かを判定する。ステップＳ６２において、選択回数が３回を超えていると判定された場合、ステップＳ６３に進み、グループ生成部１０６は、組み合わせリスト１１５の変数ｊで指定される要素に含まれるボタンIDの組み合わせで特定されるランチャボタン２０１に対してグルーピングを行う。より具体的には、グループリスト１０７（図１６参照）およびボタンリスト１０８（図１８参照）に組み合わせリスト１１５の変数ｊで指定される要素のボタンIDの組み合わせが記録される。すなわち、メニューの項目であるランチャボタン２０１が、相互に関係付けられる。
【０１１２】
ステップＳ６４において、グループ生成部１０６は、組み合わせリスト１１５の変数ｊで指定される要素を組み合わせリスト１１５から削除し、手続きは、ステップＳ５９に進む。
【０１１３】
ここで、図１８は、ボタンリスト１０８の例を示す図である。ボタンリスト１０８には、ランチャボタン２０１に関係する情報、例えば、ランチャボタン２０１に選択された場合、対応するアプリケーションプログラムを起動させるために必要な情報、およびランチャボタン２０１が属するグループを特定する情報が格納される。図１８に示されるボタンリスト１０８は、ボタンIDに対応させて、アプリケーションプログラムの名前、そのアプリケーションプログラムのショートカットの情報（起動パス、作業フォルダ、アイコンパス、アイコンインデックスなど）、およびボタンIDで特定されるランチャボタン２０１が属するグループを特定するグループIDを記録している。
【０１１４】
例えば、図１８で示されるボタンリスト１０８の例において、“ｂ０”であるボタンIDに対応して、“プログラムＡ”であるプログラムの名前、および“Ｇ０”であるグループIDが記録されている。また、例えば、図１８で示されるボタンリスト１０８の例において、“ｂ１”であるボタンIDに対応して、”プログラムＣ”であるプログラムの名前、および“Ｇ１”であるグループIDが記録されている。
【０１１５】
なお、図４のステップＳ８の処理において、ユーザによって、手動でグルーピングされた複数のランチャボタン２０１に対応するボタンIDに対して、ランチャボタン２０１に対応するボタンIDに対して、ランチャボタン２０１が属するグループを特定するグループIDがボタンリスト１０８に記録される。逆に、図４のステップＳ１５の処理において、ユーザによって手動で、グルーピングが解除された場合、グルーピングが解除されたランチャボタン２０１に対応するボタンIDに対応して“Ｇ０”であるグループIDが記録される。
【０１１６】
ステップＳ６２において、回数判定部１１４は、組み合わせリスト１１５の変数ｊで指定される要素の選択回数が３回を超えていないと判定した場合、処理は、ステップＳ５９に進む。
【０１１７】
ステップＳ５２において、時刻の差が、予め設定された閾値、例えば、１分以内ではないと判定された場合、閾値以内の時間で選択された複数のランチャボタン２０１は無いので、ステップＳ５３乃至ステップＳ６０の処理はスキップされ、グルーピング処理は、終了し、図１２のステップＳ３５に戻る。
【０１１８】
ステップＳ５３において、変数ｉで指定される要素のボタンIDで特定されるランチャボタン２０１と、選択時刻リスト１１１の最後に記録されている要素のボタンIDで特定されるランチャボタン２０１とがグルーピングされていると判定された場合、すなわち、例えば、変数ｉで指定される要素のボタンIDおよび選択時刻リスト１１１の最後に記録されている要素のボタンIDの組み合わせがグループリスト１０７のグループ要素として記録されていると判定された場合、組み合わせリスト１１５の要素をさらに調べる必要はないので、ステップＳ５３乃至ステップＳ６０の処理はスキップされ、グルーピング処理は、終了し、図１２のステップＳ３５に戻る。
【０１１９】
次に図１９のフローチャートを参照して、図１２のステップＳ３７におけるグループ解除処理の詳細を説明する。ステップＳ８１において、グループ解除部１０９は、変数ｋに０を設定する。ステップＳ８２において、グループ解除部１０９は、変数ｋがグループリスト１０７のグループ要素の個数より小さいか否かを判定する。今、グループリスト１０７のグループ要素の個数をＮ3個とする。また、変数ｋは、グループ要素のインデックスとして使用される。
【０１２０】
ステップＳ８３において、グループ解除部１０９は、変数ｋが０か否かを判定する。上述したように、グループリスト１０７のグループ要素のうち、グループIDがＧ０であるグループ要素は、グルーピングされていないことを示すための要素である。グループリスト１０７において、Ｇ０であるグループIDに対応する要素（ボタンID）として、グルーピングされていないランチャボタン２０１を特定するボタンIDが記録されている。例えば、図７に示されるランチャボタン２０１−１，２０１−２，２０１−５乃至２０１−１３はグルーピングされていないので、ランチャボタン２０１−１，２０１−２，２０１−５乃至２０１−１３を特定するボタンIDは、グループリスト１０７において、Ｇ０であるグループIDに対応して記録される。
【０１２１】
このように、Ｇ０であるグループIDのグループ要素に対してグループの解除は必要ないため、変数ｋが０であるか否かが判定される。なお、ステップＳ８１の処理において、変数ｋに１を設定するようにした場合、このステップＳ８３の処理は、不要である。
【０１２２】
ステップＳ８３において、変数ｋが０ではないと判定された場合、ステップＳ８４に進み、グループ解除部１０９は、変数ｋで指定されるグループ要素のカウント値が予め設定された閾値より大きいか否かを判定する。例えば、ステップＳ８４において、カウント値が１０より大きいか否かが判定される。ステップＳ８４において、変数ｋで指定されるグループ要素のカウント値が、閾値の一例である１０より大きいと判定された場合、ステップＳ８５に進み、グループ解除部１０９は、変数ｘに０を設定する。ここで、変数ｘは、各グループ要素の要素（ボタンID）として記録されているボタンIDを指定するためのインデックスとして使用される。
【０１２３】
ステップＳ８６において、グループ解除部１０９は、変数ｘより、変数ｋで指定されるグループ要素に含まれる要素（ボタンID）の個数が大きいか否かを判定する。
【０１２４】
ステップＳ８６において、変数ｘより変数ｋで指定されるグループ要素の要素（ボタンID）の個数が大きいと判定された場合、ステップＳ８７において、グループ解除部１０９は、変数ｋで指定されるグループ要素のうち、変数ｘで指定されるボタンIDに対応するグループIDをＧ０に設定する。すなわち、例えば、変数ｋで指定されるグループ要素のうち、変数ｘで指定されるボタンIDと同じボタンIDが、グループリスト１０７において、“Ｇ０”であるグループIDのグループ要素に追加されると共に、変数ｋで指定されるグループ要素のうち、変数ｘで指定されるボタンIDと同じボタンIDに対応して、ボタンリスト１０８において、記録されているグループIDが、Ｇ０に設定される。
【０１２５】
ステップＳ８８において、グループ解除部１０９は、変数ｘをインクリメントする（変数ｘに１を加算する）。その後、処理は、ステップＳ８６に戻り、それ以降の処理が繰り返し実行される。すなわち、変数ｋで指定されるグループ要素に含まれる全てのボタンIDに対するグループIDがＧ０に更新されるまで、ステップＳ８６乃至Ｓ８８の処理が繰り返し実行される。
【０１２６】
ステップＳ８６において、変数ｘより変数ｋで指定されるグループ要素の要素（ボタンID）の個数より大きくないと判定された場合、ステップＳ８９に進み、グループ解除部１０９は、グループリスト１０７から変数ｋで指定されるグループ要素を削除し、手続きは、ステップＳ９１に進む。
【０１２７】
ステップＳ９１において、グループ解除部１０９は、変数ｋをインクリメントする（変数ｋに１を加算する）。その後、処理は、ステップＳ８２に戻り、変数ｋがグループリスト１０７のグループ要素の個数より小さくない値になるまでステップＳ８２乃至Ｓ８９の処理が繰り返し実行される。すなわち、グループリスト１０７のグループ要素のカウント値が１０より大きい、全てのグループ要素に対して、グループの解除が実行される。
【０１２８】
ステップＳ８４において、変数ｋで指定されるグループ要素のカウント値が、閾値の一例である１０より大きくないと判定された場合、ステップＳ９０に進み、グループ解除部１０９は、変数ｋで指定されるグループ要素のカウント値をインクリメントする（カウント値に１を加算する）。その後の処理は、ステップＳ９１に進む。
【０１２９】
ステップＳ８３において、変数ｋが０であると判定された場合、処理は、ステップＳ９１に進む。
【０１３０】
ステップＳ８２において、変数ｋがグループリスト１０７のグループ要素の個数より小さくないと判定された場合、グループ解除処理は、終了し、手続きは、図１２のステップＳ３８に戻る。
【０１３１】
以上の処理により、グループバー２８１が選択される頻度が少なく、そのグループに属するランチャボタン２０１が選択される頻度が高いグループは、カウント値が加算され続けるため、グループが解除されることになる。これによって、ユーザは、いちいちグル−プを解除する操作をすることなく、不要になったグループを開示することができる。
【０１３２】
図２０のフローチャートを参照して、図１２のステップＳ３８における表示更新処理の詳細を説明する。ステップＳ１１１において、表示制御部１０３は、変数ｍに０を設定する。ここで、変数ｍは、ボタンリスト１０８の要素（ボタンID、名前、ショートカットの情報、グループID）を指定するインデックスとして使用される。また、表示制御部１０３は、グループ生成部１０６を介してボタンリスト１０８を取得する。ステップＳ１１２において、表示制御部１０３は、変数ｍがボタンリスト１０８の要素の個数より小さいか否かを判定する。ステップＳ１１２において、変数ｍがボタンリスト１０８の要素の個数より小さいと判定された場合、ステップＳ１１３に進み、表示制御部１０３は、変数ｍで指定されるボタンIDに対応するランチャボタン２０１をカスタマイズ可能領域１８２に描画（表示）させる。
【０１３３】
ステップＳ１１４において、表示制御部１０３は、変数ｍをインクリメントする（変数ｍに１を加算する）。その後、処理は、ステップＳ１１２に戻り、ランチャボタン２０１の描画の処理が繰り返し実行される。すなわち、例えば図１８に示されるボタンリスト１０８に記録されているボタンIDに対応するランチャボタン２０１が全て表示されるまで、ステップＳ１１２乃至ステップＳ１１４の処理が繰り返し実行される。
【０１３４】
ステップＳ１１２において、変数ｍがボタンリスト１０８の要素の個数より小さくないと判定された場合、ランチャボタン２０１の描画が終了したので、ステップＳ１１５に進み、表示制御部１０３は、変数ｋに０を設定する。また、表示制御部１０３は、グループ生成部１０６を介してグループリスト１０７を取得する。ステップＳ１１６において、表示制御部１０３は、変数ｋがグループリスト１０７のグループ要素の個数より小さいか否かを判定する。ステップＳ１１６において、変数ｋがグループリスト１０７の要素の個数より小さいと判定された場合、ステップＳ１１７に進み、グループ生成部１０６は、変数ｋが０であるか否かを判定する。
【０１３５】
ステップＳ１１７において、変数ｋが０ではないと判定された場合、ステップＳ１１８に進み、表示制御部１０３は、変数ｋで指定されるグループ要素に含まれるボタンIDの個数と、ボタンIDの順序を基に、ランチャボタン２０１の表示位置および表示順序を決定する。
【０１３６】
ステップＳ１１９において、表示制御部１０３は、ランチャボタン２０１をステップＳ１１８の処理により決定された表示位置および表示順序を基に、カスタマイズ可能領域１８２に、１つのグループに属するランチャボタン２０１を隣接して表示させる。
【０１３７】
ステップＳ１２０において、表示制御部１０３は、そのグループに属するランチャボタン２０１の表示位置および表示順序を基に、グループバー２８１の表示位置とその大きさ（例えばグループバー２８１の幅）を決定する。
【０１３８】
ステップＳ１２１において、表示制御部１０３は、変数ｋで指定されるグループ要素に対応するグループバーをステップＳ１２０の処理により決定された位置と大きさを基に、ランチャウィンドウ１７１のカスタマイズ可能領域１８２に表示する。例えば、図７に示されるように、そのグループに属するランチャボタン２０１に対応する位置にグループバー２８１が表示される。
【０１３９】
ステップＳ１１７において、変数ｋが０であると判定された場合、グループリスト１０７の最初のグループIDが“Ｇ０”とされ、グループに属していないボタンIDを特定するので、ステップＳ１１８乃至ステップＳ１２１の処理がスキップされる。なお、ステップＳ１１５の処理において、変数ｋに１を設定するようにした場合、ステップＳ１１７の処理は不要である。
【０１４０】
ステップＳ１２２において、表示制御部１０３は、変数ｋをインクリメントする（変数ｋに１を加算する）。その後、処理は、ステップＳ１１６に戻り、それ以降の処理が繰り返し実行される。すなわち、グループリスト１０７に記録されている、Ｇ０以外のグループIDのグループに対応するグループバーが全て表示されるまで、ステップＳ１１７乃至Ｓ１２２の処理が繰り返し実行される。
【０１４１】
ステップＳ１１６において、変数ｋがグループリスト１０７の要素の個数より小さくないと判定された場合、グループバーが全て表示されたので、表示更新処理は、終了し、手続きは、図４のステップＳ７に戻る。
【０１４２】
図２１のフローチャートを参照して、図１２のステップＳ４０におけるグループ起動処理の詳細を説明する。ステップＳ１４１において、起動制御部１０２は、操作情報取得部１０１からの操作情報を基に、グループバー２８１にファイル（のアイコン）がドラッグアンドドロップされたのか否かを判定する。すなわち、例えば、図８に示されるグループバー２８１に対して、ユーザによる、マウス３１などの操作により、グループバー２８１が選択（クリック）されたのか、グループバー２８１にファイル（のアイコン）がドラッグアンドドロップされたのかが判定される。
【０１４３】
ステップＳ１４１において、グループバー２８１にファイルがドラッグアンドドロップされていないと判定された場合（グループバーが選択（クリック）された場合）、ステップＳ１４２において、アプリケーションプログラム起動部１０４は、変数ｘに０を設定する。また、アプリケーションプログラム起動部１０４は、グループ生成部１０６を介して、グループリスト１０７およびボタンリスト１０８を取得する。
【０１４４】
ステップＳ１４３において、アプリケーションプログラム起動部１０４は、変数ｘが、選択（クリック）されたグループバー２８１に対応する、グループリスト１０７のグループ要素の要素（ボタンID）の個数より大きいか否かを判定する。なお、グループバー２８１が選択されるか、グループバー２８１にファイルがドラッグアンドドロップされたとき、操作情報取得部１０１からの操作情報に含まれるグループIDが起動制御部１０２から制御信号として供給されるので、アプリケーションプログラム起動部１０４は、このグループIDによって、グループリスト１０７のグループ要素を特定する。また、グループバー２８１にファイルがドラッグアンドドロップされたとき、操作情報取得部１０１からの操作情報に含まれる、ドラッグアンドドロップされたファイルを特定する情報（パス情報など）が起動制御部１０２から制御信号としてアプリケーションプログラム起動部１０４に供給される。
【０１４５】
ステップＳ１４３において、変数ｘより、選択されたグループバーに対応するグループリスト１０７のグループ要素の要素（ボタンID）の個数が大きいと判定された場合、ステップＳ１４４に進み、アプリケーションプログラム起動部１０４は、選択されたグループバー２８１に対応して（グループIDに対応して）、グループリスト１０７に記録されている、変数ｘで指定される、グループ要素のボタンIDに対応するアプリケーションプログラム４４−１乃至４４−１３のいずれかを起動する。例えば、図１６に示されるグループリスト１０７および図１８に示されるボタンリスト１０８において、選択されたグループバーのグループIDがＧ１であり、変数ｘが１である場合、グループリスト１０７から、“ｂ１”であるボタンIDが読み出され、ボタンリスト１０８から、“ｂ１”であるボタンIDに対応して記憶されているショートカットの情報（起動パス、作業フォルダ、アイコンパス、アイコンインデックスなど）が読み出され、読み出したショートカット情報の起動パスおよび作業フォルダなどを基に、アプリケーションプログラム４４−１乃至４４−１３のいずれかが起動される。
【０１４６】
ステップＳ１４５において、グループ生成部１０６は、変数ｘをインクリメントする（変数ｘに１を加算する）。その後、処理は、ステップＳ１４３に戻り、それ以降の処理が繰り返し実行される。すなわち、選択されたグループバー２８１に対応するグループに属する、全てのランチャボタン２０１に対応するアプリケーションプログラム４４−１乃至４４−１３が起動される。すなわち、例えば、図２２に示されるように、画面１５１上に、選択されたグループバー２８１のグループに属するランチャボタン２０１−３およびランチャボタン２０１−４のそれぞれに対応するアプリケーションプログラム４４−３および４４−４が起動され、画面１５１上には、アプリケーションプログラム４４−３のエントランスウィンドウ４０１およびアプリケーションプログラム４４−４のエントランスウィンドウ４０２が表示される。
【０１４７】
これにより、ユーザは、複数のアプリケーションプログラムを利用し、所定の作業を行う場合、例えば、アプリケーションプログラム４４−３および４４−４を利用し、作業を行う場合、アプリケーションプログラム４４−３および４４−４に対するランチャボタン２０１を個々に選択する必要がなく、グループバー２８１を選択する一度の操作で所望する全てのアプリケーションプログラムを起動することができるため、作業効率を向上させることができる。
【０１４８】
ステップＳ１４３において、変数ｘより、選択されたグループバーに対応するグループリスト１０７の要素（ボタンID）のボタンIDの個数が大きくないと判定された場合、ステップＳ１４６に進み、選択されたグループバー２８１のグループIDに対応するグループリスト１０７のカウント値に０を設定し、グループ起動処理は終了する。その後、処理は、図４のステップＳ７に戻る。
【０１４９】
ステップＳ１４１において、グループバー２８１にファイル（のアイコン）がドラッグアンドドロップされたと判定された場合、処理は、ステップＳ１４７に進む。ステップＳ１４７およびステップＳ１４８の処理は、それぞれ、ステップＳ１４２およびステップＳ１４３の処理と同様なので、その説明は省略する。
【０１５０】
ステップＳ１４９において、ステップＳ１４４の処理と同様に、アプリケーションプログラム起動部１０４は、選択されたグループバー２８１に対応して（グループIDに対応して）、グループリスト１０７に記録されている、変数ｘで指定される、グループ要素のボタンIDに対応するアプリケーションプログラム４４−１乃至４４−１３のいずれかを起動する。なお、実際には、ステップＳ１４９において、アプリケーションプログラム起動部１０４は、OS４１に対して、アプリケーションプログラム４４−１乃至４４−１３のいずれかの起動を要求するメッセージを供給することにより、OS４１にアプリケーションシステム４４−１乃至４４−１３のいずれかを起動させる。この場合、アプリケーションプログラム起動部１０４は、引数として、ドラッグアンドドロップされたファイルを特定する情報（パス情報など）を付加した、起動を要求するメッセージをOS４１に供給する。
【０１５１】
ステップＳ１５０において、起動されたアプリケーションプログラム４４−１乃至４４−１３のいずれかは、OS４１からのメッセージの引数を基に、グループバー２８１にドラッグアンドドロップされたファイルを開く。
【０１５２】
すなわち、例えば、図２３に示されるように、プログラムＣのランチャボタン２０１−３およびプログラムＤのランチャボタン２０１−４が、グルーピングバー２８１に対応するグループに属している場合、ユーザがカーソル２７１を操作し、ファイルのアイコン４２１がグループバー２８１にドラッグアンドドロップされることで、図２４に示されるようにプログラムＣとプログラムＤに対応するアプリケーションプログラム４４−３および４４−４が起動され、アイコン４２１で示されるファイルを開いた状態でアプリケーションプログラム４４−３の編集用画像４５１およびアプリケーションプログラム４４−４の編集用画像４５２が表示される。
【０１５３】
ステップＳ１５１の処理は、ステップＳ１４５の処理と同様なので、その説明は省略する。
【０１５４】
これにより、ユーザは、複数のアプリケーションプログラムを用いる場合、例えば、複数のアプリケーションプログラムを個々に選択し、起動し、さらに例えば、編集を所望するファイルを開くという動作の必要がなくなり、一度の操作によって、所望する全てのアプリケーションプログラムを起動させ、編集を所望するファイルを開くことができる。これにより、ユーザの作業効率を向上させることができる。
【０１５５】
以上のように、操作（利用）されたグループバー２８１に対応するグループIDで特定されるグループリスト１０７（図１７参照）のグループ要素のカウント値は、０に更新される。したがって、グループバー２８１が選択された場合、またはグループバー２８１にファイルがドラッグアンドドロップされた場合、図１９のフローチャートを参照して上述したグループ解除処理が実行されても、グループが解除され、グループバーが削除されることはなく、グルーピングされた状態が維持される。
【０１５６】
また、例えば、グループバー（例えば、図７のグループバー２８１）を表示しない場合、プログラムＣのランチャボタン２０１−３、プログラムＤのランチャボタン２０１−４、およびプログラムＥのランチャボタン２０１−５がグルーピングされているとき、プログラムＥのランチャボタン２０１−５を選択（クリック）することで、グルーピングされている他ランチャボタン（プログラムＣのランチャボタン２０１−３およびプログラムＤのランチャボタン２０１−４）の表示が強調されるようにしてもよい。すなわち、例えば、プログラムＣのランチャボタン２０１−３およびプログラムＤのランチャボタン２０１−４がプログラムＥのランチャボタン２０１−５よりも文字が大きくなったり、または色が変化したりするようにしてもよい。
【０１５７】
さらに、ランチャウィンドウ１７１においては、カスタマイズ可能領域１８２のみに対して、ランチャボタンがグルーピングされる（グループバーが表示される）として説明したが固定表示領域１８１も同様にグルーピングされる（グループバーが表示される）ようにしてもよい。また、固定表示領域１８１およびカスタマイズ可能領域１８２の両方に対してグルーピングされるようにしてもよい。すなわち、所定のグループバーを押下（選択）することで、一度に固定表示領域１８１に表示されているアプリケーションプログラムおよびカスタマイズ可能領域１８２に表示されているアプリケーションプログラムが同時に起動されるようにしてもよい。
【０１５８】
なお、ランチャボタン２０１の関係付けの一例として、ランチャボタン２０１のグループを生成する（グルーピングする）と説明したが、グループの生成に限らず、複数のランチャボタン２０１に主従関係を付すように関係付ける、複数のランチャボタン２０１に順序を付すように関係付ける、複数のランチャボタン２０１に相互の表示位置を規制するように関係付ける、複数のランチャボタン２０１のうちの、一方から他方を特定できるように関係付けるなど、本発明において、項目の一例であるランチャボタン２０１を相互に関係付けるようにすることができる。
【０１５９】
例えば、主従関係を付す場合、主であるランチャボタン２０１が選択された場合、従であるランチャボタン２０１に対応するアプリケーションプログラムを起動させることができる。順序を付すように関係付ける場合、その順序に、アプリケーションプログラムを起動させることができる。相互の表示位置を規制するように関係付ける場合、一方のランチャボタン２０１の表示位置を変更したとき、他方のランチャボタン２０１の表示位置を移動させることができる。
【０１６０】
このように、グループのアイコンが選択された場合、グループに属する項目のそれぞれに対応するアプリケーションプログラムの起動を制御するようにした場合、アプリケーションプログラムを起動することができる。また、選択された項目および選択された時刻を示す選択時刻情報の記憶を制御し、記憶されている選択時刻情報を基に、項目を相互に関係付けるようにした場合、対応付けのための操作をすることなく、項目が関係付けられるので、１つの操作で複数のアプリケーションプログラムを起動できるようになる。
【０１６１】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１６２】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク５１（フレキシブルディスクを含む）、光ディスク５２（CD-ROM（Compact Disk Read-Only Memory）、DVD（Digital Versatile Disc）を含む）、光磁気ディスク５３（MD（Mini Disc）（商標）を含む）、若しくは半導体メモリ５４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１２や、記憶部２０に含まれるハードディスクなどで構成される。
【０１６３】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０１６４】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的あるいは個別に実行される処理を含むものである。
【図面の簡単な説明】
【０１６５】
【図１】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【図２】図１のランチャプログラムの機能の構成例を示すブロック図である。
【図３】プログラム起動処理を説明するフローチャートである。
【図４】プログラム起動処理を説明するフローチャートである。
【図５】ランチャウィンドウの例を説明する図である。
【図６】ランチャボタンがドラッグアンドドロップされた場合のグルーピングを説明する図である。
【図７】ランチャボタンがドラッグアンドドロップされた場合のグルーピングを説明する図である。
【図８】グループバーがドラッグアンドドロップされた場合の動作を説明する図である。
【図９】グループバーがドラッグアンドドロップされた場合の動作を説明する図である。
【図１０】ランチャボタンのグルーピングの解除を説明する図である。
【図１１】アプリケーションプログラムの起動を説明する図である。
【図１２】グループ管理処理を説明するフォローチャートである。
【図１３】設定ダイアログウィンドウの例を示す図である。
【図１４】選択時刻リストの例を説明する図である。
【図１５】グルーピング処理を説明するフローチャートである。
【図１６】グループリストの例を説明する図である。
【図１７】組み合わせリストの例を説明する図である。
【図１８】ボタンリストの例を説明する図である。
【図１９】グループ解除処理を説明するフローチャートである。
【図２０】表示更新処理を説明するフローチャートである。
【図２１】グループ起動処理を説明するフローチャートである。
【図２２】グループバーが選択された場合のアプリケーションプログラムの起動を説明する図である。
【図２３】グループバーへのファイルのアイコンのドラッグアンドドロップを説明する図である。
【図２４】グループバーにファイルのアイコンがドラッグアンドドロップされた場合に、ファイルを開いたアプリケーションプログラムに表示される画像を説明する図である。
【符号の説明】
【０１６６】
１  パーソナルコンピュータ，  １１  CPU，  １２  ROM，  １７  表示部，  １９  リアルタイムクロック，  ２０  記憶部，  ４２  ランチャプログラム，  ４４−１乃至４４−１３  アプリケーションプログラム，  ５１  磁気ディスク，  ５２  光ディスク，  ５３  光磁気ディスク，  ５４  半導体メモリ，  １０１  操作情報取得部，  １０２  起動制御部，  １０３  表示制御部，  １０４  アプリケーションプログラム起動部，  １０５  選択時刻リスト管理部，  １０６  グループ生成部，  １０７  グループリスト，  １０８  ボタンリスト，  １０９  グループ解除部，  １１１  選択時刻リスト，  １１２  時刻差判定部，  １１３  選択回数計数部，  １１４  回数判定部，  １７１  ランチャウィンドウ，  ２０１−１乃至２０１−１３  ランチャボタン，  ２８１  グループバー
【図１】
2005227951.tif 000003
【図２】
2005227951.tif 000004
【図３】
2005227951.tif 000005
【図４】
2005227951.tif 000006
【図５】
2005227951.tif 000007
【図６】
2005227951.tif 000008
【図７】
2005227951.tif 000009
【図８】
2005227951.tif 000010
【図９】
2005227951.tif 000011
【図１０】
2005227951.tif 000012
【図１１】
2005227951.tif 000013
【図１２】
2005227951.tif 000014
【図１３】
2005227951.tif 000015
【図１４】
2005227951.tif 000016
【図１５】
2005227951.tif 000017
【図１６】
2005227951.tif 000018
【図１７】
2005227951.tif 000019
【図１８】
2005227951.tif 000020
【図１９】
2005227951.tif 000021
【図２０】
2005227951.tif 000022
【図２１】
2005227951.tif 000023
【図２２】
2005227951.tif 000024
【図２３】
2005227951.tif 000025
【図２４】
2005227951.tif 000026