(57)【要約】【課題】  リモートデスクトップ接続元のコンピュータにインストールされているソフトウェアの画面に対して、接続先のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまう可能性がある。【解決手段】  情報処理装置により実行されているソフトウェアの画面を最前面で表示する設定を行う設定手段と、前記情報処理装置とは異なる別の情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認手段と、を有する情報処理装置において、前記設定手段は、前記確認手段によりリモートデスクトップ接続が行われていることが確認され、かつ、前記ソフトウェアの画面を最前面で表示する設定が行われている場合、前記ソフトウェアの画面を最前面で表示する設定を解除することを特徴とする。【選択図】  図６
2019008469.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置により実行されているソフトウェアの画面を最前面で表示する設定を行う設定手段と、
前記情報処理装置とは異なる別の情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認手段と、を有する情報処理装置において、
前記設定手段は、前記確認手段によりリモートデスクトップ接続が行われていることが確認され、かつ、前記ソフトウェアの画面を最前面で表示する設定が行われている場合、前記ソフトウェアの画面を最前面で表示する設定を解除することを特徴とする情報処理装置。
【請求項２】
前記設定手段による前記設定の解除により、前記ソフトウェアの画面の少なくとも一部は、前記別の情報処理装置のデスクトップ画面を表示するウィンドウによって隠されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記別の情報処理装置のデスクトップ画面を表示するウィンドウが操作中であるか否かを判定する判定手段を更に有し、
前記設定手段は、
前記ウィンドウが操作中でないと前記判定手段が判定した場合、前記ソフトウェアの画面を最前面で表示する設定を行い、
前記ウィンドウが操作中であると前記判定手段が判定した場合、前記ソフトウェアの画面を最前面で表示する設定を解除することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記確認手段によりリモートデスクトップ接続が行われていないことが確認された場合、前記ソフトウェアの画面を最前面で表示する設定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
ユーザの指示に基づき、前記情報処理装置が保持するファイルを前記ソフトウェアの画面に対してドラッグアンドドロップ操作が可能であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
情報処理装置により実行されているソフトウェアの画面の表示を変更する変更手段と、
リモートデスクトップ接続中の別の情報処理装置のデスクトップ画面を表示するためのウィンドウが操作中であるか否かを判定する判定手段と、を有する情報処理装置において、
前記変更手段は、前記別の情報処理装置のデスクトップ画面を表示するための前記ウィンドウが操作中であると前記判定手段が判定した場合に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示す前記ソフトウェアの画面の表示に変更することを特徴とする情報処理装置。
【請求項７】
前記変更手段は、前記別の情報処理装置のデスクトップ画面を表示する前記ウィンドウが操作中でないと前記判定手段が判定した場合に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示さない前記ソフトウェアの画面の表示に変更することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記判定手段は、さらに、前記ウィンドウ内のファイルが操作されたか否かを判定し、
前記変更手段は、
前記ウィンドウ内のファイルが操作されたと前記判定手段が判定した場合に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示す前記ソフトウェアの画面の表示に変更し、
前記ウィンドウ内のファイルが操作されていないと前記判定手段が判定した場合に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示さない前記ソフトウェアの画面の表示に変更することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
情報処理装置により実行されているソフトウェアの画面の表示を変更する変更手段と、
前記情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置とは異なる別の情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認手段と、を有する情報処理装置において、
前記変更手段は、前記確認手段によりリモートデスクトップ接続が行われていることが確認された場合であって、前記別の情報処理装置の表示部で表示される前記ウィンドウに対して所定時間の間、操作がない際に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示す前記ソフトウェアの画面の表示に変更することを特徴とする情報処理装置。
【請求項１０】
情報処理装置により実行されているソフトウェアの画面を最前面で表示する設定を行う設定工程と、
前記情報処理装置とは異なる別の情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認工程と、を有する情報処理装置の制御方法において、
前記設定工程では、前記確認工程でリモートデスクトップ接続が行われていることが確認され、かつ、前記ソフトウェアの画面を最前面で表示する設定が行われている場合、前記ソフトウェアの画面を最前面で表示する設定が解除されることを特徴とする制御方法。
【請求項１１】
情報処理装置により実行されているソフトウェアの画面の表示を変更する変更工程と、
リモートデスクトップ接続中の別の情報処理装置のデスクトップ画面を表示するためのウィンドウが操作中であるか否かを判定する判定工程と、を有する情報処理装置の制御方法において、
前記変更工程では、前記別の情報処理装置のデスクトップ画面を表示するための前記ウィンドウが操作中であると前記判定工程で判定された場合に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示す前記ソフトウェアの画面の表示に変更されることを特徴とする制御方法。
【請求項１２】
情報処理装置により実行されているソフトウェアの画面の表示を変更する変更工程と、
前記情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置とは異なる別の情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認工程と、を有する情報処理装置の制御方法において、
前記変更工程では、前記確認工程でリモートデスクトップ接続が行われていることが確認された場合であって、前記別の情報処理装置の表示部で表示される前記ウィンドウに対して所定時間の間、操作がない際に、前記ソフトウェアの画面に対してドラッグアンドドロップ操作が不可能であることを示す前記ソフトウェアの画面の表示に変更されることを特徴とする制御方法。
【請求項１３】
請求項１乃至５のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【請求項１４】
請求項６乃至８のいずれか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項９に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの表示を変更する情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
手元のコンピュータからネットワークで接続されたコンピュータのＧＵＩやデスクトップ環境を操作することが可能なリモートデスクトップという技術が知られている。例えば、リモート環境のコンピュータを主のコンピュータとして、出張先のコンピュータを使い、手元に主のコンピュータがあるかのように処理を実行できるという利便性から、このリモートデスクトップが広く普及している。
【０００３】
特許文献１には、リモートデスクトップ接続されているローカルモジュールとリモートモジュールとの間で、オブジェクトのドラッグアンドドロップを実現する技術が開示されている。特許文献１によれば、リモートデスクトップ接続先のウィンドウ領域からマウスアイコンが出入りしたことを検知することで、ローカルモジュールとリモートモジュールとの間でオブジェクトのドラッグアンドドロップをすることができる。この技術を利用すると、リモートデスクトップを介し、別のコンピュータ上で起動しているソフトウェアに対してオブジェクトをドラッグアンドドロップすることが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５４０４２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在の一般的なリモートデスクトップ接続では、特許文献１に記載されている技術は採用されていない。しかしながら、ユーザは、接続元（または接続先）のコンピュータにインストールされているソフトウェアの画面に対して、接続先（または接続元）のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまう可能性がある。それは、例えば、接続元のコンピュータにインストールされていて、最前面に表示される設定が行われているソフトウェアの画面が、接続先のコンピュータのデスクトップ画面を表示するウィンドウの前面に表示される場合などである。このような場合、ユーザは接続先のコンピュータが保持するファイルをドラッグアンドドロップ操作できると勘違いするおそれがある。ここで、ソフトウェアの画面の背面に接続先のデスクトップ画面上のアイコンが存在した場合、ユーザによるドラッグアンドドロップ操作が、後ろに隠れていたアイコンに対して行われ、結果としてユーザが意図しない処理が実行されてしまう。例えば、前面に表示されているソフトウェアの描画領域の下にゴミ箱のアイコンが隠れていた場合、オブジェクトはリモートデスクトップ接続先のゴミ箱にドロップされてしまう。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、情報処理装置により実行されているソフトウェアの画面を最前面で表示する設定を行う設定手段と、前記情報処理装置とは異なる別の情報処理装置のデスクトップ画面を表示するためのウィンドウを前記情報処理装置の表示部で表示可能とするリモートデスクトップ接続が行われているか否かを確認する確認手段と、を有する情報処理装置において、前記設定手段は、前記確認手段によりリモートデスクトップ接続が行われていることが確認され、かつ、前記ソフトウェアの画面を最前面で表示する設定が行われている場合、前記ソフトウェアの画面を最前面で表示する設定を解除することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、接続元（または接続先）のコンピュータにインストールされているソフトウェアの画面に対して、接続先（または接続元）のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまうことを防ぐことができる。
【図面の簡単な説明】
【０００８】
【図１】システム構成の一例を示す図
【図２】ハードウェア構成を示す図
【図３】ソフトウェア構成を示す図
【図４】ソフトウェアの設定情報示す図
【図５】実施例１におけるデスクトップ画面を示す図
【図６】実施例１のソフトウェア３００による処理の流れを示すフローチャート
【図７】実施例１のソフトウェア３００による処理の流れを示すフローチャート
【図８】実施例１のソフトウェア３００による処理の流れを示すフローチャート
【図９】実施例２におけるデスクトップ画面を示す図
【図１０】実施例２のソフトウェア３００による処理の流れを示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
（実施例１）
［システム構成］
図１は、本発明の一実施形態におけるシステム構成の一例を示す図である。本実施形態は、２つ以上の情報処理装置がネットワークを介して通信可能なシステムである。
【００１１】
本実施形態において、１００Ａ、１００Ｂはコンピュータである。１００Ａは、１００Ｂへリモートデスクトップ接続を行う、接続元のコンピュータであって、１００Ｂは、１００Ａからリモートデスクトップ接続される、接続先のコンピュータである。リモートデスクトップ接続により、別の情報処理装置のデスクトップ画面を表示するためのウィンドウを情報処理装置の表示部で表示可能となる。以降それぞれのコンピュータをＰＣ１００Ａ、ＰＣ１００Ｂと呼称する。なお、ＰＣ１００Ｂは複数台あっても良い。
【００１２】
１１０はコンピュータに接続されているＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、ＬＡＮ１１０を介して各コンピュータは情報の相互通信を行っている。なお、本実施形態のシステムが備えるＰＣ１００Ａ、ＰＣ１００Ｂのネットワーク接続としては、Ｅｔｈｅｒｎｅｔ（登録商標）、Ｗｉ−Ｆｉ（登録商標）など、有線、無線を問わずに採用できる。
【００１３】
［ハードウェア構成］
図２は、ＰＣ１００Ａのハードウェア構成の一例を示す図である。なお、ＰＣ１００Ｂも同様のハードウェア構成を備える。
【００１４】
ＰＣ１００Ａは、ユーザ操作入力を受信する入力デバイスであるキーボード２０５とポインティングデバイス２０６が設けられている。
【００１５】
キーボード２０５は、ＰＣ１００Ａに対して文字や数字などの情報を入力する装置である。キーボードは、例えば、仮名や英文字などを入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
【００１６】
ポインティングデバイス２０６は、例えばマウスなどを備える。ユーザが、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを用いてＰＣ１００Ａを操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、ＰＣ１００Ａが、インストールされたソフトウェアを表すアイコンを表示部２０２上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、ＣＰＵ２０１がソフトウェアを起動する。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部２０２を備える。
【００１７】
表示部２０２は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部２０２は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面（例えばユーザインターフェース）等を表示する。
【００１８】
さらに、ＰＣ１００Ａは動作を制御するための手段であるＣＰＵ２０１、ＲＡＭ２０３、ＲＯＭ２０４、ＨＤＤ２０７を備える。本実施形態に特有の動作として、ＣＰＵ２０１は、ＰＣ１００Ａ上では図３に示すソフトウェア３００、表示部３０１、制御部３０２の動作を制御する。ＣＰＵ２０１は、ＰＣ１００Ａのソフトウェア３００を実行し、所定のプログラムに従って、各種の演算、情報処理、ＰＣ１００Ａ全体の制御処理を行う。
【００１９】
ＲＡＭ２０３、ＲＯＭ２０４、ＨＤＤ２０７は本実施形態における各種プログラムや実行情報を保管する。また、ＣＤに記録されたデータを読み出すためのＣＤ−ＲＯＭドライバ２０８も設けていてもよい。ＲＡＭ２０３は、ＣＰＵ２０１によりＯＳ（オペレーティングシステム）や本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、ＲＡＭ２０３には、ＣＰＵ２０１がソフトウェアの起動やシステム内部の処理などを行うためのエリアが確保される。ＲＯＭ２０４は、ＣＰＵ２０１の各種制御を実行する各種制御プログラム、データ及びパラメータ等を記憶する記憶装置である。
【００２０】
ＨＤＤ２０７は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置とを備える補助記憶装置の一例である。本実施形態では、ＨＤＤ２０７は、ハードディスクを備えるローカルディスクである。なお、ＨＤＤ２０７が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。ＨＤＤ２０７には、図３に示すソフトウェア３００が記憶されている。また、ＨＤＤ２０７には、インターフェイスデバイスＩ／Ｏ２０９を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、ＨＤＤ２０７には、メモリ管理やファイル入出力管理などのクライアントを動作させるための基本ソフトウェアであるＯＳなどが記憶されている。
【００２１】
さらに、外部機器との通信を行うインターフェイスデバイスＩ／Ｏ２０９を備え、プログラム実行を行うＣＰＵ２０１を備える。なお、周辺機器との接続形態は有線／無線を問わない。インターフェイスデバイスＩ／Ｏ２０９は、ネットワーク（例えば、ＬＡＮやインターネット）を介して他の端末（Ｗｅｂサーバ、メールサーバなど）に接続する。インターネットを介した通信を行う場合には、例えば、ＴＣＰ／ＩＰ等のプロトコルが用いられる。
【００２２】
なお、本実施例で説明される処理は、ＲＯＭ２０４、またはＨＤＤ２０７に保存されたプログラムをＲＡＭ２０３にロードし、ＣＰＵ２０１で実行することによって実現される。
【００２３】
［ソフトウェア構成］
図３は、ソフトウェア構成の一例を示す図である。図３には、ＰＣ１００Ａを備え、ソフトウェアの表示変更に関する処理部を示す。なお、実施例２において、ＰＣ１００Ｂも図３で示すソフトウェア構成を備える。
【００２４】
ＰＣ１００Ａが備える各構成について説明する。ＰＣ１００Ａは、ソフトウェア３００を備える。ソフトウェア３００は、表示部３０１、制御部３０２、データ３０３で構成される。図３に示す例では、ＰＣ１００Ａには図示を省略するインストーラによってソフトウェア３００がインストールされているものとする。
【００２５】
ソフトウェア３００は、例えば、ファイル管理ソフト、画像編集ソフト、エディタソフト、ワードプロセッサソフト、表計算ソフト、データベースソフト、ガジェット等の任意のソフトウェアである。本実施例におけるソフトウェア３００は、ドラッグ状態のオブジェクトをドロップ可能なＧＵＩを備え、更にソフトウェアの画面を最前面で表示する機能等を有する。
【００２６】
表示部３０１は、ソフトウェア３００のユーザインターフェースの構築を行う。また、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して、ユーザからの各種入力操作の受け付けを処理する。
【００２７】
制御部３０２は、ソフトウェア制御に関する処理全般の機能を備える。例えば、ＯＳが出力するイベントを検知し、その情報を基に表示部３０１へソフトウェアの表示変更を指示する。データ３０３は、図４を用いて後述するソフトウェアの各種設定が保持されている。
【００２８】
本実施例で説明される処理は、ＲＯＭ２０４、またはＨＤＤ２０７に保存されたプログラムをＲＡＭ２０３にロードし、ＣＰＵ２０１で実行することによって実現される。
【００２９】
［ソフトウェアの設定情報］
図４は、ソフトウェアの設定情報の一例を示している。図４で示すソフトウェアの設定情報４００は、ソフトウェアが備えるＧＵＩ（画面）に関する最前面設定値４０１、４０２を保持する。
【００３０】
最前面設定値４０１は、ソフトウェア３００のＧＵＩを最前面表示するか否かを定義する設定値である。本値がｔｒｕｅである場合、ソフトウェア３００のＧＵＩは最前面表示され、ｆａｌｓｅの場合、ソフトウェア３００のＧＵＩは最前面表示されない。例えば、本値がｔｒｕｅの場合、他の画面（別のウィンドウ等）をソフトウェア３００のＧＵＩの上に移動させたとしても、最前面に表示される画面はソフトウェア３００のＧＵＩである。また、最前面設定値４０１はユーザが任意の操作で変更することができる。例えば、ソフトウェア３００のＧＵＩをマウス操作で右クリックし、コンテキストメニュー等から最前面設定値４０１を変更できる。なお、最前面設定値４０１の変更方法は前記操作に限ったものとしない。
【００３１】
最前面設定の変更フラグ４０２は、最前面設定値４０１を制御部３０２が変更したかを定義する値である。デフォルト値はｆａｌｓｅである。制御部３０２が最前面設定値４０１を一度変更すると変更フラグ４０２はｔｒｕｅとなり、その後、制御部３０２が最前面設定値４０１を再び変更すると変更フラグ４０２はｆａｌｓｅとなる。
【００３２】
例えば、図６を用いて後述するフローチャートでの処理によって制御部３０２が最前面設定値４０１をｔｒｕｅからｆａｌｓｅへ自動で変更した場合、最前面設定の変更フラグ４０２はｔｒｕｅとなる。
【００３３】
［実施例１におけるデスクトップ画面］
図５は、ＰＣ１００ＡがＰＣ１００Ｂにリモートデスクトップ接続している際の、ＰＣ１００Ａのデスクトップ画面の一例を示している。ここでは実施例１における３パターンの課題と、それぞれに対する解決方法を示している。１つ目の課題は図５（Ａ１）及び（Ａ２）で示し、解決方法は図５（Ｂ１）及び（Ｂ２）で示す。２つ目の課題は図５（Ｃ１）で示し、解決方法は図５（Ｄ１）及び（Ｄ２）で示す。３つ目の課題は図５（Ｅ１）で示し、解決方法は図５（Ｆ１）及び（Ｆ２）で示す。これらのパターンについて、後述する実施例１に関するフローチャート（図６、図７、図８）と合わせて説明する。
【００３４】
図５で示す各項目について説明する。画面５００Ａは、接続元のＰＣ１００Ａのデスクトップ画面である。ウィンドウ５００Ｂは、接続先のＰＣ１００Ｂのデスクトップ画面を表示しているリモートデスクトップウィンドウである。このウィンドウ５００Ｂは、最小化、最大化、サイズ変更といったウィンドウ領域の拡縮機能を備える。図５（Ａ１）ではウィンドウ５００Ｂが最大化されておらず、図５（Ａ２）ではウィンドウ５００Ｂが最大化されている。同様に、図５（Ｂ１）ではウィンドウ５００Ｂが最大化されておらず、図５（Ｂ２）ではウィンドウ５００Ｂが最大化されている。
【００３５】
ソフトウェア画面５０１は、接続元のＰＣ１００Ａにインストールされていて、最前面表示の設定が行われている。
【００３６】
ソフトウェア画面５０２は、接続元のＰＣ１００Ａにインストールされていて、最前面表示の設定が行われていない（解除された）。ソフトウェア画面５０２の少なくとも一部は、ウィンドウ５００Ｂによって隠されている。
【００３７】
ソフトウェア画面５０３は、接続元のＰＣ１００Ａにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示していない。
【００３８】
ソフトウェア画面５０４は、接続元のＰＣ１００Ａにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示す。例えば、ソフトウェア画面５０４の色をグレーアウトにする、透過にする、ドラッグアンドドロップ操作不可能を示すマークを付与する、利用不可能な文字を表示する。このようにして、ソフトウェアに制限がある旨をユーザに知らせることができる。なお、ソフトウェアに制限がある旨を表現する方法は本実施例に限ったものとしない。
【００３９】
ファイル５１０は、ＰＣ１００Ｂ内に保持されていて、ドラッグアンドドロップ操作の対象となるオブジェクトである。ファイル５１０は、５００Ｂで示すウィンドウ内のファイルである。
【００４０】
なお、図５の各図では、ユーザが操作中の、アクティブ画面またはアクティブウィンドウを太線で示している。
【００４１】
［実施例１におけるソフトウェア３００の処理１］
接続先ＰＣ１００Ｂのデスクトップ画面を表示するためのウィンドウ上に、最前面表示の設定が行われている接続元ＰＣ１００Ａのソフトウェア画面が表示され続けることがある。この場合、そのソフトウェアに対してユーザがウィンドウ上のファイルを誤ってソフトウェア画面に対してドラッグアンドドロップしようとしてしまう可能性がある。
【００４２】
図５（Ａ１）及び（Ａ２）では、接続先のＰＣ１００Ｂのデスクトップ画面を表示しているウィンドウ５００Ｂに被って、接続元のＰＣ１００Ａにインストールされていて且つ最前面表示の設定が行われているソフトウェア画面５０１が表示される状態を示す。ここで、ユーザがファイル５１０をドラッグし、ソフトウェア画面５０１に対してドロップしようとしても、ドロップすることはできない。なぜなら、ソフトウェア画面５０１は、ＰＣ１００Ｂのデスクトップ画面を表示するためのウィンドウ５００Ｂ上でのイベントを検知できないからである。上述した特許文献１を適用したとしても、マウスアイコンがウィンドウ５００Ｂの領域外に出ないため、２つのコンピュータ間でオブジェクトをドラッグアンドドロップする条件を満たさず、ドロップイベントを検知できない。
【００４３】
また、最前面表示の設定が行われているソフトウェア画面５０１の背面に、ＰＣ１００Ｂのデスクトップ画面のアイコンが存在する場合がある。ユーザはファイル５１０をソフトウェア画面５０１にドロップしようとしたが、ソフトウェア画面５０１の背面にある別のアイコンに対してドロップ処理が実行されてしまうことが考えられる。ここで例えば、ソフトウェア画面５０１の背面にゴミ箱のアイコンが存在した場合、ドロップしたファイル５１０が、誤ってゴミ箱に格納されるという課題が発生する。
【００４４】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
【００４５】
図６は、ソフトウェア３００による処理の流れを示すフローチャートである。図１のＰＣ１００Ａ上で動作するソフトウェア３００を例に処理を説明する。本フローチャートでは、ソフトウェア画面５０１（５０２）の表示変更処理の一例を示す。
【００４６】
ＯＳが出力するイベントを制御部３０２が検知することによって、本フローチャートの処理が開始される。Ｓ１００１にて制御部３０２は、検知したＯＳのイベントの種類を判定する。ＯＳのイベントがリモートデスクトップ接続である場合、Ｓ１００２へ進み、リモートデスクトップ切断である場合、Ｓ１１０１へ進み、それ以外の場合、制御部３０２は処理を終了する。
【００４７】
リモートデスクトップ接続が行われていることを確認できた場合、Ｓ１００２にて制御部３０２は、最前面設定値４０１がｔｒｕｅであるかを判断する。はい（ｔｒｕｅ）の場合、Ｓ１００３へ進み、いいえ（ｆａｌｓｅ）の場合、制御部３０２は処理を終了する。
【００４８】
次に、Ｓ１００３にて制御部３０２は、最前面設定値４０１をｆａｌｓｅに変更する。最前面設定値４０１がｆａｌｓｅになったことに応じて、表示部３０１はソフトウェア画面５０１の最前面表示を解除する。即ち、図５（Ｂ１）及び（Ｂ２）で示すように、ソフトウェア画面５０１はリモートデスクトップウィンドウ５００Ｂの背面に隠れ、ユーザから視認できなくなる。
【００４９】
次に、Ｓ１００４にて制御部３０２は、最前面設定値４０１の値を変更したことを示す変更フラグ４０２をｔｒｕｅに変更し、処理を終了する。
【００５０】
一方、Ｓ１００１で判定されたイベントがリモートデスクトップ切断である場合、Ｓ１１０１にて制御部３０２は、最前面設定の変更フラグ４０２がｔｒｕｅかを判断する。はい（ｔｒｕｅ）の場合、Ｓ１１０２へ進み、いいえ（ｆａｌｓｅ）の場合、制御部３０２は処理を終了する。
【００５１】
リモートデスクトップ接続が行われていないことを確認できた場合、Ｓ１１０２にて制御部３０２は、最前面設定の変更フラグ４０２をｆａｌｓｅに変更する。
【００５２】
次に、Ｓ１１０３にて制御部３０２は、最前面設定値４０１がｔｒｕｅかを判断する。はい（ｔｒｕｅ）の場合、制御部３０２は処理を終了し、いいえ（ｆａｌｓｅ）の場合、Ｓ１１０４へ進む。
【００５３】
次に、Ｓ１１０４にて制御部３０２は、最前面設定値４０１をｔｒｕｅに変更する。最前面設定値４０１がｔｒｕｅになったことに応じて、表示部３０１はソフトウェア画面５０１を最前面に表示する。即ち、最前面表示の設定をオンにすることで、リモートデスクトップ接続前と同じ状態に戻る。
【００５４】
以上、リモートデスクトップ接続の有無に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のコンピュータを操作している時にドラッグアンドドロップ不可状態のソフトウェア画面がユーザから視認できなくなるため、意図しない誤操作をなくすことができるようになる。
【００５５】
［実施例１におけるソフトウェア３００の処理２］
リモートデスクトップ接続中にリモートデスクトップのウィンドウ５００Ｂを最大化せずに、デスクトップ画面５００Ａを操作することがある。前述の処理１を適用すると、リモートデスクトップ接続中は、ソフトウェア画面５０１が非最前面表示になるため、図５（Ｃ１）で示すように本来最前面で表示されるべきソフトウェア画面５０２が他のウィンドウの背面に隠れて表示されてしまう可能性がある。すると、ユーザがデスクトップ画面５００Ａを操作中にもかかわらずソフトウェア画面５０１が最前面表示されずに他のウィンドウの背面に隠れてしまうと、ユーザがソフトウェア画面５０２にファイルなどをドラッグアンドドロップする際の操作性が落ちる。
【００５６】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更手法について説明する。
【００５７】
図７は、ソフトウェア３００による処理の流れを示すフローチャートである。図１のＰＣ１００Ａ上で動作するソフトウェア３００を例に処理の流れを説明する。本フローでは、ソフトウェア画面５０１（５０２）の表示変更処理を実施する手法を示す。
【００５８】
ＯＳが出力するイベントを制御部３０２が検知することによって、本フローチャートの処理が開始される。Ｓ１２０１にて制御部３０２はアクティブ画面が変更されたかを判定する。はい（変更された）の場合、Ｓ１２０２へ進み、いいえ（変更されていない）の場合、処理を終了する。
【００５９】
次に、Ｓ１２０２にて、ソフトウェアの表示変更に関するサブルーチンを実行する。Ｓ１２０２の詳細な処理については、後述する図９、１０を用いて説明する。
【００６０】
次に、Ｓ１２０３にて制御部３０２は、最前面設定の変更フラグ４０２がｔｒｕｅかを判断する。はい（ｔｒｕｅ）の場合、Ｓ１２０４へ進み、いいえ（ｆａｌｓｅ）の場合、制御部３０２は処理を終了する。
【００６１】
次に、Ｓ１２０４にて制御部３０２は、リモートデスクトップウィンドウがアクティブか否かを判定する。いいえ（アクティブでない）の場合、Ｓ１２０５へ進み、はい（アクティブである）の場合、Ｓ１２０７へ進む。
【００６２】
次に、Ｓ１２０５にて制御部３０２は、最前面設定値４０１がｆａｌｓｅかを判断する。はい（ｆａｌｓｅ）の場合、Ｓ１２０６へ進み、いいえ（ｔｒｕｅ）の場合、処理を終了する。
【００６３】
次に、Ｓ１２０６にて制御部３０２は、最前面設定値４０１をｔｒｕｅに変更する。最前面設定値４０１がｔｒｕｅになったことに応じて、図５（Ｄ１）で示すように表示部３０１はソフトウェア画面５０１を最前面に表示して、処理を終了する。
【００６４】
次に、Ｓ１２０７にて制御部３０２は、最前面設定値４０１がｔｒｕｅかを判断する。はい（ｔｒｕｅ）の場合、Ｓ１２０８へ進み、いいえ（ｆａｌｓｅ）の場合、制御部３０２は処理を終了する。
【００６５】
次に、Ｓ１２０８にて制御部３０２は、最前面設定値４０１をｆａｌｓｅに変更する。最前面設定値４０１がｆａｌｓｅになったことに応じて、図５（Ｄ２）で示すように表示部３０１はソフトウェア画面５０１の最前面表示を解除し、処理を終了する。
【００６６】
以上、リモートデスクトップ接続中におけるアクティブ画面の状態に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェア画面５０１は使用可能な時に最前面で表示され、使用不可能な時に非最前面で表示されるため、デスクトップ画面の状態に応じて適切なソフトウェア画面の表示が可能となる。
【００６７】
［実施例１におけるソフトウェアの処理３］
ここまで、特許文献１の技術が適用されていたとしても起こりうる課題と、それに対する解決策とについて説明した。しかし、図５（Ｅ１）で示すように、一般的なＯＳに標準搭載されているリモートデスクトップには特許文献１の技術が適用されていない。多くのリモートデスクトップユーザはＯＳに標準搭載されているリモートデスクトップを使用するが、そのリモートデスクトップではユーザがファイル５１０をドラッグした状態でウィンドウ５００Ｂの領域外へ移動させると、カーソルにバツ印などが表示される。しかしながら、ウィンドウ５００Ｂの領域外へ移動させる前には、ユーザはファイル５１０をソフトウェア画面５０１へドラッグアンドドロップできないことを画面上の表示から判断できないため、誤操作する場合ある。
【００６８】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
【００６９】
図８は、ソフトウェア３００の処理のフロー図である。図１のＰＣ１００Ａ上で動作するソフトウェア３００を例に処理の流れを説明する。本フローでは、ソフトウェア画面５０１（５０３、５０４）の表示変更処理を実施する手法を示す。
【００７０】
本フローチャートにおける処理は、図７のＳ１２０２で行われる処理である。
【００７１】
Ｓ１３０１にて制御部３０２は、接続先のＰＣ１００Ｂで保持されるファイルを、接続元のＰＣ１００Ａにインストールされているソフトウェア画面５０１に対してドラッグアンドドロップ可能であるか否かを判断する。はい（可能である）の場合、制御部３０２は処理を終了する。具体的には、上述した特許文献１の技術を適用した場合などである。いいえ（可能でない）の場合、Ｓ１３０２へ進む。具体的には、一般的なＯＳに標準搭載されているリモートデスクトップの場合などである。
【００７２】
次に、Ｓ１３０２にて制御部３０２は、リモートデスクトップウィンドウ５００Ｂがアクティブであるか否かを判断する。いいえ（アクティブでない）の場合、Ｓ１３０３へ進み、はい（アクティブである）の場合、Ｓ１３０４へ進む。
【００７３】
次に、Ｓ１３０３にて表示部３０１は、図５（Ｆ１）で示すように、ソフトウェア画面５０１を、ドラッグアンドドロップ可能であることを示す表示に変更する。
【００７４】
次に、Ｓ１３０４にて表示部３０１は、図５（Ｆ２）で示すようにソフトウェア画面５０１を、ドラッグアンドドロップ不可能であることを示す表示に変更する。
【００７５】
なお、Ｓ１３０２にて制御部３０２は、モートデスクトップウィンドウ５００Ｂがアクティブであるか否かではなく、ユーザがファイル５１０をドラッグした（操作した）か否かを判断しても良い。ユーザがファイルをドラッグした場合、Ｓ１３０４へ進み、ユーザがファイルをドラッグしていない場合、Ｓ１３０３へ進むようにしてもよい。
【００７６】
以上、ソフトウェアのドラッグアンドドロップの実行可否に応じて、ソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェアに対してドラッグアンドドロップできない場合、ソフトウェアの画面をその旨を表現した描画に変更するため、ユーザの誤操作を防ぐことが可能となる。
【００７７】
（実施例２）
実施例１では、接続元のＰＣ１００Ａにインストールされているソフトウェア画面５０１の表示を変更する処理について説明した。実施例２では、接続先のＰＣ１００Ｂインストールされているソフトウェア画面５０３の表示を変更する処理について説明する。
【００７８】
［実施例２におけるデスクトップ画面］
図９は、ＰＣ１００Ａがリモートデスクトップを介してＰＣ１００Ｂに接続している際のデスクトップ画面の一例を示している。ここでは、実施例２における課題を挙げ、それに対する解決方法を示している。課題は図９（Ｇ１）で示し、解決方法は図９（Ｈ１）及び（Ｈ２）で示す。この解決方法について、後述する実施例２に関するフローチャート（図１０）と合わせて説明する。
【００７９】
［実施例２におけるソフトウェアの処理］
前述した実施例１では、リモートデスクトップ接続元のＰＣ１００Ａにインストールされているソフトウェア３００の表示を変更する処理について説明した。
【００８０】
しかしながら、実施例１と同様の方法では、リモートデスクトップ接続先のＰＣ１００Ｂにインストールされているソフトウェア３００を変更させることはできないという課題がある。
【００８１】
その課題について具体的に説明する。リモートデスクトップウィンドウ５００ＢはＰＣ１００Ａ（接続元）内に表示されている１つのウィンドウである。ここで、ＰＣ１００Ａ（接続元）はリモートデスクトップウィンドウ５００Ｂ（接続先）を１つのウィンドウとして認識できるため、該ウィンドウがアクティブ状態かを判断することができる。一方、ＰＣ１００Ｂ（接続先）は、リモートデスクトップ接続されているかどうかは判断できるが、リモートデスクトップウィンドウ５００Ｂがアクティブかどうかは判断できない。従って、ＰＣ１００Ｂ（接続先）は、ＰＣ１００Ａのデスクトップ画面上において、自身のリモートデスクトップウィンドウ５００Ｂが非アクティブになったことを検知できない。したがって、図９（Ｇ１）で示すように、ＰＣ１００Ｂ（接続先）は、ＰＣ１００Ｂ（接続先）にインストールされているソフトウェア画面を変更することができない。
【００８２】
そこで実施例２では、リモートデスクトップ接続先にインストールされているソフトウェアにおける、ソフトウェア画面の表示変更処理について説明する。本実施例において、システム構成やアプリケーションのＵＩなど、実施例１と同様の説明は省略する。
【００８３】
［実施例２におけるソフトウェアの処理］
図１０は、ソフトウェア３００の処理のフローチャートである。接続先のＰＣ１００Ｂ上で動作するソフトウェア３００を例に処理の流れを説明する。本フローでは、ソフトウェア画面５０３（５０４）の表示変更処理を実施する手法を示す。
【００８４】
ＯＳが出力するイベントを制御部３０２が検知することによって、本フローチャートの処理が開始される。Ｓ２００１にて制御部３０２は、ソフトウェア３００がリモートデスクトップ接続先のＰＣで起動しているかを判定する。はい（接続先）の場合、Ｓ１２０２へ進み、いいえ（接続元）の場合、処理を終了する。
【００８５】
次に、Ｓ２００２にて表示部３０１は、図９（Ｈ２）で示すように、ソフトウェア画面６１１をドラッグアンドドロップ可能であることを示す表示に変更する。
【００８６】
次に、Ｓ２００３にて制御部３０２は、ウィンドウ５００Ｂにおいてマウス操作やキーボード等の入力操作が所定時間の間にあったかを判断する。はい（入力操作が所定時間の間にあった）の場合、Ｓ２００４へ進み、いいえ（入力操作が所定時間の間になかった）の場合、Ｓ２００５へ進む。例えば、所定時間とは３０秒などである。その場合、制御部３０２は、３０秒の間における入力操作の有無に応じて、判断結果を決定する。従って、例えば前回の入力操作から１５秒後に制御部３０２が再び入力操作を検知した場合、Ｓ２００４へ進み。なお、所定時間のカウントは待機時間を計測するためのカウンターとして、ＲＡＭ２０３によって管理される。
【００８７】
次に、Ｓ２００４にて制御部３０２は、入力操作を受け付ける待機時間のカウンターを初期化する。
【００８８】
次に、Ｓ２００５にて表示部３０１は、図９（Ｈ１）で示すように、ソフトウェア画面６１１をドラッグアンドドロップ不可能であることを示す表示に変更し、処理を終了する。
【００８９】
以上、リモートデスクトップの接続先のＰＣ１００Ｂにインストールされているソフトウェアにおける、ソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のソフトウェアに対してドラッグアンドドロップが不可能な場合、その旨を表現した表示にソフトウェア画面を変更するため、ユーザの誤操作を防ぐことが可能となる。
【００９０】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００９１】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００９２】
１００Ａ  ＰＣ（接続元）
１００Ｂ  ＰＣ（接続先）
２０１  ＣＰＵ
３０１  表示部
３０２  制御部
【図１】
2019008469.tif 000003
【図２】
2019008469.tif 000004
【図３】
2019008469.tif 000005
【図４】
2019008469.tif 000006
【図５】
2019008469.tif 000007
【図６】
2019008469.tif 000008
【図７】
2019008469.tif 000009
【図８】
2019008469.tif 000010
【図９】
2019008469.tif 000011
【図１０】
2019008469.tif 000012