(57)【要約】【課題】マルチウインドウシステムにおいて、ドラッグされたオブジェクトに関する情報をより効率的に伝達する。【解決手段】メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、前記第１プログラムから、前記第１プログラムのウインドウにおいてドラッグされたオブジェクトに関するドラッグ情報を受信する受信手段と、前記オペレーティングシステムの制御下で動作する第２プログラムからアクセス可能な共有領域を前記メモリに割り当てる割り当て手段と、前記ドラッグ情報を前記共有領域に格納する格納手段と、として機能させるためのオペレーティングシステムを提供する。【選択図】図３
2010250703.tif 000002
【特許請求の範囲】
【請求項１】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって動作する情報処理装置であって、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、
前記第１プログラムから、前記第１プログラムのウインドウにおいてドラッグされたオブジェクトに関するドラッグ情報を受信する受信手段と、
前記オペレーティングシステムの制御下で動作する第２プログラムからアクセス可能な共有領域を前記メモリに割り当てる割り当て手段と、
前記ドラッグ情報を前記共有領域に格納する格納手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって動作する情報処理装置であって、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、
前記オペレーティングシステムの制御下で動作する第２プログラムから、前記第１プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第２プログラムに通知するように要求する通知要求を受信する通知要求受信手段と、
前記通知要求を前記メモリに格納する格納手段と、
前記第１プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、
前記受信手段により前記ドラッグ情報が受信された場合に、前記メモリに格納されている通知要求に対応する前記第２プログラムに対して当該ドラッグ情報を通知する通知手段と、
を備えることを特徴とする情報処理装置。
【請求項３】
前記第２プログラムから、当該第２プログラムに対応する前記通知要求を削除する削除要求を受信する削除要求受信手段と、
前記削除要求受信手段により前記削除要求が前記第２プログラムから受信された場合に、当該第２プログラムに対応する前記通知要求を前記メモリから削除する削除手段と、
を備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記ドラッグ情報は、前記オブジェクトに関連づけられたデータと当該データの種別とのうちの少なくとも一方を含むことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムの制御下で動作するプログラムにしたがって動作する情報処理装置であって、
前記オペレーティングシステムが描画した、当該オペレーティングシステムの制御下で動作する他のプログラムのウインドウにおいて、オブジェクトがドラッグされたことを検出する検出手段と、
オブジェクトがドラッグされたことを前記検出手段が検出した場合に、当該オブジェクトに関するドラッグ情報を前記他のプログラムから取得する取得手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
前記ドラッグ情報は、前記オブジェクトに関連づけられたデータと当該データの種別とのうちの少なくとも一方を含むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって情報処理装置が実行する制御方法であって、
描画手段が、前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画工程と、
受信手段が、前記第１プログラムから、前記第１プログラムのウインドウにおいてドラッグされたオブジェクトに関するドラッグ情報を受信する受信工程と、
割り当て手段が、前記オペレーティングシステムの制御下で動作する第２プログラムからアクセス可能な共有領域を前記メモリに割り当てる割り当て工程と、
格納手段が、前記ドラッグ情報を前記共有領域に格納する格納工程と、
を備えることを特徴とする制御方法。
【請求項８】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって情報処理装置が実行する制御方法であって、
描画手段が、前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画工程と、
通知要求受信手段が、前記オペレーティングシステムの制御下で動作する第２プログラムから、前記第１プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第２プログラムに通知するように要求する通知要求を受信する通知要求受信工程と、
格納手段が、前記通知要求を前記メモリに格納する格納工程と、
ドラッグ情報受信手段が、前記第１プログラムから前記ドラッグ情報を受信するドラッグ情報受信工程と、
通知手段が、前記受信工程において前記ドラッグ情報が受信された場合に、前記メモリに格納されている通知要求に対応する前記第２プログラムに対して当該ドラッグ情報を通知する通知工程と、
を備えることを特徴とする制御方法。
【請求項９】
コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムの制御下で動作するプログラムにしたがって情報処理装置が実行する制御方法であって、
検出手段が、前記オペレーティングシステムが描画した、当該オペレーティングシステムの制御下で動作する他のプログラムのウインドウにおいて、オブジェクトがドラッグされたことを検出する検出工程と、
取得手段が、オブジェクトがドラッグされたことを前記検出工程で検出した場合に、当該オブジェクトに関するドラッグ情報を前記他のプログラムから取得する取得工程と、
を備えることを特徴とする制御方法。
【請求項１０】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、
前記第１プログラムから、前記第１プログラムのウインドウにおいてドラッグされたオブジェクトに関するドラッグ情報を受信する受信手段と、
前記オペレーティングシステムの制御下で動作する第２プログラムからアクセス可能な共有領域を前記メモリに割り当てる割り当て手段と、
前記ドラッグ情報を前記共有領域に格納する格納手段と、
として機能させるためのオペレーティングシステム。
【請求項１１】
メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、
前記オペレーティングシステムの制御下で動作する第２プログラムから、前記第１プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第２プログラムに通知するように要求する通知要求を受信する通知要求受信手段と、
前記通知要求を前記メモリに格納する格納手段と、
前記第１プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、
前記受信手段において前記ドラッグ情報が受信された場合に、前記メモリに格納されている通知要求に対応する前記第２プログラムに対して当該ドラッグ情報を通知する通知手段と、
として機能させるための特徴とするオペレーティングシステム。
【請求項１２】
コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムの制御下で動作するプログラムであって、前記コンピュータを、
前記オペレーティングシステムが描画した、当該オペレーティングシステムの制御下で動作する他のプログラムのウインドウにおいて、オブジェクトがドラッグされたことを検出する検出手段と、
オブジェクトがドラッグされたことを前記検出手段で検出した場合に、当該オブジェクトに関するドラッグ情報を前記他のプログラムから取得する取得手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステム、プログラム、情報処理装置および制御方法に関し、特に、マルチウインドウシステムにおいてドラッグされたオブジェクトに関する情報を扱う技術に関する。
【背景技術】
【０００２】
現在、コンピュータ上でマルチウインドウシステムを実現するオペレーティングシステム（ＯＳ）（例えば、Ｗｉｎｄｏｗｓ（登録商標））が普及している。マルチウインドウシステムでは、図８に示すように、１つの表示画面１８００上に複数のウインドウ１８０１及び１８０２を表示することが可能である。
【０００３】
ここで、表示画面１８００において、ウインドウ１８０１に表示されているオブジェクト（例えば、ファイル）をドラッグ＆ドロップすることにより、ウインドウ１８０２を司るアプリケーションにこのオブジェクトを移動したりコピーしたりすることを考える。この場合、ウインドウ１８０２がウインドウ１８０１の下に隠れていてオブジェクトのドロップを受け付けることができない。そこで、ユーザはドラッグ＆ドロップに先立ち、ウインドウ１８０１内のドラッグ＆ドロップ対象のオブジェクトとウインドウ１８０２内のドロップ領域の少なくとも一部とが重ならずに表示されるよう、各ウインドウの位置を調整する必要がある（図９参照）。
【０００４】
ドラッグ＆ドロップに伴うユーザの操作負担を軽減するいくつかの技術が提案されている。
【０００５】
特許文献１によれば、画面に表示されたアイコンのドラッグ操作が開始されたことを、ＯＳが全てのウインドウに通知する。各ウインドウはドラッグされたアイコンの属性情報によって、ドラッグ操作に対応可能か否かの判断を行い、ウインドウを非表示の状態にするか、表示の状態にする。
【０００６】
特許文献２によれば、ドラッグ操作を開始すると、ドラッグされたオブジェクトのドロップ先となるアプリケーションに該当するウインドウをマルチウインドウ環境の最前面に表示してアクティブ化する。
【０００７】
特許文献３によれば、ファイルブラウザやデスクトップ上のアイコンのドラッグ操作を開始すると、ドラッグ開始位置の近傍にドロップ対象一覧ウインドウを最前面化して表示する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−１８５３０１号公報
【特許文献２】特開２００３−１０８２８１号公報
【特許文献３】特開２０００−５６８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の技術では、ドラッグ対象のオブジェクトに関する情報をＯＳが全てのウインドウ（少なくとも、このオブジェクトを処理可能な全てのウインドウ）に対して通知していた。換言すれば、ドラッグ対象のオブジェクトの処理を希望しないプログラムに対しても、通知が行われていた。従って、ＯＳが管理しているウインドウの数が多い場合などに特に、コンピュータにとっての処理負荷が大きくなるという問題があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、マルチウインドウシステムにおいて、ドラッグされたオブジェクトに関する情報をより効率的に伝達する技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、第１の本発明は、メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、前記第１プログラムから、前記第１プログラムのウインドウにおいてドラッグされたオブジェクトに関するドラッグ情報を受信する受信手段と、前記オペレーティングシステムの制御下で動作する第２プログラムからアクセス可能な共有領域を前記メモリに割り当てる割り当て手段と、前記ドラッグ情報を前記共有領域に格納する格納手段と、として機能させるためのオペレーティングシステムを提供する。
【００１２】
また、第２の本発明は、メモリを有するコンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、前記表示画面に、前記オペレーティングシステムの制御下で動作する第１プログラムのウインドウを描画する描画手段と、前記オペレーティングシステムの制御下で動作する第２プログラムから、前記第１プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第２プログラムに通知するように要求する通知要求を受信する通知要求受信手段と、前記通知要求を前記メモリに格納する格納手段と、前記第１プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、前記受信手段において前記ドラッグ情報が受信された場合に、前記メモリに格納されている通知要求に対応する前記第２プログラムに対して当該ドラッグ情報を通知する通知手段と、として機能させるための特徴とするオペレーティングシステムを提供する。
【００１３】
また、第３の本発明は、コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムの制御下で動作するプログラムであって、前記コンピュータを、前記オペレーティングシステムが描画した、当該オペレーティングシステムの制御下で動作する他のプログラムのウインドウにおいて、オブジェクトがドラッグされたことを検出する検出手段と、オブジェクトがドラッグされたことを前記検出手段で検出した場合に、当該オブジェクトに関するドラッグ情報を前記他のプログラムから取得する取得手段と、として機能させるためのプログラムを提供する。
【００１４】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【００１５】
以上の構成により、本発明によれば、マルチウインドウシステムにおいて、ドラッグされたオブジェクトに関する情報をより効率的に伝達することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施例１に係るＯＳとアプリケーションとを実行するパーソナルコンピュータ（ＰＣ）１００の構成を示すブロック図である。
【図２】実施例１におけるＯＳ及びアプリケーションの動作の概要を示す図である。
【図３】実施例１においてＯＳがドラッグ情報を受信して共有領域に格納する処理の流れを示すフローチャートである。
【図４】実施例２におけるＯＳ及びアプリケーションの動作の概要を示す図である。
【図５】実施例２においてＯＳがドラッグ情報の通知要求を格納し、通知要求に従ってドラッグ情報をアプリケーションに対して通知する処理の流れを示すフローチャートである。
【図６】実施例３におけるアプリケーションの動作の概要を示す図である。
【図７】実施例３におけるアプリケーションの動作の流れを示すフローチャートである。
【図８】背景技術を説明する図である。
【図９】背景技術を説明する図である。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して、本発明の実施例を説明する。以下で説明される個別の実施例は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。
【００１８】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施例によって限定されるわけではない。また、実施例の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１９】
また、以下の各実施例で利用するオペレーティングシステム（ＯＳ）は、Ｗｉｎｄｏｗｓ（登録商標）である。しかし、他のＯＳを利用する場合であっても、利用するプログラム関数などが異なるだけで基本的なコンセプトは変わらない。従って、本実施例は、Ｗｉｎｄｏｗｓ（登録商標）に限定されず、コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するものであれば、いかなるＯＳを利用しても構わない。
【実施例１】
【００２０】
図１は、実施例１に係るＯＳとアプリケーションとを実行するパーソナルコンピュータ（ＰＣ）１００（情報処理装置）の構成を示すブロック図である。
【００２１】
図１に示すように、ＰＣ１００は、ＣＲＴ１０１、ＶＲＡＭ１０２、ＢＭＵ１０３、キーボード１０４、ＰＤ１０５、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８、ＨＤＤ１０９、ＦＤＤ１１０、及びネットワークＩ／Ｆ１１１を有する。
【００２２】
ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）１０１には、例えば編集中の文書、図形、画像、その他の編集情報、アイコン、メッセージ、メニュー、その他のユーザインタフェースなどの情報が表示される。
【００２３】
ＶＲＡＭ１０２には、ＣＲＴ１０１に表示するための画像が描画される。このＶＲＡＭ１０２に描画された画像データは、所定の規定に従ってＣＲＴ１０１に転送され、これによりＣＲＴ１０１に画像が表示される。
【００２４】
ＢＭＵ（ビットムーブユニット）１０３は、例えば、メモリ間（例えば、ＶＲＡＭ１０２と他のメモリとの間）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークＩ／Ｆ１１１）との間のデータ転送を制御する。
【００２５】
キーボード１０４は、文書等を入力するための各種キーを有する。
【００２６】
ＰＤ（ポインティングデバイス）１０５は、例えば、ＣＲＴ１０１に表示されたアイコン、メニュー、その他のコンテンツを指示するために使用される。
【００２７】
ＣＰＵ１０６は、ＲＯＭ１０７、ＨＤＤ１０９、又はフレキシブルディスク（ＦＤ）に格納された制御プログラムに基づいて、各デバイスを制御する。
【００２８】
ＲＯＭ１０７は、各種制御プログラムやデータを保存する。
【００２９】
ＲＡＭ１０８は、ＣＰＵ１０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。
【００３０】
ＨＤＤ１０９は、ＰＣ１００内で実行される各制御プログラムやコンテンツを格納する。
【００３１】
例えば、ＨＤＤ１０９には、ブラウザ、ＯＳ、アプリケーションプログラム、画像ファイル、ドキュメントファイル、音楽ファイル、電子アルバムデータ、電子アルバム編集プログラムなどが格納される。
【００３２】
ＦＤＤ１１０は、フロッピー（登録商標）等に代表されるＦＤに対するアクセスを制御する。
【００３３】
ネットワークＩ／Ｆ１１１は、他のＰＣやプリンタ等とネットワークを介して通信を行う。
【００３４】
ＣＰＵバス１１２は、アドレスバス、データバス、及びコントロールバスを含む。
【００３５】
ＣＰＵ１０６に対する制御プログラムの提供は、ＲＯＭ１０７、ＨＤＤ１０９、ＦＤＤ１１０から行うこともできるし、ネットワークＩ／Ｆ１１１を介してネットワーク経由で他のＰＣ等から行うこともできる。
【００３６】
以下の説明で、ＯＳ、ブラウザ、各アプリケーションプログラムおよびそれらのウインドウが実行する動作は、ＣＰＵ１０６がこれらをＨＤＤ１０９から読み出して起動し、上述の各モジュールを制御することにより実現される。
【００３７】
図２は、実施例１におけるＯＳ及びアプリケーションの動作の概要を示す図である。図２において、画面２００は、ＯＳによってＣＲＴ１０１に表示される表示画面である。ウインドウ２０１は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト２０７（例えば、ファイルアイコン）を含む。ウインドウ２０２及びウインドウ２０３はそれぞれ、別々のアプリケーションのウインドウである。共有領域２０５は、ＯＳがＲＡＭ１０８などのメモリに割り当てた共有領域であり、ＯＳの制御下で動作する各アプリケーションからアクセス可能である。
【００３８】
ウインドウ２０１においてオブジェクト２０７がドラッグされると、矢印２０４に示すように、ウインドウ２０１のアプリケーション（第１プログラム）はオブジェクト２０７に関する情報（ドラッグ情報）を共有領域２０５に格納する。
【００３９】
これにより、他のアプリケーション、例えばウインドウ２０３のアプリケーション（第２プログラム）は、矢印２０６に示すように、共有領域２０５を参照することによってドラッグ情報を取得することができる。
【００４０】
なお、ドラッグ情報には例えば、ドラッグ対象のオブジェクトに関連づけられたデータと、このデータの種別（例えば、ＪＰＥＧ、ＴＥＸＴ等のファイルタイプ）とのうちの少なくとも一方が含まれる。
【００４１】
図３は、実施例１においてＯＳがドラッグ情報を受信して共有領域に格納する処理の流れを示すフローチャートである。本フローチャートの各ステップの処理は、ＰＣ１００のＣＰＵ１０６が、特に断らない限り、ＯＳやアプリケーション（例えば、ウインドウ２０１−２０３のアプリケーション）を実行することによって実現される。これは、以下の各フローチャートにおいても同様である。
【００４２】
Ｓ３０１で、ウインドウ２０１においてドラッグが開始されると、ウインドウ２０１のアプリケーション（ドラッグ開始アプリケーション）は、ドラッグ対象のオブジェクトが存在するか否かを判定する。例えば範囲指定などのためにドラッグが行われた場合はドラッグ対象のオブジェクトが存在しないので、処理は終了する。そうでなければ、処理はＳ３０２に進む。Ｓ３０２で、ドラッグ開始アプリケーションは、ＯＳに対してドラッグ情報を送信する。
【００４３】
ＯＳは、Ｓ３０３で、ドラッグ開始アプリケーションからドラッグ情報を受信し、ＲＡＭ１０８に共有領域２０５を割り当てる。共有領域２０５は、他のウインドウから参照できるセキュリティ属性を持つ。但し、共有領域２０５の割り当ては、事前に行われても構わない。次いでＳ３０４で、ＯＳは、ドラッグ情報を共有領域２０５に格納する。
【００４４】
Ｓ３０４の処理が実行されると、ウインドウ２０３のアプリケーション（ドラッグ情報取得アプリケーション）は、Ｓ３０５で、ＯＳのマウスイベントを検知し、ドラッグが行われたか否か判定する。ドラッグが行われていれば、Ｓ３０６で、ウインドウ２０３のアプリケーションは共有領域２０５からドラッグ情報を取得する。
【００４５】
図３においてはウインドウ２０３のアプリケーションをドラッグ情報取得アプリケーションとして説明したが、代わりに、或いはこれに加えて、ウインドウ２０２のアプリケーションがドラッグ情報取得アプリケーションとして動作してもよい。
【００４６】
従って、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得するので、ドラッグ情報がより効率的に伝達され、ＰＣ１００の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。
【実施例２】
【００４７】
実施例２でも、実施例１のＰＣ１００（図１参照）を利用する。
【００４８】
図４は、実施例２におけるＯＳ及びアプリケーションの動作の概要を示す図である。図４において、画面４００は、ＯＳによってＣＲＴ１０１に表示される表示画面である。ウインドウ４０１は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト４０９（例えば、ファイルアイコン）を含む。ウインドウ４０２−４０５はそれぞれ、別々のアプリケーションのウインドウである。
【００４９】
他のアプリケーションにおけるドラッグ情報の取得を欲するアプリケーション（例えば、ウインドウ４０３のアプリケーション）は、矢印４０６に示すように、ＯＳに対してイベント取得登録（通知要求）を行う。これにより、イベント取得リスト４０７に、ウインドウ４０３が登録される。
【００５０】
ウインドウ４０１においてオブジェクト４０９がドラッグされると、矢印４０８に示すように、ウインドウ４０１のアプリケーションはＯＳに対してドラッグ情報を送信する。ドラッグ情報を受信したＯＳは、イベント取得リスト４０７に従って、ドラッグ情報を各アプリケーションに対して順次送信する。これにより、ウインドウ４０３のアプリケーションは、ドラッグ情報を取得することができる。
【００５１】
図５は、実施例２においてＯＳがドラッグ情報の通知要求を格納し、通知要求に従ってドラッグ情報をアプリケーションに対して通知する処理の流れを示すフローチャートである。
【００５２】
Ｓ５０１で、ドラッグ情報取得アプリケーション（例えば、ウインドウ４０３のアプリケーション）は、実行に必要な初期化処理を行う。Ｓ５０２で、ドラッグ情報取得アプリケーションは、ＯＳに対してドラッグ情報の通知要求を送信する（即ち、イベント取得登録を行う）。Ｓ５０３で、ＯＳは、通知要求を受信し（通知要求受信手段）、これをＲＡＭ１０８に格納する。
【００５３】
なお、不図示ではあるが、イベントにはドラッグイベントの他にもキーボードやマウスなどの入力イベントやウインドウの生成や表示などイベントが存在する。従って、必要のないイベントを取得できなうようにするためにフィルタリング設定ができることは言うまでもない。また、複数のアプリケーションがドラッグ情報取得アプリケーションとして動作してもよい。
【００５４】
次に、ドラッグ開始アプリケーションがＳ３０１及びＳ３０２の処理を行うが、これは実施例１と同様である（図３参照）。
【００５５】
その後、Ｓ５０４で、ＯＳは、ドラッグ情報を受信し（ドラッグ情報受信手段）、且つ、フィルタ設定の条件に基づき、ドラッグ情報を取得するように設定されている通知要求をＲＡＭ１０８から取得する。
【００５６】
Ｓ５０５で、ＯＳは、通知要求を参照する変数ＩＮＤＥＸを０に設定し、Ｓ５０４で取得した通知要求の数を変数ＣＯＵＮＴに設定する。Ｓ５０６で、ＯＳは、変数ＩＮＤＥＸ＜変数ＣＯＵＮＴであるか否かを判定し、ＹｅｓであればＳ５０７へ、ＮｏであればＳ５１１へ進む。
【００５７】
Ｓ５０７で、ＯＳは、変数ＩＮＤＥＸの示す通知要求に対応するドラッグ情報取得アプリケーションに対して、ドラッグ情報を通知する。ドラッグ情報取得アプリケーションはＳ５０８でこのドラッグ情報を受信する。Ｓ５０９で、ＯＳは変数ＩＮＤＥＸに１を加算して、Ｓ５０６に戻る。
【００５８】
また、ドラッグ情報取得アプリケーションは、例えばアプリケーション終了時などに、通知要求を削除することができる。
【００５９】
まず、Ｓ５１０で、ドラッグ情報取得アプリケーションは通知要求の削除を要求（削除要求）をＯＳに対して送信する。ＯＳは削除要求を受信する（削除要求受信手段）と、Ｓ５１１で、この削除要求を送信したドラッグ情報取得アプリケーションに対応する通知要求をＲＡＭ１０８から削除する。最後に、Ｓ５１２で、ドラッグ情報取得アプリケーションは終了に必要な終了処理を行う。
【００６０】
なお、通知要求はＯＳ管理しており、ドラッグ情報取得アプリケーションの終了をＯＳは知ることができるので、ドラッグ情報取得アプリケーションの終了に合わせてＯＳが自動的に通知要求を削除してもよい。また、ドラッグ情報取得アプリケーションは、図５に示すタイミング以外の任意のタイミングで削除要求を送信することができる。
【００６１】
以上の処理により、ウインドウ４０３のアプリケーションなどのように、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得することができる。
【００６２】
従って、ドラッグ情報がより効率的に伝達され、ＰＣ１００の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。
【００６３】
なお、本実施例ではＳ５０６−Ｓ５０９においてループ処理を行っているが、イベント取得の情報（通知要求）をチェインにしてドラッグ情報を通知したり、通知要求ごとにスレッド化してドラッグ情報を通知したりしてもよい。
【実施例３】
【００６４】
実施例３でも、実施例１のＰＣ１００（図１参照）を利用する。
【００６５】
図６は、実施例３におけるアプリケーションの動作の概要を示す図である。図６において、画面６００は、ＯＳによってＣＲＴ１０１に表示される表示画面である。ウインドウ６０１は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト６０４（例えば、ファイルアイコン）を含む。ウインドウ６０２は、別のアプリケーションのウインドウである。
【００６６】
画面６００において、ウインドウ６０２のアプリケーションは矢印６０３に示すように、ドラッグを開始したウインドウ６０１にドラッグ情報を問い合わせることにより、ドラッグ情報を取得できる。
【００６７】
図７は、実施例３におけるアプリケーションの動作の流れを示すフローチャートである。
【００６８】
Ｓ７０１で、ドラッグ情報取得アプリケーション（ウインドウ６０２のアプリケーション）は、他のプログラムであるドラッグ開始アプリケーション（ウインドウ６０１のアプリケーション）においてオブジェクト６０４がドラッグされたことを検出する。
【００６９】
Ｓ７０２で、ドラッグ情報取得アプリケーションは、Ｓ７０１で検出したアプリケーションに対してドラッグ情報を要求し、Ｓ７０３で、ドラッグ開始アプリケーションは要求に応えてドラッグ情報を返信する。
【００７０】
本実施例では、ＯＳで規定されているウィンドウメッセージを利用してドラッグ情報取得アプリケーションとドラッグ開始アプリケーションとが通信することができる。或いは、セマッフォなどの仕組みを利用して構築したプロセス間通信の技術を利用して通信が実現されてもよい。
【００７１】
以上の処理により、ウインドウ６０２のアプリケーションなどのように、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得することができる。
【００７２】
従って、ドラッグ情報がより効率的に伝達され、ＰＣ１００の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。
【００７３】
［その他の実施例］
上述した各実施例の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記録媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施例の機能が実現される。この場合、記録媒体から読み出されたプログラムコード自体が上述した各実施例の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。このようなプログラムコードを供給するための記録媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００７４】
また、上述した各実施例の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含まれている。
【００７５】
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含むものである。
【図１】
2010250703.tif 000003
【図２】
2010250703.tif 000004
【図３】
2010250703.tif 000005
【図４】
2010250703.tif 000006
【図５】
2010250703.tif 000007
【図６】
2010250703.tif 000008
【図７】
2010250703.tif 000009
【図８】
2010250703.tif 000010
【図９】
2010250703.tif 000011