JP6961402B2 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP6961402B2
JP6961402B2 JP2017122437A JP2017122437A JP6961402B2 JP 6961402 B2 JP6961402 B2 JP 6961402B2 JP 2017122437 A JP2017122437 A JP 2017122437A JP 2017122437 A JP2017122437 A JP 2017122437A JP 6961402 B2 JP6961402 B2 JP 6961402B2
Authority
JP
Japan
Prior art keywords
software
screen
display
setting
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017122437A
Other languages
English (en)
Other versions
JP2019008469A (ja
Inventor
洋 布施
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017122437A priority Critical patent/JP6961402B2/ja
Priority to EP18173116.7A priority patent/EP3418872A3/en
Priority to US15/994,785 priority patent/US10970093B2/en
Priority to KR1020180067909A priority patent/KR102309083B1/ko
Priority to CN201810654197.9A priority patent/CN109117217B/zh
Publication of JP2019008469A publication Critical patent/JP2019008469A/ja
Application granted granted Critical
Publication of JP6961402B2 publication Critical patent/JP6961402B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/024Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour registers, e.g. to control background, foreground, surface filling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0383Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアの表示を変更する情報処理装置、制御方法、及びプログラムに関する。
手元のコンピュータからネットワークで接続されたコンピュータのGUIやデスクトップ環境を操作することが可能なリモートデスクトップという技術が知られている。例えば、リモート環境のコンピュータを主のコンピュータとして、出張先のコンピュータを使い、手元に主のコンピュータがあるかのように処理を実行できるという利便性から、このリモートデスクトップが広く普及している。
特許文献1には、リモートデスクトップ接続されているローカルモジュールとリモートモジュールとの間で、オブジェクトのドラッグアンドドロップを実現する技術が開示されている。特許文献1によれば、リモートデスクトップ接続先のウィンドウ領域からマウスアイコンが出入りしたことを検知することで、ローカルモジュールとリモートモジュールとの間でオブジェクトのドラッグアンドドロップをすることができる。この技術を利用すると、リモートデスクトップを介し、別のコンピュータ上で起動しているソフトウェアに対してオブジェクトをドラッグアンドドロップすることが可能となる。
特表2009−540428号公報
現在の一般的なリモートデスクトップ接続では、特許文献1に記載されている技術は採用されていない。しかしながら、ユーザは、接続元(または接続先)のコンピュータにインストールされているソフトウェアの画面に対して、接続先(または接続元)のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまう可能性がある。それは、例えば、接続元のコンピュータにインストールされていて、最前面に表示される設定が行われているソフトウェアの画面が、接続先のコンピュータのデスクトップ画面を表示するウィンドウの前面に表示される場合などである。このような場合、ユーザは接続先のコンピュータが保持するファイルをドラッグアンドドロップ操作できると勘違いするおそれがある。ここで、ソフトウェアの画面の背面に接続先のデスクトップ画面上のアイコンが存在した場合、ユーザによるドラッグアンドドロップ操作が、後ろに隠れていたアイコンに対して行われ、結果としてユーザが意図しない処理が実行されてしまう。例えば、前面に表示されているソフトウェアの描画領域の下にゴミ箱のアイコンが隠れていた場合、オブジェクトはリモートデスクトップ接続先のゴミ箱にドロップされてしまう。
ソフトウェア画面を表示する表示手段と、
前記ソフトウェア画面を最前面表示するための設定設定する設定手段と、
前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示手段によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定手段と、を有する情報処理装置であって、
前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にすることを特徴とする。
本発明によれば、接続元(または接続先)のコンピュータにインストールされているソフトウェアの画面に対して、接続先(または接続元)のコンピュータで保持されているファイルをドラッグアンドドロップ操作しようとしてしまうことを防ぐことができる。
システム構成の一例を示す図 ハードウェア構成を示す図 ソフトウェア構成を示す図 ソフトウェアの設定情報示す図 実施例1におけるデスクトップ画面を示す図 実施例1のソフトウェア300による処理の流れを示すフローチャート 実施例1のソフトウェア300による処理の流れを示すフローチャート 実施例1のソフトウェア300による処理の流れを示すフローチャート 実施例2におけるデスクトップ画面を示す図 実施例2のソフトウェア300による処理の流れを示すフローチャート
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
[システム構成]
図1は、本発明の一実施形態におけるシステム構成の一例を示す図である。本実施形態は、2つ以上の情報処理装置がネットワークを介して通信可能なシステムである。
本実施形態において、100A、100Bはコンピュータである。100Aは、100Bへリモートデスクトップ接続を行う、接続元のコンピュータであって、100Bは、100Aからリモートデスクトップ接続される、接続先のコンピュータである。リモートデスクトップ接続により、別の情報処理装置のデスクトップ画面を表示するためのウィンドウを情報処理装置の表示部で表示可能となる。以降それぞれのコンピュータをPC100A、PC100Bと呼称する。なお、PC100Bは複数台あっても良い。
110はコンピュータに接続されているLAN(Local Area Network)であって、LAN110を介して各コンピュータは情報の相互通信を行っている。なお、本実施形態のシステムが備えるPC100A、PC100Bのネットワーク接続としては、Ethernet(登録商標)、Wi−Fi(登録商標)など、有線、無線を問わずに採用できる。
[ハードウェア構成]
図2は、PC100Aのハードウェア構成の一例を示す図である。なお、PC100Bも同様のハードウェア構成を備える。
PC100Aは、ユーザ操作入力を受信する入力デバイスであるキーボード205とポインティングデバイス206が設けられている。
キーボード205は、PC100Aに対して文字や数字などの情報を入力する装置である。キーボードは、例えば、仮名や英文字などを入力するキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーを備える。
ポインティングデバイス206は、例えばマウスなどを備える。ユーザが、GUI(Graphical User Interface)などを用いてPC100Aを操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、所定の情報の入力を行うことができる。例えば、PC100Aが、インストールされたソフトウェアを表すアイコンを表示部202上に表示し、ユーザがアイコンをマウスでクリックすることに応じて、CPU201がソフトウェアを起動する。さらに、ユーザに視覚的な出力情報フィードバックを与える表示部202を備える。
表示部202は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、又はプラズマディスプレイを備える画面上に各種情報を表示する。表示部202は、キーボードやマウスの入力結果や、ソフトウェアが提供する画面(例えばユーザインターフェース)等を表示する。
さらに、PC100Aは動作を制御するための手段であるCPU201、RAM203、ROM204、HDD207を備える。本実施形態に特有の動作として、CPU201は、PC100A上では図3に示すソフトウェア300、表示部301、制御部302の動作を制御する。CPU201は、PC100Aのソフトウェア300を実行し、所定のプログラムに従って、各種の演算、情報処理、PC100A全体の制御処理を行う。
RAM203、ROM204、HDD207は本実施形態における各種プログラムや実行情報を保管する。また、CDに記録されたデータを読み出すためのCD−ROMドライバ208も設けていてもよい。RAM203は、CPU201によりOS(オペレーティングシステム)や本発明を実現するための制御プログラムを含むその他の制御プログラムがロードされ実行される。また、制御プログラムを実行するために用いられる各種作業領域、一時待避領域として機能する。本実施形態では、RAM203には、CPU201がソフトウェアの起動やシステム内部の処理などを行うためのエリアが確保される。ROM204は、CPU201の各種制御を実行する各種制御プログラム、データ及びパラメータ等を記憶する記憶装置である。
HDD207は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置とを備える補助記憶装置の一例である。本実施形態では、HDD207は、ハードディスクを備えるローカルディスクである。なお、HDD207が備える記憶媒体が、光磁気ディスク、磁気ディスク、半導体メモリ等であってもよい。HDD207には、図3に示すソフトウェア300が記憶されている。また、HDD207には、インターフェイスデバイスI/O209を制御し、ネットワークを介した通信を維持する通信プログラムが記憶されている。また、HDD207には、メモリ管理やファイル入出力管理などのクライアントを動作させるための基本ソフトウェアであるOSなどが記憶されている。
さらに、外部機器との通信を行うインターフェイスデバイスI/O209を備え、プログラム実行を行うCPU201を備える。なお、周辺機器との接続形態は有線/無線を問わない。インターフェイスデバイスI/O209は、ネットワーク(例えば、LANやインターネット)を介して他の端末(Webサーバ、メールサーバなど)に接続する。インターネットを介した通信を行う場合には、例えば、TCP/IP等のプロトコルが用いられる。
なお、本実施例で説明される処理は、ROM204、またはHDD207に保存されたプログラムをRAM203にロードし、CPU201で実行することによって実現される。
[ソフトウェア構成]
図3は、ソフトウェア構成の一例を示す図である。図3には、PC100Aを備え、ソフトウェアの表示変更に関する処理部を示す。なお、実施例2において、PC100Bも図3で示すソフトウェア構成を備える。
PC100Aが備える各構成について説明する。PC100Aは、ソフトウェア300を備える。ソフトウェア300は、表示部301、制御部302、データ303で構成される。図3に示す例では、PC100Aには図示を省略するインストーラによってソフトウェア300がインストールされているものとする。
ソフトウェア300は、例えば、ファイル管理ソフト、画像編集ソフト、エディタソフト、ワードプロセッサソフト、表計算ソフト、データベースソフト、ガジェット等の任意のソフトウェアである。本実施例におけるソフトウェア300は、ドラッグ状態のオブジェクトをドロップ可能なGUIを備え、更にソフトウェアの画面を最前面で表示する機能等を有する。
表示部301は、ソフトウェア300のユーザインターフェースの構築を行う。また、GUI(Graphical User Interface)を介して、ユーザからの各種入力操作の受け付けを処理する。
制御部302は、ソフトウェア制御に関する処理全般の機能を備える。例えば、OSが出力するイベントを検知し、その情報を基に表示部301へソフトウェアの表示変更を指示する。データ303は、図4を用いて後述するソフトウェアの各種設定が保持されている。
本実施例で説明される処理は、ROM204、またはHDD207に保存されたプログラムをRAM203にロードし、CPU201で実行することによって実現される。
[ソフトウェアの設定情報]
図4は、ソフトウェアの設定情報の一例を示している。図4で示すソフトウェアの設定情報400は、ソフトウェアが備えるGUI(画面)に関する最前面設定値401、402を保持する。
最前面設定値401は、ソフトウェア300のGUIを最前面表示するか否かを定義する設定値である。本値がtrueである場合、ソフトウェア300のGUIは最前面表示され、falseの場合、ソフトウェア300のGUIは最前面表示されない。例えば、本値がtrueの場合、他の画面(別のウィンドウ等)をソフトウェア300のGUIの上に移動させたとしても、最前面に表示される画面はソフトウェア300のGUIである。また、最前面設定値401はユーザが任意の操作で変更することができる。例えば、ソフトウェア300のGUIをマウス操作で右クリックし、コンテキストメニュー等から最前面設定値401を変更できる。なお、最前面設定値401の変更方法は前記操作に限ったものとしない。
最前面設定の変更フラグ402は、最前面設定値401を制御部302が変更したかを定義する値である。デフォルト値はfalseである。制御部302が最前面設定値401を一度変更すると変更フラグ402はtrueとなり、その後、制御部302が最前面設定値401を再び変更すると変更フラグ402はfalseとなる。
例えば、図6を用いて後述するフローチャートでの処理によって制御部302が最前面設定値401をtrueからfalseへ自動で変更した場合、最前面設定の変更フラグ402はtrueとなる。
[実施例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)と合わせて説明する。
図5で示す各項目について説明する。画面500Aは、接続元のPC100Aのデスクトップ画面である。ウィンドウ500Bは、接続先のPC100Bのデスクトップ画面を表示しているリモートデスクトップウィンドウである。このウィンドウ500Bは、最小化、最大化、サイズ変更といったウィンドウ領域の拡縮機能を備える。図5(A1)ではウィンドウ500Bが最大化されておらず、図5(A2)ではウィンドウ500Bが最大化されている。同様に、図5(B1)ではウィンドウ500Bが最大化されておらず、図5(B2)ではウィンドウ500Bが最大化されている。
ソフトウェア画面501は、接続元のPC100Aにインストールされていて、最前面表示の設定が行われている。
ソフトウェア画面502は、接続元のPC100Aにインストールされていて、最前面表示の設定が行われていない(解除された)。ソフトウェア画面502の少なくとも一部は、ウィンドウ500Bによって隠されている。
ソフトウェア画面503は、接続元のPC100Aにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示していない。
ソフトウェア画面504は、接続元のPC100Aにインストールされていて、ドラッグアンドドロップ操作が不可能であることを示す。例えば、ソフトウェア画面504の色をグレーアウトにする、透過にする、ドラッグアンドドロップ操作不可能を示すマークを付与する、利用不可能な文字を表示する。このようにして、ソフトウェアに制限がある旨をユーザに知らせることができる。なお、ソフトウェアに制限がある旨を表現する方法は本実施例に限ったものとしない。
ファイル510は、PC100B内に保持されていて、ドラッグアンドドロップ操作の対象となるオブジェクトである。ファイル510は、500Bで示すウィンドウ内のファイルである。
なお、図5の各図では、ユーザが操作中の、アクティブ画面またはアクティブウィンドウを太線で示している。
[実施例1におけるソフトウェア300の処理1]
接続先PC100Bのデスクトップ画面を表示するためのウィンドウ上に、最前面表示の設定が行われている接続元PC100Aのソフトウェア画面が表示され続けることがある。この場合、そのソフトウェアに対してユーザがウィンドウ上のファイルを誤ってソフトウェア画面に対してドラッグアンドドロップしようとしてしまう可能性がある。
図5(A1)及び(A2)では、接続先のPC100Bのデスクトップ画面を表示しているウィンドウ500Bに被って、接続元のPC100Aにインストールされていて且つ最前面表示の設定が行われているソフトウェア画面501が表示される状態を示す。ここで、ユーザがファイル510をドラッグし、ソフトウェア画面501に対してドロップしようとしても、ドロップすることはできない。なぜなら、ソフトウェア画面501は、PC100Bのデスクトップ画面を表示するためのウィンドウ500B上でのイベントを検知できないからである。上述した特許文献1を適用したとしても、マウスアイコンがウィンドウ500Bの領域外に出ないため、2つのコンピュータ間でオブジェクトをドラッグアンドドロップする条件を満たさず、ドロップイベントを検知できない。
また、最前面表示の設定が行われているソフトウェア画面501の背面に、PC100Bのデスクトップ画面のアイコンが存在する場合がある。ユーザはファイル510をソフトウェア画面501にドロップしようとしたが、ソフトウェア画面501の背面にある別のアイコンに対してドロップ処理が実行されてしまうことが考えられる。ここで例えば、ソフトウェア画面501の背面にゴミ箱のアイコンが存在した場合、ドロップしたファイル510が、誤ってゴミ箱に格納されるという課題が発生する。
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
図6は、ソフトウェア300による処理の流れを示すフローチャートである。図1のPC100A上で動作するソフトウェア300を例に処理を説明する。本フローチャートでは、ソフトウェア画面501(502)の表示変更処理の一例を示す。
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S1001にて制御部302は、検知したOSのイベントの種類を判定する。OSのイベントがリモートデスクトップ接続である場合、S1002へ進み、リモートデスクトップ切断である場合、S1101へ進み、それ以外の場合、制御部302は処理を終了する。
リモートデスクトップ接続が行われていることを確認できた場合、S1002にて制御部302は、最前面設定値401がtrueであるかを判断する。はい(true)の場合、S1003へ進み、いいえ(false)の場合、制御部302は処理を終了する。
次に、S1003にて制御部302は、最前面設定値401をfalseに変更する。最前面設定値401がfalseになったことに応じて、表示部301はソフトウェア画面501の最前面表示を解除する。即ち、図5(B1)及び(B2)で示すように、ソフトウェア画面501はリモートデスクトップウィンドウ500Bの背面に隠れ、ユーザから視認できなくなる。
次に、S1004にて制御部302は、最前面設定値401の値を変更したことを示す変更フラグ402をtrueに変更し、処理を終了する。
一方、S1001で判定されたイベントがリモートデスクトップ切断である場合、S1101にて制御部302は、最前面設定の変更フラグ402がtrueかを判断する。はい(true)の場合、S1102へ進み、いいえ(false)の場合、制御部302は処理を終了する。
リモートデスクトップ接続が行われていないことを確認できた場合、S1102にて制御部302は、最前面設定の変更フラグ402をfalseに変更する。
次に、S1103にて制御部302は、最前面設定値401がtrueかを判断する。はい(true)の場合、制御部302は処理を終了し、いいえ(false)の場合、S1104へ進む。
次に、S1104にて制御部302は、最前面設定値401をtrueに変更する。最前面設定値401がtrueになったことに応じて、表示部301はソフトウェア画面501を最前面に表示する。即ち、最前面表示の設定をオンにすることで、リモートデスクトップ接続前と同じ状態に戻る。
以上、リモートデスクトップ接続の有無に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のコンピュータを操作している時にドラッグアンドドロップ不可状態のソフトウェア画面がユーザから視認できなくなるため、意図しない誤操作をなくすことができるようになる。
[実施例1におけるソフトウェア300の処理2]
リモートデスクトップ接続中にリモートデスクトップのウィンドウ500Bを最大化せずに、デスクトップ画面500Aを操作することがある。前述の処理1を適用すると、リモートデスクトップ接続中は、ソフトウェア画面501が非最前面表示になるため、図5(C1)で示すように本来最前面で表示されるべきソフトウェア画面502が他のウィンドウの背面に隠れて表示されてしまう可能性がある。すると、ユーザがデスクトップ画面500Aを操作中にもかかわらずソフトウェア画面501が最前面表示されずに他のウィンドウの背面に隠れてしまうと、ユーザがソフトウェア画面502にファイルなどをドラッグアンドドロップする際の操作性が落ちる。
ここでは前述の課題を解決するためのソフトウェア画面の表示変更手法について説明する。
図7は、ソフトウェア300による処理の流れを示すフローチャートである。図1のPC100A上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面501(502)の表示変更処理を実施する手法を示す。
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S1201にて制御部302はアクティブ画面が変更されたかを判定する。はい(変更された)の場合、S1202へ進み、いいえ(変更されていない)の場合、処理を終了する。
次に、S1202にて、ソフトウェアの表示変更に関するサブルーチンを実行する。S1202の詳細な処理については、後述する図9、10を用いて説明する。
次に、S1203にて制御部302は、最前面設定の変更フラグ402がtrueかを判断する。はい(true)の場合、S1204へ進み、いいえ(false)の場合、制御部302は処理を終了する。
次に、S1204にて制御部302は、リモートデスクトップウィンドウがアクティブか否かを判定する。いいえ(アクティブでない)の場合、S1205へ進み、はい(アクティブである)の場合、S1207へ進む。
次に、S1205にて制御部302は、最前面設定値401がfalseかを判断する。はい(false)の場合、S1206へ進み、いいえ(true)の場合、処理を終了する。
次に、S1206にて制御部302は、最前面設定値401をtrueに変更する。最前面設定値401がtrueになったことに応じて、図5(D1)で示すように表示部301はソフトウェア画面501を最前面に表示して、処理を終了する。
次に、S1207にて制御部302は、最前面設定値401がtrueかを判断する。はい(true)の場合、S1208へ進み、いいえ(false)の場合、制御部302は処理を終了する。
次に、S1208にて制御部302は、最前面設定値401をfalseに変更する。最前面設定値401がfalseになったことに応じて、図5(D2)で示すように表示部301はソフトウェア画面501の最前面表示を解除し、処理を終了する。
以上、リモートデスクトップ接続中におけるアクティブ画面の状態に応じてソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェア画面501は使用可能な時に最前面で表示され、使用不可能な時に非最前面で表示されるため、デスクトップ画面の状態に応じて適切なソフトウェア画面の表示が可能となる。
[実施例1におけるソフトウェアの処理3]
ここまで、特許文献1の技術が適用されていたとしても起こりうる課題と、それに対する解決策とについて説明した。しかし、図5(E1)で示すように、一般的なOSに標準搭載されているリモートデスクトップには特許文献1の技術が適用されていない。多くのリモートデスクトップユーザはOSに標準搭載されているリモートデスクトップを使用するが、そのリモートデスクトップではユーザがファイル510をドラッグした状態でウィンドウ500Bの領域外へ移動させると、カーソルにバツ印などが表示される。しかしながら、ウィンドウ500Bの領域外へ移動させる前には、ユーザはファイル510をソフトウェア画面501へドラッグアンドドロップできないことを画面上の表示から判断できないため、誤操作する場合ある。
ここでは前述の課題を解決するためのソフトウェア画面の表示変更処理について説明する。
図8は、ソフトウェア300の処理のフロー図である。図1のPC100A上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面501(503、504)の表示変更処理を実施する手法を示す。
本フローチャートにおける処理は、図7のS1202で行われる処理である。
S1301にて制御部302は、接続先のPC100Bで保持されるファイルを、接続元のPC100Aにインストールされているソフトウェア画面501に対してドラッグアンドドロップ可能であるか否かを判断する。はい(可能である)の場合、制御部302は処理を終了する。具体的には、上述した特許文献1の技術を適用した場合などである。いいえ(可能でない)の場合、S1302へ進む。具体的には、一般的なOSに標準搭載されているリモートデスクトップの場合などである。
次に、S1302にて制御部302は、リモートデスクトップウィンドウ500Bがアクティブであるか否かを判断する。いいえ(アクティブでない)の場合、S1303へ進み、はい(アクティブである)の場合、S1304へ進む。
次に、S1303にて表示部301は、図5(F1)で示すように、ソフトウェア画面501を、ドラッグアンドドロップ可能であることを示す表示に変更する。
次に、S1304にて表示部301は、図5(F2)で示すようにソフトウェア画面501を、ドラッグアンドドロップ不可能であることを示す表示に変更する。
なお、S1302にて制御部302は、モートデスクトップウィンドウ500Bがアクティブであるか否かではなく、ユーザがファイル510をドラッグした(操作した)か否かを判断しても良い。ユーザがファイルをドラッグした場合、S1304へ進み、ユーザがファイルをドラッグしていない場合、S1303へ進むようにしてもよい。
以上、ソフトウェアのドラッグアンドドロップの実行可否に応じて、ソフトウェア画面の表示を変更する処理について説明した。これにより、ソフトウェアに対してドラッグアンドドロップできない場合、ソフトウェアの画面をその旨を表現した描画に変更するため、ユーザの誤操作を防ぐことが可能となる。
(実施例2)
実施例1では、接続元のPC100Aにインストールされているソフトウェア画面501の表示を変更する処理について説明した。実施例2では、接続先のPC100Bインストールされているソフトウェア画面503の表示を変更する処理について説明する。
[実施例2におけるデスクトップ画面]
図9は、PC100Aがリモートデスクトップを介してPC100Bに接続している際のデスクトップ画面の一例を示している。ここでは、実施例2における課題を挙げ、それに対する解決方法を示している。課題は図9(G1)で示し、解決方法は図9(H1)及び(H2)で示す。この解決方法について、後述する実施例2に関するフローチャート(図10)と合わせて説明する。
[実施例2におけるソフトウェアの処理]
前述した実施例1では、リモートデスクトップ接続元のPC100Aにインストールされているソフトウェア300の表示を変更する処理について説明した。
しかしながら、実施例1と同様の方法では、リモートデスクトップ接続先のPC100Bにインストールされているソフトウェア300を変更させることはできないという課題がある。
その課題について具体的に説明する。リモートデスクトップウィンドウ500BはPC100A(接続元)内に表示されている1つのウィンドウである。ここで、PC100A(接続元)はリモートデスクトップウィンドウ500B(接続先)を1つのウィンドウとして認識できるため、該ウィンドウがアクティブ状態かを判断することができる。一方、PC100B(接続先)は、リモートデスクトップ接続されているかどうかは判断できるが、リモートデスクトップウィンドウ500Bがアクティブかどうかは判断できない。従って、PC100B(接続先)は、PC100Aのデスクトップ画面上において、自身のリモートデスクトップウィンドウ500Bが非アクティブになったことを検知できない。したがって、図9(G1)で示すように、PC100B(接続先)は、PC100B(接続先)にインストールされているソフトウェア画面を変更することができない。
そこで実施例2では、リモートデスクトップ接続先にインストールされているソフトウェアにおける、ソフトウェア画面の表示変更処理について説明する。本実施例において、システム構成やアプリケーションのUIなど、実施例1と同様の説明は省略する。
[実施例2におけるソフトウェアの処理]
図10は、ソフトウェア300の処理のフローチャートである。接続先のPC100B上で動作するソフトウェア300を例に処理の流れを説明する。本フローでは、ソフトウェア画面503(504)の表示変更処理を実施する手法を示す。
OSが出力するイベントを制御部302が検知することによって、本フローチャートの処理が開始される。S2001にて制御部302は、ソフトウェア300がリモートデスクトップ接続先のPCで起動しているかを判定する。はい(接続先)の場合、S1202へ進み、いいえ(接続元)の場合、処理を終了する。
次に、S2002にて表示部301は、図9(H2)で示すように、ソフトウェア画面611をドラッグアンドドロップ可能であることを示す表示に変更する。
次に、S2003にて制御部302は、ウィンドウ500Bにおいてマウス操作やキーボード等の入力操作が所定時間の間にあったかを判断する。はい(入力操作が所定時間の間にあった)の場合、S2004へ進み、いいえ(入力操作が所定時間の間になかった)の場合、S2005へ進む。例えば、所定時間とは30秒などである。その場合、制御部302は、30秒の間における入力操作の有無に応じて、判断結果を決定する。従って、例えば前回の入力操作から15秒後に制御部302が再び入力操作を検知した場合、S2004へ進み。なお、所定時間のカウントは待機時間を計測するためのカウンターとして、RAM203によって管理される。
次に、S2004にて制御部302は、入力操作を受け付ける待機時間のカウンターを初期化する。
次に、S2005にて表示部301は、図9(H1)で示すように、ソフトウェア画面611をドラッグアンドドロップ不可能であることを示す表示に変更し、処理を終了する。
以上、リモートデスクトップの接続先のPC100Bにインストールされているソフトウェアにおける、ソフトウェア画面の表示を変更する処理について説明した。これにより、リモートデスクトップ接続先のソフトウェアに対してドラッグアンドドロップが不可能な場合、その旨を表現した表示にソフトウェア画面を変更するため、ユーザの誤操作を防ぐことが可能となる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
100A PC(接続元)
100B PC(接続先)
201 CPU
301 表示部
302 制御部

Claims (9)

  1. ソフトウェア画面を表示する表示手段と、
    前記ソフトウェア画面を最前面表示するための設定設定する設定手段と、
    前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示手段によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定手段と、を有する情報処理装置であって、
    前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にすることを特徴とする情報処理装置。
  2. 前記判定手段によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定手段によって前記設定値が設定されていた場合、前記設定手段は前記設定値を無効にし、
    前記設定手段によって前記設定値が無効にされると、
    前記ソフトウェア画面よりも前面に、前記表示画面を表示するウィンドウが表示されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記設定手段による前記設定無効化により、前記ソフトウェア画面の少なくとも一部は、前記表示画面を表示するウィンドウによって隠されることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記表示画面を表示するウィンドウが操作中であるか否かを判定する第二の判定手段を更に有し、
    前記設定手段は、前記ウィンドウが操作中でないと前記第二の判定手段が判定した場合、前記ソフトウェアの画面を最前面で表示する設定を行い、
    前記ウィンドウが操作中であると前記第二の判定手段が判定した場合、前記設定値無効にすることを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. モートデスクトップ接続が切断された場合、前記設定手段は前記設定値を有効にすることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  6. ユーザの指示に基づき、前記情報処理装置が保持するファイルを前記ソフトウェアの画
    面に対してドラッグアンドドロップ操作が可能であることを特徴とする請求項1乃至
    いずれか1項に記載の情報処理装置。
  7. 前記ソフトウェア画面は、画像処理装置のアイコンであることを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置
  8. ソフトウェア画面を表示する表示工程と、
    前記ソフトウェア画面を最前面表示するための設定設定する設定工程と、
    前記ソフトウェア画面を表示する情報処理装置とは異なる情報処理装置の表示画面を前記表示工程によって表示可能とするリモートデスクトップ接続が行われているか否かを判定する判定工程と、を有する情報処理装置の制御方法であって、
    前記判定工程によってリモートデスクトップ接続が行われていると判定され、かつ、前記設定工程によって前記設定値が設定されていた場合、前記設定工程は前記設定値を無効にすることを特徴とする情報処理装置の制御方法。
  9. 請求項1乃至のいずれか1項に記載の手段としてコンピュータを機能させるためのプ
    ログラム。
JP2017122437A 2017-06-22 2017-06-22 情報処理装置、制御方法、及びプログラム Active JP6961402B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017122437A JP6961402B2 (ja) 2017-06-22 2017-06-22 情報処理装置、制御方法、及びプログラム
EP18173116.7A EP3418872A3 (en) 2017-06-22 2018-05-18 Information processing apparatus
US15/994,785 US10970093B2 (en) 2017-06-22 2018-05-31 Information processing apparatus for displaying a software screen on a foreground of a display based on a setting
KR1020180067909A KR102309083B1 (ko) 2017-06-22 2018-06-14 정보 처리 장치
CN201810654197.9A CN109117217B (zh) 2017-06-22 2018-06-22 信息处理设备、信息处理方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017122437A JP6961402B2 (ja) 2017-06-22 2017-06-22 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019008469A JP2019008469A (ja) 2019-01-17
JP6961402B2 true JP6961402B2 (ja) 2021-11-05

Family

ID=62554946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017122437A Active JP6961402B2 (ja) 2017-06-22 2017-06-22 情報処理装置、制御方法、及びプログラム

Country Status (5)

Country Link
US (1) US10970093B2 (ja)
EP (1) EP3418872A3 (ja)
JP (1) JP6961402B2 (ja)
KR (1) KR102309083B1 (ja)
CN (1) CN109117217B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020154898A1 (en) * 2019-01-29 2020-08-06 Citrix Systems, Inc. Systems and methods of enabling fast user access to remote desktops
CN111090374B (zh) * 2019-11-15 2021-04-20 深圳传音控股股份有限公司 多信息显示方法、装置、终端及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212577B1 (en) * 1993-03-03 2001-04-03 Apple Computer, Inc. Method and apparatus for improved interaction with an application program according to data types and actions performed by the application program
US9032325B2 (en) * 2001-06-08 2015-05-12 Real Enterprise Solutions Development B.V. Management of local applications in local and remote desktops in a server-based computing environment
US20110271226A1 (en) * 2001-06-08 2011-11-03 Real Enterprise Solutions Nederland B.V. Integrated Icon View in a Server-Based Computing Environment
US7676675B2 (en) * 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
US20060107303A1 (en) * 2004-11-15 2006-05-18 Avaya Technology Corp. Content specification for media streams
US20060107226A1 (en) * 2004-11-16 2006-05-18 Microsoft Corporation Sidebar autohide to desktop
US7657837B2 (en) * 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
US7783985B2 (en) * 2006-01-04 2010-08-24 Citrix Systems, Inc. Systems and methods for transferring data between computing devices
US7533349B2 (en) * 2006-06-09 2009-05-12 Microsoft Corporation Dragging and dropping objects between local and remote modules
US7877707B2 (en) * 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US20140040862A1 (en) * 2008-04-03 2014-02-06 Adobe Systems Incorporated Copying Reusable Components from a Remote Source
US8176433B2 (en) * 2008-08-18 2012-05-08 International Business Machines Corporation Application window area change surveillance
US8239781B2 (en) * 2009-06-30 2012-08-07 Sap Ag Drag and drop of an application component to desktop
US20110219331A1 (en) * 2010-03-02 2011-09-08 International Business Machines Corporation Window resize on remote desktops
US9740507B2 (en) * 2010-04-01 2017-08-22 Citrix Systems, Inc. Interacting with remote applications displayed within a virtual desktop of a tablet computing device
CN103188300B (zh) * 2011-12-29 2016-03-02 华为技术有限公司 云计算环境中实现voip通话的方法、装置和系统
US9307009B2 (en) * 2012-02-15 2016-04-05 Mobilespan Inc. Presenting execution of a remote application in a mobile device native format
US10102567B2 (en) * 2012-06-07 2018-10-16 Google Llc User curated collections for an online application environment
US9992257B2 (en) * 2014-09-05 2018-06-05 Dell Products L.P. System and method for dynamic in-session altering of remote desktop windows
US10082941B2 (en) * 2015-05-20 2018-09-25 Vmware, Inc. Optimizing window move actions for remoted applications

Also Published As

Publication number Publication date
KR102309083B1 (ko) 2021-10-06
EP3418872A2 (en) 2018-12-26
US20180373550A1 (en) 2018-12-27
CN109117217A (zh) 2019-01-01
KR20190000295A (ko) 2019-01-02
CN109117217B (zh) 2023-06-23
US10970093B2 (en) 2021-04-06
JP2019008469A (ja) 2019-01-17
EP3418872A3 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
US8230366B2 (en) Dynamically changing cursor for user interface
JP4541676B2 (ja) グラフィカルユーザインタフェースにおいてソフトウェアアプリケーションを管理するためのシステムおよび方法
JP3792405B2 (ja) ファイル操作装置およびファイル操作プログラムを記録した記録媒体
US6915490B1 (en) Method for dragging and dropping between multiple layered windows
US11442616B2 (en) Content-based directional placement application launch
US20130174069A1 (en) Method and apparatus for managing icon in portable terminal
JP6559403B2 (ja) コンテンツ表示装置、コンテンツ表示方法及びプログラム
US20160077685A1 (en) Operating System Virtual Desktop Techniques
US20100011310A1 (en) Method, Device, Computer Program and Graphical User Interface Used for the Selection, Movement and De-Selection of an Item
KR20170080689A (ko) 소형 스크린 디스플레이를 위한 애플리케이션 명령 제어
KR20140074892A (ko) 제한된 디스플레이 장치에서의 역할 기반 사용자 인터페이스
US9639237B2 (en) User-customizable context menus
US20160085388A1 (en) Desktop Environment Differentiation in Virtual Desktops
KR20160042902A (ko) 올가미 선택을 위한 피드백 제공 기법
WO2010095255A1 (ja) 情報処理装置、表示制御方法および表示制御プログラム
JP2013250761A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6961402B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2019021042A (ja) 表示制御プログラム、表示制御方法および表示制御装置
JP6720387B2 (ja) コンテンツ表示装置、コンテンツ表示方法及びプログラム
US10592085B2 (en) Information processing apparatus, control method thereof and recording medium
JP4319435B2 (ja) コンピュータ、及び更新通知方法
JP5906713B2 (ja) 表示装置、表示方法、プログラム
JP2023136291A (ja) 情報処理装置及び情報処理プログラム
JP2019133560A (ja) 情報処理装置
CN115193023A (zh) 虚拟按键处理方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211013

R151 Written notification of patent or utility model registration

Ref document number: 6961402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151