特許第6961402号(P6961402)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6961402情報処理装置、制御方法、及びプログラム
<>
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000002
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000003
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000004
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000005
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000006
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000007
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000008
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000009
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000010
  • 特許6961402-情報処理装置、制御方法、及びプログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6961402
(24)【登録日】2021年10月15日
(45)【発行日】2021年11月5日
(54)【発明の名称】情報処理装置、制御方法、及びプログラム
(51)【国際特許分類】
   G06F 3/0484 20130101AFI20211025BHJP
   G06F 3/0486 20130101ALI20211025BHJP
   G06F 3/14 20060101ALI20211025BHJP
【FI】
   G06F3/0484
   G06F3/0486
   G06F3/14 350A
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2017-122437(P2017-122437)
(22)【出願日】2017年6月22日
(65)【公開番号】特開2019-8469(P2019-8469A)
(43)【公開日】2019年1月17日
【審査請求日】2020年6月4日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】布施 洋
【審査官】 滝谷 亮一
(56)【参考文献】
【文献】 米国特許出願公開第2012/0005269(US,A1)
【文献】 米国特許出願公開第2007/0157101(US,A1)
【文献】 特開2005−259006(JP,A)
【文献】 米国特許出願公開第2015/0149329(US,A1)
【文献】 特表2009−540428(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0484
G06F 3/0486
G06F 3/14
(57)【特許請求の範囲】
【請求項1】
ソフトウェア画面を表示する表示手段と、
前記ソフトウェア画面を最前面表示するための設定設定する設定手段と、
前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示手段によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定手段と、を有する情報処理装置であって、
前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にすることを特徴とする情報処理装置。
【請求項2】
前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にし、
前記設定手段によって前記設定値が無効にされると、
前記ソフトウェア画面よりも前面に、前記表示画面を表示するウィンドウが表示されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定手段による前記設定無効化により、前記ソフトウェア画面の少なくとも一部は、前記表示画面を表示するウィンドウによって隠されることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記表示画面を表示するウィンドウが操作中であるか否かを判定する第二の判定手段を更に有し、
前記設定手段は、前記ウィンドウが操作中でないと前記第二の判定手段が判定した場合、前記ソフトウェアの画面を最前面で表示する設定を行い、
前記ウィンドウが操作中であると前記第二の判定手段が判定した場合、前記設定値無効にすることを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
モートデスクトップ接続が切断された場合、前記設定手段は前記設定値を有効にすることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
【請求項6】
ユーザの指示に基づき、前記情報処理装置が保持するファイルを前記ソフトウェアの画
面に対してドラッグアンドドロップ操作が可能であることを特徴とする請求項1乃至
いずれか1項に記載の情報処理装置。
【請求項7】
前記ソフトウェア画面は、画像処理装置のアイコンであることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置
【請求項8】
ソフトウェア画面を表示する表示工程と、
前記ソフトウェア画面を最前面表示するための設定設定する設定工程と、
前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示工程によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定工程と、を有する情報処理装置の制御方法であって、
前記判定工程によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定工程によって前記設定値が設定されていた場合、前記設定工程は前記設定値を無効にすることを特徴とする情報処理装置の制御方法。
【請求項9】
請求項1乃至のいずれか1項に記載の手段としてコンピュータを機能させるためのプ
ログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアの表示を変更する情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
手元のコンピュータからネットワークで接続されたコンピュータのGUIやデスクトップ環境を操作することが可能なリモートデスクトップという技術が知られている。例えば、リモート環境のコンピュータを主のコンピュータとして、出張先のコンピュータを使い、手元に主のコンピュータがあるかのように処理を実行できるという利便性から、このリモートデスクトップが広く普及している。
【0003】
特許文献1には、リモートデスクトップ接続されているローカルモジュールとリモートモジュールとの間で、オブジェクトのドラッグアンドドロップを実現する技術が開示されている。特許文献1によれば、リモートデスクトップ接続先のウィンドウ領域からマウスアイコンが出入りしたことを検知することで、ローカルモジュールとリモートモジュールとの間でオブジェクトのドラッグアンドドロップをすることができる。この技術を利用すると、リモートデスクトップを介し、別のコンピュータ上で起動しているソフトウェアに対してオブジェクトをドラッグアンドドロップすることが可能となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2009−540428号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
現在の一般的なリモートデスクトップ接続では、特許文献1に記載されている技術は採用されていない。しかしながら、ユーザは、接続元(または接続先)のコンピュータにインストールされているソフトウェアの画面に対して、接続先(または接続元)のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまう可能性がある。それは、例えば、接続元のコンピュータにインストールされていて、最前面に表示される設定が行われているソフトウェアの画面が、接続先のコンピュータのデスクトップ画面を表示するウィンドウの前面に表示される場合などである。このような場合、ユーザは接続先のコンピュータが保持するファイルをドラッグアンドドロップ操作できると勘違いするおそれがある。ここで、ソフトウェアの画面の背面に接続先のデスクトップ画面上のアイコンが存在した場合、ユーザによるドラッグアンドドロップ操作が、後ろに隠れていたアイコンに対して行われ、結果としてユーザが意図しない処理が実行されてしまう。例えば、前面に表示されているソフトウェアの描画領域の下にゴミ箱のアイコンが隠れていた場合、オブジェクトはリモートデスクトップ接続先のゴミ箱にドロップされてしまう。
【課題を解決するための手段】
【0006】
ソフトウェア画面を表示する表示手段と、
前記ソフトウェア画面を最前面表示するための設定設定する設定手段と、
前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示手段によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定手段と、を有する情報処理装置であって、
前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にすることを特徴とする。
【発明の効果】
【0007】
本発明によれば、接続元(または接続先)のコンピュータにインストールされているソフトウェアの画面に対して、接続先(または接続元)のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまうことを防ぐことができる。
【図面の簡単な説明】
【0008】
図1】システム構成の一例を示す図
図2】ハードウェア構成を示す図
図3】ソフトウェア構成を示す図
図4】ソフトウェアの設定情報示す図
図5】実施例1におけるデスクトップ画面を示す図
図6】実施例1のソフトウェア300による処理の流れを示すフローチャート
図7】実施例1のソフトウェア300による処理の流れを示すフローチャート
図8】実施例1のソフトウェア300による処理の流れを示すフローチャート
図9】実施例2におけるデスクトップ画面を示す図
図10】実施例2のソフトウェア300による処理の流れを示すフローチャート
【発明を実施するための形態】
【0009】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【0010】
(実施例1)
[システム構成]
図1は、本発明の一実施形態におけるシステム構成の一例を示す図である。本実施形態は、2つ以上の情報処理装置がネットワークを介して通信可能なシステムである。
【0011】
本実施形態において、100A、100Bはコンピュータである。100Aは、100Bへリモートデスクトップ接続を行う、接続元のコンピュータであって、100Bは、100Aからリモートデスクトップ接続される、接続先のコンピュータである。リモートデスクトップ接続により、別の情報処理装置のデスクトップ画面を表示するためのウィンドウを情報処理装置の表示部で表示可能となる。以降それぞれのコンピュータをPC100A、PC100Bと呼称する。なお、PC100Bは複数台あっても良い。
【0012】
110はコンピュータに接続されているLAN(Local Area Network)であって、LAN110を介して各コンピュータは情報の相互通信を行っている。なお、本実施形態のシステムが備えるPC100A、PC100Bのネットワーク接続としては、Ethernet(登録商標)、Wi−Fi(登録商標)など、有線、無線を問わずに採用できる。
【0013】
[ハードウェア構成]
図2は、PC100Aのハードウェア構成の一例を示す図である。なお、PC100Bも同様のハードウェア構成を備える。
【0014】
PC100Aは、ユーザ操作入力を受信する入力デバイスであるキーボード205とポインティングデバイス206が設けられている。
【0015】
キーボード205は、PC100Aに対して文字や数字などの情報を入力する装置である。キーボードは、例えば、仮名や英文字などを入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
【0016】
ポインティングデバイス206は、例えばマウスなどを備える。ユーザが、GUI(Graphical User Interface)などを用いてPC100Aを操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、PC100Aが、インストールされたソフトウェアを表すアイコンを表示部202上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、CPU201がソフトウェアを起動する。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部202を備える。
【0017】
表示部202は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部202は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面(例えばユーザインターフェース)等を表示する。
【0018】
さらに、PC100Aは動作を制御するための手段であるCPU201、RAM203、ROM204、HDD207を備える。本実施形態に特有の動作として、CPU201は、PC100A上では図3に示すソフトウェア300、表示部301、制御部302の動作を制御する。CPU201は、PC100Aのソフトウェア300を実行し、所定のプログラムに従って、各種の演算、情報処理、PC100A全体の制御処理を行う。
【0019】
RAM203、ROM204、HDD207は本実施形態における各種プログラムや実行情報を保管する。また、CDに記録されたデータを読み出すためのCD−ROMドライバ208も設けていてもよい。RAM203は、CPU201によりOS(オペレーティングシステム)や本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、RAM203には、CPU201がソフトウェアの起動やシステム内部の処理などを行うためのエリアが確保される。ROM204は、CPU201の各種制御を実行する各種制御プログラム、データ及びパラメータ等を記憶する記憶装置である。
【0020】
HDD207は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置とを備える補助記憶装置の一例である。本実施形態では、HDD207は、ハードディスクを備えるローカルディスクである。なお、HDD207が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。HDD207には、図3に示すソフトウェア300が記憶されている。また、HDD207には、インターフェイスデバイスI/O209を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、HDD207には、メモリ管理やファイル入出力管理などのクライアントを動作させるための基本ソフトウェアであるOSなどが記憶されている。
【0021】
さらに、外部機器との通信を行うインターフェイスデバイスI/O209を備え、プログラム実行を行うCPU201を備える。なお、周辺機器との接続形態は有線/無線を問わない。インターフェイスデバイスI/O209は、ネットワーク(例えば、LANやインターネット)を介して他の端末(Webサーバ、メールサーバなど)に接続する。インターネットを介した通信を行う場合には、例えば、TCP/IP等のプロトコルが用いられる。
【0022】
なお、本実施例で説明される処理は、ROM204、またはHDD207に保存されたプログラムをRAM203にロードし、CPU201で実行することによって実現される。
【0023】
[ソフトウェア構成]
図3は、ソフトウェア構成の一例を示す図である。図3には、PC100Aを備え、ソフトウェアの表示変更に関する処理部を示す。なお、実施例2において、PC100Bも図3で示すソフトウェア構成を備える。
【0024】
PC100Aが備える各構成について説明する。PC100Aは、ソフトウェア300を備える。ソフトウェア300は、表示部301、制御部302、データ303で構成される。図3に示す例では、PC100Aには図示を省略するインストーラによってソフトウェア300がインストールされているものとする。
【0025】
ソフトウェア300は、例えば、ファイル管理ソフト、画像編集ソフト、エディタソフト、ワードプロセッサソフト、表計算ソフト、データベースソフト、ガジェット等の任意のソフトウェアである。本実施例におけるソフトウェア300は、ドラッグ状態のオブジェクトをドロップ可能なGUIを備え、更にソフトウェアの画面を最前面で表示する機能等を有する。
【0026】
表示部301は、ソフトウェア300のユーザインターフェースの構築を行う。また、GUI(Graphical User Interface)を介して、ユーザからの各種入力操作の受け付けを処理する。
【0027】
制御部302は、ソフトウェア制御に関する処理全般の機能を備える。例えば、OSが出力するイベントを検知し、その情報を基に表示部301へソフトウェアの表示変更を指示する。データ303は、図4を用いて後述するソフトウェアの各種設定が保持されている。
【0028】
本実施例で説明される処理は、ROM204、またはHDD207に保存されたプログラムをRAM203にロードし、CPU201で実行することによって実現される。
【0029】
[ソフトウェアの設定情報]
図4は、ソフトウェアの設定情報の一例を示している。図4で示すソフトウェアの設定情報400は、ソフトウェアが備えるGUI(画面)に関する最前面設定値401、402を保持する。
【0030】
最前面設定値401は、ソフトウェア300のGUIを最前面表示するか否かを定義する設定値である。本値がtrueである場合、ソフトウェア300のGUIは最前面表示され、falseの場合、ソフトウェア300のGUIは最前面表示されない。例えば、本値がtrueの場合、他の画面(別のウィンドウ等)をソフトウェア300のGUIの上に移動させたとしても、最前面に表示される画面はソフトウェア300のGUIである。また、最前面設定値401はユーザが任意の操作で変更することができる。例えば、ソフトウェア300のGUIをマウス操作で右クリックし、コンテキストメニュー等から最前面設定値401を変更できる。なお、最前面設定値401の変更方法は前記操作に限ったものとしない。
【0031】
最前面設定の変更フラグ402は、最前面設定値401を制御部302が変更したかを定義する値である。デフォルト値はfalseである。制御部302が最前面設定値401を一度変更すると変更フラグ402はtrueとなり、その後、制御部302が最前面設定値401を再び変更すると変更フラグ402はfalseとなる。
【0032】
例えば、図6を用いて後述するフローチャートでの処理によって制御部302が最前面設定値401をtrueからfalseへ自動で変更した場合、最前面設定の変更フラグ402はtrueとなる。
【0033】
[実施例1におけるデスクトップ画面]
図5は、PC100AがPC100Bにリモートデスクトップ接続している際の、PC100Aのデスクトップ画面の一例を示している。ここでは実施例1における3パターンの課題と、それぞれに対する解決方法を示している。1つ目の課題は図5(A1)及び(A2)で示し、解決方法は図5(B1)及び(B2)で示す。2つ目の課題は図5(C1)で示し、解決方法は図5(D1)及び(D2)で示す。3つ目の課題は図5(E1)で示し、解決方法は図5(F1)及び(F2)で示す。これらのパターンについて、後述する実施例1に関するフローチャート(図6図7図8)と合わせて説明する。
【0034】
図5で示す各項目について説明する。画面500Aは、接続元のPC100Aのデスクトップ画面である。ウィンドウ500Bは、接続先のPC100Bのデスクトップ画面を表示しているリモートデスクトップウィンドウである。このウィンドウ500Bは、最小化、最大化、サイズ変更といったウィンドウ領域の拡縮機能を備える。図5(A1)ではウィンドウ500Bが最大化されておらず、図5(A2)ではウィンドウ500Bが最大化されている。同様に、図5(B1)ではウィンドウ500Bが最大化されておらず、図5(B2)ではウィンドウ500Bが最大化されている。
【0035】
ソフトウェア画面501は、接続元のPC100Aにインストールされていて、最前面表示の設定が行われている。
【0036】
ソフトウェア画面502は、接続元のPC100Aにインストールされていて、最前面表示の設定が行われていない(解除された)。ソフトウェア画面502の少なくとも一部は、ウィンドウ500Bによって隠されている。
【0037】
ソフトウェア画面503は、接続元のPC100Aにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示していない。
【0038】
ソフトウェア画面504は、接続元のPC100Aにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示す。例えば、ソフトウェア画面504の色をグレーアウトにする、透過にする、ドラッグアンドドロップ操作不可能を示すマークを付与する、利用不可能な文字を表示する。このようにして、ソフトウェアに制限がある旨をユーザに知らせることができる。なお、ソフトウェアに制限がある旨を表現する方法は本実施例に限ったものとしない。
【0039】
ファイル510は、PC100B内に保持されていて、ドラッグアンドドロップ操作の対象となるオブジェクトである。ファイル510は、500Bで示すウィンドウ内のファイルである。
【0040】
なお、図5の各図では、ユーザが操作中の、アクティブ画面またはアクティブウィンドウを太線で示している。
【0041】
[実施例1におけるソフトウェア300の処理1]
接続先PC100Bのデスクトップ画面を表示するためのウィンドウ上に、最前面表示の設定が行われている接続元PC100Aのソフトウェア画面が表示され続けることがある。この場合、そのソフトウェアに対してユーザがウィンドウ上のファイルを誤ってソフトウェア画面に対してドラッグアンドドロップしようとしてしまう可能性がある。
【0042】
図5(A1)及び(A2)では、接続先のPC100Bのデスクトップ画面を表示しているウィンドウ500Bに被って、接続元のPC100Aにインストールされていて且つ最前面表示の設定が行われているソフトウェア画面501が表示される状態を示す。ここで、ユーザがファイル510をドラッグし、ソフトウェア画面501に対してドロップしようとしても、ドロップすることはできない。なぜなら、ソフトウェア画面501は、PC100Bのデスクトップ画面を表示するためのウィンドウ500B上でのイベントを検知できないからである。上述した特許文献1を適用したとしても、マウスアイコンがウィンドウ500Bの領域外に出ないため、2つのコンピュータ間でオブジェクトをドラッグアンドドロップする条件を満たさず、ドロップイベントを検知できない。
【0043】
また、最前面表示の設定が行われているソフトウェア画面501の背面に、PC100Bのデスクトップ画面のアイコンが存在する場合がある。ユーザはファイル510をソフトウェア画面501にドロップしようとしたが、ソフトウェア画面501の背面にある別のアイコンに対してドロップ処理が実行されてしまうことが考えられる。ここで例えば、ソフトウェア画面501の背面にゴミ箱のアイコンが存在した場合、ドロップしたファイル510が、誤ってゴミ箱に格納されるという課題が発生する。
【0044】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
【0045】
図6は、ソフトウェア300による処理の流れを示すフローチャートである。図1のPC100A上で動作するソフトウェア300を例に処理を説明する。本フローチャートでは、ソフトウェア画面501(502)の表示変更処理の一例を示す。
【0046】
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S1001にて制御部302は、検知したOSのイベントの種類を判定する。OSのイベントがリモートデスクトップ接続である場合、S1002へ進み、リモートデスクトップ切断である場合、S1101へ進み、それ以外の場合、制御部302は処理を終了する。
【0047】
リモートデスクトップ接続が行われていることを確認できた場合、S1002にて制御部302は、最前面設定値401がtrueであるかを判断する。はい(true)の場合、S1003へ進み、いいえ(false)の場合、制御部302は処理を終了する。
【0048】
次に、S1003にて制御部302は、最前面設定値401をfalseに変更する。最前面設定値401がfalseになったことに応じて、表示部301はソフトウェア画面501の最前面表示を解除する。即ち、図5(B1)及び(B2)で示すように、ソフトウェア画面501はリモートデスクトップウィンドウ500Bの背面に隠れ、ユーザから視認できなくなる。
【0049】
次に、S1004にて制御部302は、最前面設定値401の値を変更したことを示す変更フラグ402をtrueに変更し、処理を終了する。
【0050】
一方、S1001で判定されたイベントがリモートデスクトップ切断である場合、S1101にて制御部302は、最前面設定の変更フラグ402がtrueかを判断する。はい(true)の場合、S1102へ進み、いいえ(false)の場合、制御部302は処理を終了する。
【0051】
リモートデスクトップ接続が行われていないことを確認できた場合、S1102にて制御部302は、最前面設定の変更フラグ402をfalseに変更する。
【0052】
次に、S1103にて制御部302は、最前面設定値401がtrueかを判断する。はい(true)の場合、制御部302は処理を終了し、いいえ(false)の場合、S1104へ進む。
【0053】
次に、S1104にて制御部302は、最前面設定値401をtrueに変更する。最前面設定値401がtrueになったことに応じて、表示部301はソフトウェア画面501を最前面に表示する。即ち、最前面表示の設定をオンにすることで、リモートデスクトップ接続前と同じ状態に戻る。
【0054】
以上、リモートデスクトップ接続の有無に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のコンピュータを操作している時にドラッグアンドドロップ不可状態のソフトウェア画面がユーザから視認できなくなるため、意図しない誤操作をなくすことができるようになる。
【0055】
[実施例1におけるソフトウェア300の処理2]
リモートデスクトップ接続中にリモートデスクトップのウィンドウ500Bを最大化せずに、デスクトップ画面500Aを操作することがある。前述の処理1を適用すると、リモートデスクトップ接続中は、ソフトウェア画面501が非最前面表示になるため、図5(C1)で示すように本来最前面で表示されるべきソフトウェア画面502が他のウィンドウの背面に隠れて表示されてしまう可能性がある。すると、ユーザがデスクトップ画面500Aを操作中にもかかわらずソフトウェア画面501が最前面表示されずに他のウィンドウの背面に隠れてしまうと、ユーザがソフトウェア画面502にファイルなどをドラッグアンドドロップする際の操作性が落ちる。
【0056】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更手法について説明する。
【0057】
図7は、ソフトウェア300による処理の流れを示すフローチャートである。図1のPC100A上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面501(502)の表示変更処理を実施する手法を示す。
【0058】
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S1201にて制御部302はアクティブ画面が変更されたかを判定する。はい(変更された)の場合、S1202へ進み、いいえ(変更されていない)の場合、処理を終了する。
【0059】
次に、S1202にて、ソフトウェアの表示変更に関するサブルーチンを実行する。S1202の詳細な処理については、後述する図9、10を用いて説明する。
【0060】
次に、S1203にて制御部302は、最前面設定の変更フラグ402がtrueかを判断する。はい(true)の場合、S1204へ進み、いいえ(false)の場合、制御部302は処理を終了する。
【0061】
次に、S1204にて制御部302は、リモートデスクトップウィンドウがアクティブか否かを判定する。いいえ(アクティブでない)の場合、S1205へ進み、はい(アクティブである)の場合、S1207へ進む。
【0062】
次に、S1205にて制御部302は、最前面設定値401がfalseかを判断する。はい(false)の場合、S1206へ進み、いいえ(true)の場合、処理を終了する。
【0063】
次に、S1206にて制御部302は、最前面設定値401をtrueに変更する。最前面設定値401がtrueになったことに応じて、図5(D1)で示すように表示部301はソフトウェア画面501を最前面に表示して、処理を終了する。
【0064】
次に、S1207にて制御部302は、最前面設定値401がtrueかを判断する。はい(true)の場合、S1208へ進み、いいえ(false)の場合、制御部302は処理を終了する。
【0065】
次に、S1208にて制御部302は、最前面設定値401をfalseに変更する。最前面設定値401がfalseになったことに応じて、図5(D2)で示すように表示部301はソフトウェア画面501の最前面表示を解除し、処理を終了する。
【0066】
以上、リモートデスクトップ接続中におけるアクティブ画面の状態に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェア画面501は使用可能な時に最前面で表示され、使用不可能な時に非最前面で表示されるため、デスクトップ画面の状態に応じて適切なソフトウェア画面の表示が可能となる。
【0067】
[実施例1におけるソフトウェアの処理3]
ここまで、特許文献1の技術が適用されていたとしても起こりうる課題と、それに対する解決策とについて説明した。しかし、図5(E1)で示すように、一般的なOSに標準搭載されているリモートデスクトップには特許文献1の技術が適用されていない。多くのリモートデスクトップユーザはOSに標準搭載されているリモートデスクトップを使用するが、そのリモートデスクトップではユーザがファイル510をドラッグした状態でウィンドウ500Bの領域外へ移動させると、カーソルにバツ印などが表示される。しかしながら、ウィンドウ500Bの領域外へ移動させる前には、ユーザはファイル510をソフトウェア画面501へドラッグアンドドロップできないことを画面上の表示から判断できないため、誤操作する場合ある。
【0068】
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
【0069】
図8は、ソフトウェア300の処理のフロー図である。図1のPC100A上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面501(503、504)の表示変更処理を実施する手法を示す。
【0070】
本フローチャートにおける処理は、図7のS1202で行われる処理である。
【0071】
S1301にて制御部302は、接続先のPC100Bで保持されるファイルを、接続元のPC100Aにインストールされているソフトウェア画面501に対してドラッグアンドドロップ可能であるか否かを判断する。はい(可能である)の場合、制御部302は処理を終了する。具体的には、上述した特許文献1の技術を適用した場合などである。いいえ(可能でない)の場合、S1302へ進む。具体的には、一般的なOSに標準搭載されているリモートデスクトップの場合などである。
【0072】
次に、S1302にて制御部302は、リモートデスクトップウィンドウ500Bがアクティブであるか否かを判断する。いいえ(アクティブでない)の場合、S1303へ進み、はい(アクティブである)の場合、S1304へ進む。
【0073】
次に、S1303にて表示部301は、図5(F1)で示すように、ソフトウェア画面501を、ドラッグアンドドロップ可能であることを示す表示に変更する。
【0074】
次に、S1304にて表示部301は、図5(F2)で示すようにソフトウェア画面501を、ドラッグアンドドロップ不可能であることを示す表示に変更する。
【0075】
なお、S1302にて制御部302は、モートデスクトップウィンドウ500Bがアクティブであるか否かではなく、ユーザがファイル510をドラッグした(操作した)か否かを判断しても良い。ユーザがファイルをドラッグした場合、S1304へ進み、ユーザがファイルをドラッグしていない場合、S1303へ進むようにしてもよい。
【0076】
以上、ソフトウェアのドラッグアンドドロップの実行可否に応じて、ソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェアに対してドラッグアンドドロップできない場合、ソフトウェアの画面をその旨を表現した描画に変更するため、ユーザの誤操作を防ぐことが可能となる。
【0077】
(実施例2)
実施例1では、接続元のPC100Aにインストールされているソフトウェア画面501の表示を変更する処理について説明した。実施例2では、接続先のPC100Bインストールされているソフトウェア画面503の表示を変更する処理について説明する。
【0078】
[実施例2におけるデスクトップ画面]
図9は、PC100Aがリモートデスクトップを介してPC100Bに接続している際のデスクトップ画面の一例を示している。ここでは、実施例2における課題を挙げ、それに対する解決方法を示している。課題は図9(G1)で示し、解決方法は図9(H1)及び(H2)で示す。この解決方法について、後述する実施例2に関するフローチャート(図10)と合わせて説明する。
【0079】
[実施例2におけるソフトウェアの処理]
前述した実施例1では、リモートデスクトップ接続元のPC100Aにインストールされているソフトウェア300の表示を変更する処理について説明した。
【0080】
しかしながら、実施例1と同様の方法では、リモートデスクトップ接続先のPC100Bにインストールされているソフトウェア300を変更させることはできないという課題がある。
【0081】
その課題について具体的に説明する。リモートデスクトップウィンドウ500BはPC100A(接続元)内に表示されている1つのウィンドウである。ここで、PC100A(接続元)はリモートデスクトップウィンドウ500B(接続先)を1つのウィンドウとして認識できるため、該ウィンドウがアクティブ状態かを判断することができる。一方、PC100B(接続先)は、リモートデスクトップ接続されているかどうかは判断できるが、リモートデスクトップウィンドウ500Bがアクティブかどうかは判断できない。従って、PC100B(接続先)は、PC100Aのデスクトップ画面上において、自身のリモートデスクトップウィンドウ500Bが非アクティブになったことを検知できない。したがって、図9(G1)で示すように、PC100B(接続先)は、PC100B(接続先)にインストールされているソフトウェア画面を変更することができない。
【0082】
そこで実施例2では、リモートデスクトップ接続先にインストールされているソフトウェアにおける、ソフトウェア画面の表示変更処理について説明する。本実施例において、システム構成やアプリケーションのUIなど、実施例1と同様の説明は省略する。
【0083】
[実施例2におけるソフトウェアの処理]
図10は、ソフトウェア300の処理のフローチャートである。接続先のPC100B上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面503(504)の表示変更処理を実施する手法を示す。
【0084】
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S2001にて制御部302は、ソフトウェア300がリモートデスクトップ接続先のPCで起動しているかを判定する。はい(接続先)の場合、S1202へ進み、いいえ(接続元)の場合、処理を終了する。
【0085】
次に、S2002にて表示部301は、図9(H2)で示すように、ソフトウェア画面611をドラッグアンドドロップ可能であることを示す表示に変更する。
【0086】
次に、S2003にて制御部302は、ウィンドウ500Bにおいてマウス操作やキーボード等の入力操作が所定時間の間にあったかを判断する。はい(入力操作が所定時間の間にあった)の場合、S2004へ進み、いいえ(入力操作が所定時間の間になかった)の場合、S2005へ進む。例えば、所定時間とは30秒などである。その場合、制御部302は、30秒の間における入力操作の有無に応じて、判断結果を決定する。従って、例えば前回の入力操作から15秒後に制御部302が再び入力操作を検知した場合、S2004へ進み。なお、所定時間のカウントは待機時間を計測するためのカウンターとして、RAM203によって管理される。
【0087】
次に、S2004にて制御部302は、入力操作を受け付ける待機時間のカウンターを初期化する。
【0088】
次に、S2005にて表示部301は、図9(H1)で示すように、ソフトウェア画面611をドラッグアンドドロップ不可能であることを示す表示に変更し、処理を終了する。
【0089】
以上、リモートデスクトップの接続先のPC100Bにインストールされているソフトウェアにおける、ソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のソフトウェアに対してドラッグアンドドロップが不可能な場合、その旨を表現した表示にソフトウェア画面を変更するため、ユーザの誤操作を防ぐことが可能となる。
【0090】
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【0091】
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
【符号の説明】
【0092】
100A PC(接続元)
100B PC(接続先)
201 CPU
301 表示部
302 制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10