JP5658805B2 - Operating system, program, information processing apparatus, and control method - Google Patents

Operating system, program, information processing apparatus, and control method Download PDF

Info

Publication number
JP5658805B2
JP5658805B2 JP2013160784A JP2013160784A JP5658805B2 JP 5658805 B2 JP5658805 B2 JP 5658805B2 JP 2013160784 A JP2013160784 A JP 2013160784A JP 2013160784 A JP2013160784 A JP 2013160784A JP 5658805 B2 JP5658805 B2 JP 5658805B2
Authority
JP
Japan
Prior art keywords
program
operating system
drag
notification
window
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
JP2013160784A
Other languages
Japanese (ja)
Other versions
JP2013218746A (en
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 JP2013160784A priority Critical patent/JP5658805B2/en
Publication of JP2013218746A publication Critical patent/JP2013218746A/en
Application granted granted Critical
Publication of JP5658805B2 publication Critical patent/JP5658805B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、オペレーティングシステム、プログラム、情報処理装置および制御方法に関し、特に、マルチウインドウシステムにおいてドラッグされたオブジェクトに関する情報を扱う技術に関する。   The present invention relates to an operating system, a program, an information processing apparatus, and a control method, and more particularly to a technique for handling information related to a dragged object in a multi-window system.

現在、コンピュータ上でマルチウインドウシステムを実現するオペレーティングシステム(OS)(例えば、Windows(登録商標))が普及している。マルチウインドウシステムでは、図8に示すように、1つの表示画面1800上に複数のウインドウ1801及び1802を表示することが可能である。   Currently, an operating system (OS) that realizes a multi-window system on a computer (for example, Windows (registered trademark)) is widely used. In the multi-window system, a plurality of windows 1801 and 1802 can be displayed on one display screen 1800 as shown in FIG.

ここで、表示画面1800において、ウインドウ1801に表示されているオブジェクト(例えば、ファイル)をドラッグ&ドロップすることにより、ウインドウ1802を司るアプリケーションにこのオブジェクトを移動したりコピーしたりすることを考える。この場合、ウインドウ1802がウインドウ1801の下に隠れていてオブジェクトのドロップを受け付けることができない。そこで、ユーザはドラッグ&ドロップに先立ち、ウインドウ1801内のドラッグ&ドロップ対象のオブジェクトとウインドウ1802内のドロップ領域の少なくとも一部とが重ならずに表示されるよう、各ウインドウの位置を調整する必要がある(図9参照)。   Here, it is considered that an object (for example, a file) displayed in the window 1801 is dragged and dropped on the display screen 1800 to move or copy the object to an application that manages the window 1802. In this case, the window 1802 is hidden under the window 1801, and an object drop cannot be accepted. Therefore, prior to the drag and drop, the user needs to adjust the position of each window so that the drag and drop target object in the window 1801 and at least a part of the drop area in the window 1802 are displayed without overlapping. (See FIG. 9).

ドラッグ&ドロップに伴うユーザの操作負担を軽減するいくつかの技術が提案されている。   Several techniques for reducing the user's operation burden associated with drag and drop have been proposed.

特許文献1によれば、画面に表示されたアイコンのドラッグ操作が開始されたことを、OSが全てのウインドウに通知する。各ウインドウはドラッグされたアイコンの属性情報によって、ドラッグ操作に対応可能か否かの判断を行い、ウインドウを非表示の状態にするか、表示の状態にする。   According to Patent Document 1, the OS notifies all windows that the drag operation of the icon displayed on the screen has started. Each window determines whether or not the drag operation can be performed based on the attribute information of the dragged icon, and sets the window to a non-display state or a display state.

特許文献2によれば、ドラッグ操作を開始すると、ドラッグされたオブジェクトのドロップ先となるアプリケーションに該当するウインドウをマルチウインドウ環境の最前面に表示してアクティブ化する。   According to Patent Document 2, when a drag operation is started, a window corresponding to an application as a drop destination of the dragged object is displayed on the forefront of the multi-window environment and activated.

特許文献3によれば、ファイルブラウザやデスクトップ上のアイコンのドラッグ操作を開始すると、ドラッグ開始位置の近傍にドロップ対象一覧ウインドウを最前面化して表示する。   According to Patent Document 3, when a drag operation of an icon on a file browser or a desktop is started, a drop target list window is displayed in the foreground near the drag start position.

特開平8−185301号公報JP-A-8-185301 特開2003−108281号公報JP 2003-108281 A 特開2000−56885号公報JP 2000-56885 A

従来の技術では、ドラッグ対象のオブジェクトに関する情報をOSが全てのウインドウ(少なくとも、このオブジェクトを処理可能な全てのウインドウ)に対して通知していた。換言すれば、ドラッグ対象のオブジェクトの処理を希望しないプログラムに対しても、通知が行われていた。従って、OSが管理しているウインドウの数が多い場合などに特に、コンピュータにとっての処理負荷が大きくなるという問題があった。   In the conventional technique, the OS notifies all windows (at least all windows capable of processing this object) of information related to the drag target object. In other words, notification is also made to a program that does not wish to process the object to be dragged. Therefore, particularly when the number of windows managed by the OS is large, there is a problem that the processing load on the computer increases.

本発明はこのような状況に鑑みてなされたものであり、マルチウインドウシステムにおいて、ドラッグされたオブジェクトに関する情報をより効率的に伝達する技術を提供することを目的とする。   The present invention has been made in view of such a situation, and an object of the present invention is to provide a technique for more efficiently transmitting information about a dragged object in a multi-window system.

上記課題を解決するために、第1の本発明は、メモリを有するコンピュータ上で動作し、複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって動作する情報処理装置であって、前記表示画面に、前記オペレーティングシステムの制御下で動作する第1プログラムのウインドウを描画する描画手段と、前記オペレーティングシステムの制御下で動作する第2プログラムが実行する通知要求処理にしたがい、前記第1プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第2プログラムに通知するように前記オペレーティングシステムに要求する通知要求を発行する通知要求手段と、前記通知要求を、前記通知要求処理を実行した前記第2プログラムと対応付けて前記メモリに格納する格納手段と、前記オペレーティングシステムの制御下で前記第1プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、前記ドラッグ情報受信手段により前記ドラッグ情報が受信された場合に、前記オペレーティングシステムにしたがい前記メモリに格納されている通知要求に対応する前記第2プログラムに対して当該ドラッグ情報を通知する通知手段と、を備えることを特徴とする情報処理装置を提供する。 In order to solve the above problems, a first aspect of the present invention is an information processing apparatus that operates on a computer having a memory and operates according to an operating system that realizes a multi-window system having a display screen capable of displaying a plurality of windows. The drawing means for drawing a window of the first program that operates under the control of the operating system on the display screen, and the notification request process that is executed by the second program that operates under the control of the operating system. the drag information about the object and notification necessary Motomete stage for issuing a notification request for requesting the operating system to notify the second program when the object is dragged in the window of the first program, the notification the request, the notification Storage means for storing in said memory in association with the second program executes the determined processing, the drag information receiving means for receiving the drag information from the first program under the control of the operating system, the drag information received Notification means for notifying the second program corresponding to the notification request stored in the memory according to the operating system when the drag information is received by the means. A characteristic information processing apparatus is provided.

また、第の本発明は、メモリを有するコンピュータ上で動作し、複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、前記表示画面に、前記オペレーティングシステムの制御下で動作する第1プログラムのウインドウを描画する描画手段と、前記オペレーティングシステムの制御下で動作する第2プログラムが実行する通知要求処理にしたがい、前記第1プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第2プログラムに通知するように前記オペレーティングシステムに要求する通知要求を発行する通知要求手段と、前記通知要求を、前記通知要求処理を実行した前記第2プログラムと対応付けて前記メモリに格納する格納手段と、前記オペレーティングシステムの制御下で前記第1プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、前記ドラッグ情報受信手段において前記ドラッグ情報が受信された場合に、前記オペレーティングシステムにしたがい前記メモリに格納されている通知要求に対応する前記第2プログラムに対して当該ドラッグ情報を通知する通知手段と、として機能させるためのオペレーティングシステムを提供する A second aspect of the present invention is an operating system that realizes a multi-window system that operates on a computer having a memory and has a display screen capable of displaying a plurality of windows. In accordance with a drawing means for drawing a window of the first program that operates under the control of the operating system and a notification request process executed by the second program that operates under the control of the operating system, an object in the window of the first program run but the notification necessary Motomete stage for issuing a notification request for requesting the drag information about the object to the operating system to notify the second program when it is dragged, the notification request, the notification request processing The second program Storage means for storing in association with arm in said memory, and drag information receiving means for receiving the drag information from the first program under the control of the operating system, the drag information in the drag information receiving means is received An operating system for functioning as a notification means for notifying the second program corresponding to the notification request stored in the memory in accordance with the operating system and notifying the drag information .

なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。   Other features of the present invention will become more apparent from the accompanying drawings and the following description of the best mode for carrying out the invention.

以上の構成により、本発明によれば、マルチウインドウシステムにおいて、ドラッグされたオブジェクトに関する情報をより効率的に伝達することが可能となる。   With the above configuration, according to the present invention, it is possible to more efficiently transmit information about a dragged object in a multi-window system.

実施例1に係るOSとアプリケーションとを実行するパーソナルコンピュータ(PC)100の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a personal computer (PC) 100 that executes an OS and applications according to Embodiment 1. FIG. 実施例1におけるOS及びアプリケーションの動作の概要を示す図である。FIG. 3 is a diagram illustrating an outline of operations of an OS and an application in the first embodiment. 実施例1においてOSがドラッグ情報を受信して共有領域に格納する処理の流れを示すフローチャートである。6 is a flowchart illustrating a flow of processing in which the OS receives drag information and stores it in a shared area in the first embodiment. 実施例2におけるOS及びアプリケーションの動作の概要を示す図である。FIG. 10 is a diagram illustrating an outline of operations of an OS and an application according to a second embodiment. 実施例2においてOSがドラッグ情報の通知要求を格納し、通知要求に従ってドラッグ情報をアプリケーションに対して通知する処理の流れを示すフローチャートである。12 is a flowchart illustrating a flow of processing in which an OS stores a drag information notification request and notifies an application of drag information according to the notification request in the second embodiment. 実施例3におけるアプリケーションの動作の概要を示す図である。FIG. 10 is a diagram illustrating an outline of an operation of an application in the third embodiment. 実施例3におけるアプリケーションの動作の流れを示すフローチャートである。14 is a flowchart illustrating a flow of operation of an application in the third embodiment. 背景技術を説明する図である。It is a figure explaining background art. 背景技術を説明する図である。It is a figure explaining background art.

以下、添付図面を参照して、本発明の実施例を説明する。以下で説明される個別の実施例は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。   Embodiments of the present invention will be described below with reference to the accompanying drawings. The individual embodiments described below will help to understand various concepts from the superordinate concept to the subordinate concept of the present invention.

なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施例によって限定されるわけではない。また、実施例の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。   The technical scope of the present invention is determined by the scope of the claims, and is not limited by the following individual embodiments. In addition, all combinations of features described in the embodiments are not necessarily essential to the present invention.

また、以下の各実施例で利用するオペレーティングシステム(OS)は、Windows(登録商標)である。しかし、他のOSを利用する場合であっても、利用するプログラム関数などが異なるだけで基本的なコンセプトは変わらない。従って、本実施例は、Windows(登録商標)に限定されず、コンピュータ上で動作すると複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するものであれば、いかなるOSを利用しても構わない。   In addition, an operating system (OS) used in each of the following embodiments is Windows (registered trademark). However, even if another OS is used, the basic concept remains the same except that the program functions used are different. Therefore, the present embodiment is not limited to Windows (registered trademark), and any OS can be used as long as it realizes a multi-window system having a display screen capable of displaying a plurality of windows when operated on a computer. It doesn't matter.

図1は、実施例1に係るOSとアプリケーションとを実行するパーソナルコンピュータ(PC)100(情報処理装置)の構成を示すブロック図である。   FIG. 1 is a block diagram illustrating a configuration of a personal computer (PC) 100 (information processing apparatus) that executes an OS and an application according to the first embodiment.

図1に示すように、PC100は、CRT101、VRAM102、BMU103、キーボード104、PD105、CPU106、ROM107、RAM108、HDD109、FDD110、及びネットワークI/F111を有する。   As illustrated in FIG. 1, the PC 100 includes a CRT 101, a VRAM 102, a BMU 103, a keyboard 104, a PD 105, a CPU 106, a ROM 107, a RAM 108, an HDD 109, an FDD 110, and a network I / F 111.

CRT(Cathode Ray Tube)101には、例えば編集中の文書、図形、画像、その他の編集情報、アイコン、メッセージ、メニュー、その他のユーザインタフェースなどの情報が表示される。   A CRT (Cathode Ray Tube) 101 displays information such as a document being edited, graphics, images, other editing information, icons, messages, menus, and other user interfaces.

VRAM102には、CRT101に表示するための画像が描画される。このVRAM102に描画された画像データは、所定の規定に従ってCRT101に転送され、これによりCRT101に画像が表示される。   In the VRAM 102, an image to be displayed on the CRT 101 is drawn. The image data drawn in the VRAM 102 is transferred to the CRT 101 in accordance with a predetermined rule, whereby an image is displayed on the CRT 101.

BMU(ビットムーブユニット)103は、例えば、メモリ間(例えば、VRAM102と他のメモリとの間)のデータ転送や、メモリと各I/Oデバイス(例えば、ネットワークI/F111)との間のデータ転送を制御する。   The BMU (bit move unit) 103 is, for example, data transfer between memories (for example, between the VRAM 102 and another memory) or data between the memory and each I / O device (for example, the network I / F 111). Control the transfer.

キーボード104は、文書等を入力するための各種キーを有する。   The keyboard 104 has various keys for inputting documents and the like.

PD(ポインティングデバイス)105は、例えば、CRT101に表示されたアイコン、メニュー、その他のコンテンツを指示するために使用される。   A PD (pointing device) 105 is used, for example, to instruct icons, menus, and other contents displayed on the CRT 101.

CPU106は、ROM107、HDD109、又はフレキシブルディスク(FD)に格納された制御プログラムに基づいて、各デバイスを制御する。   The CPU 106 controls each device based on a control program stored in the ROM 107, HDD 109, or flexible disk (FD).

ROM107は、各種制御プログラムやデータを保存する。   The ROM 107 stores various control programs and data.

RAM108は、CPU106のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。   The RAM 108 has a work area for the CPU 106, a data save area for error processing, a control program load area, and the like.

HDD109は、PC100内で実行される各制御プログラムやコンテンツを格納する。   The HDD 109 stores control programs executed in the PC 100 and contents.

例えば、HDD109には、ブラウザ、OS、アプリケーションプログラム、画像ファイル、ドキュメントファイル、音楽ファイル、電子アルバムデータ、電子アルバム編集プログラムなどが格納される。   For example, the HDD 109 stores a browser, OS, application program, image file, document file, music file, electronic album data, electronic album editing program, and the like.

FDD110は、フロッピー(登録商標)等に代表されるFDに対するアクセスを制御する。   The FDD 110 controls access to an FD represented by a floppy (registered trademark) or the like.

ネットワークI/F111は、他のPCやプリンタ等とネットワークを介して通信を行う。   A network I / F 111 communicates with other PCs, printers, and the like via a network.

CPUバス112は、アドレスバス、データバス、及びコントロールバスを含む。   The CPU bus 112 includes an address bus, a data bus, and a control bus.

CPU106に対する制御プログラムの提供は、ROM107、HDD109、FDD110から行うこともできるし、ネットワークI/F111を介してネットワーク経由で他のPC等から行うこともできる。   The provision of the control program to the CPU 106 can be performed from the ROM 107, the HDD 109, and the FDD 110, or can be performed from another PC or the like via the network via the network I / F 111.

以下の説明で、OS、ブラウザ、各アプリケーションプログラムおよびそれらのウインドウが実行する動作は、CPU106がこれらをHDD109から読み出して起動し、上述の各モジュールを制御することにより実現される。   In the following description, the operations executed by the OS, the browser, each application program, and their windows are realized by the CPU 106 reading these from the HDD 109 and starting them, and controlling the above-described modules.

図2は、実施例1におけるOS及びアプリケーションの動作の概要を示す図である。図2において、画面200は、OSによってCRT101に表示される表示画面である。ウインドウ201は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト207(例えば、ファイルアイコン)を含む。ウインドウ202及びウインドウ203はそれぞれ、別々のアプリケーションのウインドウである。共有領域205は、OSがRAM108などのメモリに割り当てた共有領域であり、OSの制御下で動作する各アプリケーションからアクセス可能である。   FIG. 2 is a diagram illustrating an outline of operations of the OS and applications in the first embodiment. In FIG. 2, a screen 200 is a display screen displayed on the CRT 101 by the OS. The window 201 is an application window and includes a drag target object 207 (for example, a file icon). Each of the window 202 and the window 203 is a window of a different application. The shared area 205 is a shared area assigned to a memory such as the RAM 108 by the OS, and is accessible from each application operating under the control of the OS.

ウインドウ201においてオブジェクト207がドラッグされると、矢印204に示すように、ウインドウ201のアプリケーション(第1プログラム)はオブジェクト207に関する情報(ドラッグ情報)を共有領域205に格納する。   When the object 207 is dragged in the window 201, as indicated by an arrow 204, the application (first program) in the window 201 stores information (drag information) related to the object 207 in the shared area 205.

これにより、他のアプリケーション、例えばウインドウ203のアプリケーション(第2プログラム)は、矢印206に示すように、共有領域205を参照することによってドラッグ情報を取得することができる。   As a result, another application, for example, the application (second program) in the window 203 can acquire the drag information by referring to the shared area 205 as indicated by the arrow 206.

なお、ドラッグ情報には例えば、ドラッグ対象のオブジェクトに関連づけられたデータと、このデータの種別(例えば、JPEG、TEXT等のファイルタイプ)とのうちの少なくとも一方が含まれる。   The drag information includes, for example, at least one of data associated with the object to be dragged and the type of the data (for example, a file type such as JPEG or TEXT).

図3は、実施例1においてOSがドラッグ情報を受信して共有領域に格納する処理の流れを示すフローチャートである。本フローチャートの各ステップの処理は、PC100のCPU106が、特に断らない限り、OSやアプリケーション(例えば、ウインドウ201−203のアプリケーション)を実行することによって実現される。これは、以下の各フローチャートにおいても同様である。   FIG. 3 is a flowchart illustrating a flow of processing in which the OS receives the drag information and stores it in the shared area in the first embodiment. The processing of each step in this flowchart is realized by the CPU 106 of the PC 100 executing an OS or an application (for example, an application in the window 201-203) unless otherwise specified. The same applies to the following flowcharts.

S301で、ウインドウ201においてドラッグが開始されると、ウインドウ201のアプリケーション(ドラッグ開始アプリケーション)は、ドラッグ対象のオブジェクトが存在するか否かを判定する。例えば範囲指定などのためにドラッグが行われた場合はドラッグ対象のオブジェクトが存在しないので、処理は終了する。そうでなければ、処理はS302に進む。S302で、ドラッグ開始アプリケーションは、OSに対してドラッグ情報を送信する。   When dragging is started in the window 201 in S301, the application in the window 201 (drag start application) determines whether or not an object to be dragged exists. For example, when dragging is performed to specify a range or the like, the process ends because there is no object to be dragged. Otherwise, the process proceeds to S302. In S302, the drag start application transmits drag information to the OS.

OSは、S303で、ドラッグ開始アプリケーションからドラッグ情報を受信し、RAM108に共有領域205を割り当てる。共有領域205は、他のウインドウから参照できるセキュリティ属性を持つ。但し、共有領域205の割り当ては、事前に行われても構わない。次いでS304で、OSは、ドラッグ情報を共有領域205に格納する。   In step S <b> 303, the OS receives drag information from the drag start application and allocates the shared area 205 to the RAM 108. The shared area 205 has security attributes that can be referenced from other windows. However, the allocation of the shared area 205 may be performed in advance. In step S <b> 304, the OS stores the drag information in the shared area 205.

S304の処理が実行されると、ウインドウ203のアプリケーション(ドラッグ情報取得アプリケーション)は、S305で、OSのマウスイベントを検知し、ドラッグが行われたか否か判定する。ドラッグが行われていれば、S306で、ウインドウ203のアプリケーションは共有領域205からドラッグ情報を取得する。   When the process of S304 is executed, the application of the window 203 (drag information acquisition application) detects an OS mouse event in S305 and determines whether or not a drag has been performed. If dragging has been performed, the application in the window 203 acquires drag information from the shared area 205 in S306.

図3においてはウインドウ203のアプリケーションをドラッグ情報取得アプリケーションとして説明したが、代わりに、或いはこれに加えて、ウインドウ202のアプリケーションがドラッグ情報取得アプリケーションとして動作してもよい。   Although the application of the window 203 has been described as the drag information acquisition application in FIG. 3, the application of the window 202 may operate as the drag information acquisition application instead or in addition thereto.

従って、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得するので、ドラッグ情報がより効率的に伝達され、PC100の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。   Accordingly, since only the application that needs the drag information acquires the drag information, the drag information is transmitted more efficiently and the processing load on the PC 100 is reduced. Also, drag information can be acquired even when the mouse cursor is not on the window of an application that requires drag information.

実施例2でも、実施例1のPC100(図1参照)を利用する。   Also in the second embodiment, the PC 100 of the first embodiment (see FIG. 1) is used.

図4は、実施例2におけるOS及びアプリケーションの動作の概要を示す図である。図4において、画面400は、OSによってCRT101に表示される表示画面である。ウインドウ401は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト409(例えば、ファイルアイコン)を含む。ウインドウ402−405はそれぞれ、別々のアプリケーションのウインドウである。   FIG. 4 is a diagram illustrating an outline of operations of the OS and applications in the second embodiment. In FIG. 4, a screen 400 is a display screen displayed on the CRT 101 by the OS. A window 401 is an application window and includes a drag target object 409 (for example, a file icon). Each of the windows 402-405 is a window of a separate application.

他のアプリケーションにおけるドラッグ情報の取得を欲するアプリケーション(例えば、ウインドウ403のアプリケーション)は、矢印406に示すように、OSに対してイベント取得登録(通知要求)を行う。これにより、イベント取得リスト407に、ウインドウ403が登録される。   As indicated by an arrow 406, an application that desires to acquire drag information in another application (for example, an application in the window 403) performs event acquisition registration (notification request) to the OS. As a result, the window 403 is registered in the event acquisition list 407.

ウインドウ401においてオブジェクト409がドラッグされると、矢印408に示すように、ウインドウ401のアプリケーションはOSに対してドラッグ情報を送信する。ドラッグ情報を受信したOSは、イベント取得リスト407に従って、ドラッグ情報を各アプリケーションに対して順次送信する。これにより、ウインドウ403のアプリケーションは、ドラッグ情報を取得することができる。   When the object 409 is dragged in the window 401, as indicated by an arrow 408, the application in the window 401 transmits drag information to the OS. The OS that has received the drag information sequentially transmits the drag information to each application according to the event acquisition list 407. Thereby, the application of the window 403 can acquire drag information.

図5は、実施例2においてOSがドラッグ情報の通知要求を格納し、通知要求に従ってドラッグ情報をアプリケーションに対して通知する処理の流れを示すフローチャートである。   FIG. 5 is a flowchart illustrating a flow of processing in which the OS stores a drag information notification request and notifies the drag information to the application according to the notification request in the second embodiment.

S501で、ドラッグ情報取得アプリケーション(例えば、ウインドウ403のアプリケーション)は、実行に必要な初期化処理を行う。S502で、ドラッグ情報取得アプリケーションは、OSに対してドラッグ情報の通知要求を送信する(即ち、イベント取得登録を行う)。S503で、OSは、通知要求を受信し(通知要求受信手段)、これをRAM108に格納する。   In step S501, the drag information acquisition application (for example, the application in the window 403) performs initialization processing necessary for execution. In step S502, the drag information acquisition application transmits a drag information notification request to the OS (that is, performs event acquisition registration). In step S <b> 503, the OS receives a notification request (notification request receiving unit) and stores it in the RAM 108.

なお、不図示ではあるが、イベントにはドラッグイベントの他にもキーボードやマウスなどの入力イベントやウインドウの生成や表示などイベントが存在する。従って、必要のないイベントを取得できなうようにするためにフィルタリング設定ができることは言うまでもない。また、複数のアプリケーションがドラッグ情報取得アプリケーションとして動作してもよい。   Although not shown, in addition to drag events, events include events such as keyboard and mouse input events and window generation and display. Therefore, it goes without saying that filtering can be set so that unnecessary events cannot be acquired. A plurality of applications may operate as the drag information acquisition application.

次に、ドラッグ開始アプリケーションがS301及びS302の処理を行うが、これは実施例1と同様である(図3参照)。   Next, the drag start application performs the processing of S301 and S302, which is the same as in the first embodiment (see FIG. 3).

その後、S504で、OSは、ドラッグ情報を受信し(ドラッグ情報受信手段)、且つ、フィルタ設定の条件に基づき、ドラッグ情報を取得するように設定されている通知要求をRAM108から取得する。   After that, in S504, the OS receives the drag information (drag information receiving means), and acquires from the RAM 108 a notification request that is set to acquire the drag information based on the filter setting conditions.

S505で、OSは、通知要求を参照する変数INDEXを0に設定し、S504で取得した通知要求の数を変数COUNTに設定する。S506で、OSは、変数INDEX<変数COUNTであるか否かを判定し、YesであればS507へ、NoであればS511へ進む。   In S505, the OS sets a variable INDEX that refers to the notification request to 0, and sets the number of notification requests acquired in S504 to a variable COUNT. In S506, the OS determines whether or not the variable INDEX <variable COUNT. If Yes, the process proceeds to S507, and if No, the process proceeds to S511.

S507で、OSは、変数INDEXの示す通知要求に対応するドラッグ情報取得アプリケーションに対して、ドラッグ情報を通知する。ドラッグ情報取得アプリケーションはS508でこのドラッグ情報を受信する。S509で、OSは変数INDEXに1を加算して、S506に戻る。   In S507, the OS notifies the drag information acquisition application corresponding to the notification request indicated by the variable INDEX of the drag information. The drag information acquisition application receives this drag information in S508. In S509, the OS adds 1 to the variable INDEX and returns to S506.

また、ドラッグ情報取得アプリケーションは、例えばアプリケーション終了時などに、通知要求を削除することができる。   In addition, the drag information acquisition application can delete the notification request when the application ends, for example.

まず、S510で、ドラッグ情報取得アプリケーションは通知要求の削除を要求(削除要求)をOSに対して送信する。OSは削除要求を受信する(削除要求受信手段)と、S511で、この削除要求を送信したドラッグ情報取得アプリケーションに対応する通知要求をRAM108から削除する。最後に、S512で、ドラッグ情報取得アプリケーションは終了に必要な終了処理を行う。   First, in S510, the drag information acquisition application transmits a notification request deletion request (deletion request) to the OS. When the OS receives the deletion request (deletion request receiving means), in S511, the OS deletes the notification request corresponding to the drag information acquisition application that transmitted the deletion request from the RAM 108. Finally, in S512, the drag information acquisition application performs a termination process necessary for termination.

なお、通知要求はOS管理しており、ドラッグ情報取得アプリケーションの終了をOSは知ることができるので、ドラッグ情報取得アプリケーションの終了に合わせてOSが自動的に通知要求を削除してもよい。また、ドラッグ情報取得アプリケーションは、図5に示すタイミング以外の任意のタイミングで削除要求を送信することができる。   Since the notification request is managed by the OS and the OS can know the end of the drag information acquisition application, the OS may automatically delete the notification request when the drag information acquisition application ends. In addition, the drag information acquisition application can transmit a deletion request at any timing other than the timing shown in FIG.

以上の処理により、ウインドウ403のアプリケーションなどのように、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得することができる。   With the above processing, only the application that needs the drag information such as the application in the window 403 can acquire the drag information.

従って、ドラッグ情報がより効率的に伝達され、PC100の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。   Accordingly, the drag information is transmitted more efficiently and the processing load on the PC 100 is reduced. Also, drag information can be acquired even when the mouse cursor is not on the window of an application that requires drag information.

なお、本実施例ではS506−S509においてループ処理を行っているが、イベント取得の情報(通知要求)をチェインにしてドラッグ情報を通知したり、通知要求ごとにスレッド化してドラッグ情報を通知したりしてもよい。   In this embodiment, loop processing is performed in S506 to S509. However, drag information is notified by chaining event acquisition information (notification request), or drag information is notified by threading for each notification request. May be.

実施例3でも、実施例1のPC100(図1参照)を利用する。   In the third embodiment, the PC 100 (see FIG. 1) of the first embodiment is used.

図6は、実施例3におけるアプリケーションの動作の概要を示す図である。図6において、画面600は、OSによってCRT101に表示される表示画面である。ウインドウ601は、アプリケーションのウインドウであり、ドラッグ対象のオブジェクト604(例えば、ファイルアイコン)を含む。ウインドウ602は、別のアプリケーションのウインドウである。   FIG. 6 is a diagram illustrating an outline of the operation of the application in the third embodiment. In FIG. 6, a screen 600 is a display screen displayed on the CRT 101 by the OS. The window 601 is an application window and includes a drag target object 604 (for example, a file icon). A window 602 is a window of another application.

画面600において、ウインドウ602のアプリケーションは矢印603に示すように、ドラッグを開始したウインドウ601にドラッグ情報を問い合わせることにより、ドラッグ情報を取得できる。   On the screen 600, as shown by an arrow 603, the application in the window 602 can acquire the drag information by inquiring the drag information from the window 601 that started the drag.

図7は、実施例3におけるアプリケーションの動作の流れを示すフローチャートである。   FIG. 7 is a flowchart illustrating the flow of application operations in the third embodiment.

S701で、ドラッグ情報取得アプリケーション(ウインドウ602のアプリケーション)は、他のプログラムであるドラッグ開始アプリケーション(ウインドウ601のアプリケーション)においてオブジェクト604がドラッグされたことを検出する。   In S701, the drag information acquisition application (application in window 602) detects that the object 604 has been dragged in the drag start application (application in window 601), which is another program.

S702で、ドラッグ情報取得アプリケーションは、S701で検出したアプリケーションに対してドラッグ情報を要求し、S703で、ドラッグ開始アプリケーションは要求に応えてドラッグ情報を返信する。   In step S702, the drag information acquisition application requests drag information from the application detected in step S701. In step S703, the drag start application returns drag information in response to the request.

本実施例では、OSで規定されているウィンドウメッセージを利用してドラッグ情報取得アプリケーションとドラッグ開始アプリケーションとが通信することができる。或いは、セマッフォなどの仕組みを利用して構築したプロセス間通信の技術を利用して通信が実現されてもよい。   In this embodiment, the drag information acquisition application and the drag start application can communicate with each other using a window message defined by the OS. Alternatively, communication may be realized using inter-process communication technology constructed using a mechanism such as a semaphore.

以上の処理により、ウインドウ602のアプリケーションなどのように、ドラッグ情報を必要とするアプリケーションのみがドラッグ情報を取得することができる。   With the above processing, only the application that needs the drag information, such as the application in the window 602, can acquire the drag information.

従って、ドラッグ情報がより効率的に伝達され、PC100の処理負荷が軽減される。また、マウスカーソルがドラッグ情報を必要とするアプリケーションのウインドウ上に無い状態でも、ドラッグ情報の取得が可能である。   Accordingly, the drag information is transmitted more efficiently and the processing load on the PC 100 is reduced. Also, drag information can be acquired even when the mouse cursor is not on the window of an application that requires drag information.

[その他の実施例]
上述した各実施例の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記録媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施例の機能が実現される。この場合、記録媒体から読み出されたプログラムコード自体が上述した各実施例の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。このようなプログラムコードを供給するための記録媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることもできる。
[Other Examples]
In order to realize the functions of the above-described embodiments, a recording medium in which a program code of software embodying each function is recorded may be provided to the system or apparatus. Then, the function of each embodiment described above is realized by the computer (or CPU or MPU) of the system or apparatus reading and executing the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiments, and the recording medium on which the program code is recorded constitutes the present invention. As a recording medium for supplying such a program code, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, a magneto-optical disk, or the like can be used. Alternatively, a CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, or the like can be used.

また、上述した各実施例の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含まれている。   The configuration for realizing the functions of the above-described embodiments is not limited to executing the program code read by the computer. Including the case where the OS (operating system) running on the computer performs part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments are realized by the processing. It is.

更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施例の機能が実現される場合も含むものである。   Further, the program code read from the recording medium may be written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instruction of the program code, and the functions of the above-described embodiments may be realized by the processing. Is included.

Claims (7)

メモリを有するコンピュータ上で動作し、複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって動作する情報処理装置であって、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第1プログラムのウインドウを描画する描画手段と、
前記オペレーティングシステムの制御下で動作する第2プログラムが実行する通知要求処理にしたがい、前記第1プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第2プログラムに通知するように前記オペレーティングシステムに要求する通知要求を発行する通知要求手段と、
前記通知要求を、前記通知要求処理を実行した前記第2プログラムと対応付けて前記メモリに格納する格納手段と、
前記オペレーティングシステムの制御下で前記第1プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、
前記ドラッグ情報受信手段により前記ドラッグ情報が受信された場合に、前記オペレーティングシステムにしたがい前記メモリに格納されている通知要求に対応する前記第2プログラムに対して当該ドラッグ情報を通知する通知手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that operates on a computer having a memory and operates according to an operating system that realizes a multi-window system having a display screen capable of displaying a plurality of windows,
A drawing means for drawing a window of a first program operating under the control of the operating system on the display screen;
In accordance with notification request processing executed by the second program operating under the control of the operating system, when an object is dragged in the window of the first program, the drag information related to the object is notified to the second program. and notification necessary Motomete stage for issuing a notification request for requesting the operating system,
Storage means for storing the notification request in the memory in association with the second program that has executed the notification request processing ;
Drag information receiving means for receiving the drag information from the first program under the control of the operating system ;
Notification means for notifying the second program corresponding to the notification request stored in the memory according to the operating system when the drag information is received by the drag information receiving means;
An information processing apparatus comprising:
前記第2プログラムから、当該第2プログラムに対応する前記通知要求を削除する削除要求を受信する削除要求受信手段と、
前記削除要求受信手段により前記削除要求が前記第2プログラムから受信された場合に、当該第2プログラムに対応する前記通知要求を前記メモリから削除する削除手段と、
を備えることを特徴とする請求項1に記載の情報処理装置。
A deletion request receiving means for receiving a deletion request for deleting the notification request corresponding to the second program from the second program;
A deletion unit that deletes the notification request corresponding to the second program from the memory when the deletion request is received from the second program by the deletion request reception unit;
The information processing apparatus according to claim 1, further comprising:
前記オペレーティングシステムにしたがい、前記第2プログラムの終了を検知する検知手段と、  Detecting means for detecting the end of the second program according to the operating system;
前記検知手段により前記第2プログラムの終了が検知されると、当該第2プログラムに対応する前記通知要求を前記メモリから削除する削除手段と、  A deletion unit that deletes the notification request corresponding to the second program from the memory when the detection unit detects the end of the second program;
を備えることを特徴とする請求項1に記載の情報処理装置。  The information processing apparatus according to claim 1, further comprising:
前記ドラッグ情報は、前記オブジェクトに関連づけられたデータと当該データの種別とのうちの少なくとも一方を含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3, wherein the drag information includes at least one of data associated with the object and a type of the data. 前記通知要求処理を実行した前記第2プログラムは複数存在し、前記通知手段は前記複数の前記第2プログラムに対して前記ドラッグ情報を順次、通知することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。  The said 2nd program which performed the said notification request | requirement process exists with two or more, The said notification means notifies the said drag | drug information sequentially with respect to the said several 2nd program. The information processing apparatus according to claim 1. メモリを有するコンピュータ上で動作し、複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムにしたがって情報処理装置が実行する制御方法であって、
描画手段が、前記表示画面に、前記オペレーティングシステムの制御下で動作する第1プログラムのウインドウを描画する描画工程と、
通知要求手段が、前記オペレーティングシステムの制御下で動作する第2プログラムが実行する通知要求処理にしたがい、前記第1プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第2プログラムに通知するように前記オペレーティングシステムに要求する通知要求を発行する通知要求工程と、
格納手段が、前記通知要求を、前記通知要求処理を実行した前記第2プログラムと対応付けて前記メモリに格納する格納工程と、
ドラッグ情報受信手段が、前記オペレーティングシステムの制御下で前記第1プログラムから前記ドラッグ情報を受信するドラッグ情報受信工程と、
通知手段が、前記ドラッグ情報受信工程において前記ドラッグ情報が受信された場合に、前記オペレーティングシステムにしたがい前記メモリに格納されている通知要求に対応する前記第2プログラムに対して当該ドラッグ情報を通知する通知工程と、
を備えることを特徴とする制御方法。
A control method executed by an information processing device according to an operating system that realizes a multi-window system that operates on a computer having a memory and has a display screen capable of displaying a plurality of windows,
A drawing step of drawing a window of a first program that operates under the control of the operating system on the display screen;
Notification necessity Motomete stage, according to the notification request process second program operating under control of said operating system to execute the drag information relating to the object the first when an object is dragged in the window of the first program and more notification necessary Motomeko to issue a notification request for requesting the operating system to notify 2 program,
A storage step of storing the notification request in the memory in association with the second program that has executed the notification request processing ;
A drag information receiving step for receiving the drag information from the first program under the control of the operating system ;
When the drag information is received in the drag information reception step, the notification means notifies the drag information to the second program corresponding to the notification request stored in the memory according to the operating system. A notification process;
A control method comprising:
メモリを有するコンピュータ上で動作し、複数のウインドウを表示可能な表示画面を持つマルチウインドウシステムを実現するオペレーティングシステムであって、前記コンピュータを、
前記表示画面に、前記オペレーティングシステムの制御下で動作する第1プログラムのウインドウを描画する描画手段と、
前記オペレーティングシステムの制御下で動作する第2プログラムが実行する通知要求処理にしたがい、前記第1プログラムのウインドウにおいてオブジェクトがドラッグされた場合に当該オブジェクトに関するドラッグ情報を当該第2プログラムに通知するように前記オペレーティングシステムに要求する通知要求を発行する通知要求手段と、
前記通知要求を、前記通知要求処理を実行した前記第2プログラムと対応付けて前記メモリに格納する格納手段と、
前記オペレーティングシステムの制御下で前記第1プログラムから前記ドラッグ情報を受信するドラッグ情報受信手段と、
前記ドラッグ情報受信手段において前記ドラッグ情報が受信された場合に、前記オペレーティングシステムにしたがい前記メモリに格納されている通知要求に対応する前記第2プログラムに対して当該ドラッグ情報を通知する通知手段と、
として機能させるためのオペレーティングシステム。
An operating system for realizing a multi-window system that operates on a computer having a memory and has a display screen capable of displaying a plurality of windows, the computer comprising:
A drawing means for drawing a window of a first program operating under the control of the operating system on the display screen;
In accordance with notification request processing executed by the second program operating under the control of the operating system, when an object is dragged in the window of the first program, the drag information related to the object is notified to the second program. and notification necessary Motomete stage for issuing a notification request for requesting the operating system,
Storage means for storing the notification request in the memory in association with the second program that has executed the notification request processing ;
Drag information receiving means for receiving the drag information from the first program under the control of the operating system ;
Notification means for notifying the second program corresponding to the notification request stored in the memory according to the operating system when the drag information is received by the drag information receiving means;
Operating system to function as.
JP2013160784A 2013-08-01 2013-08-01 Operating system, program, information processing apparatus, and control method Active JP5658805B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013160784A JP5658805B2 (en) 2013-08-01 2013-08-01 Operating system, program, information processing apparatus, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013160784A JP5658805B2 (en) 2013-08-01 2013-08-01 Operating system, program, information processing apparatus, and control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009101376A Division JP2010250703A (en) 2008-11-20 2009-04-17 Operating system, program, information processor, and control method

Publications (2)

Publication Number Publication Date
JP2013218746A JP2013218746A (en) 2013-10-24
JP5658805B2 true JP5658805B2 (en) 2015-01-28

Family

ID=49590671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013160784A Active JP5658805B2 (en) 2013-08-01 2013-08-01 Operating system, program, information processing apparatus, and control method

Country Status (1)

Country Link
JP (1) JP5658805B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3014286B2 (en) * 1994-12-16 2000-02-28 インターナショナル・ビジネス・マシーンズ・コーポレイション Auxiliary device and method for direct operation
JP4102045B2 (en) * 2001-09-28 2008-06-18 富士フイルム株式会社 Display control method and display control processing device for concealment window on desktop
JP4039884B2 (en) * 2002-05-16 2008-01-30 株式会社リコー Information temporary storage management method, information temporary storage management apparatus, image forming apparatus, program, and storage medium

Also Published As

Publication number Publication date
JP2013218746A (en) 2013-10-24

Similar Documents

Publication Publication Date Title
US20230049473A1 (en) Method and device for managing tab window indicating application group including heterogeneous applications
US8959446B2 (en) Information processing apparatus and method of controlling the same
JP5734037B2 (en) Information processing apparatus, control method thereof, and program
JP4453738B2 (en) File transfer method, apparatus, and program
US9367229B2 (en) Touch-enabled device navigation system
JP5458747B2 (en) Information processing apparatus and program
US20150046839A1 (en) Information processing apparatus, information processing method and computer-readable medium
KR20160053462A (en) Terminal apparatus and method for controlling thereof
US10075490B2 (en) Information processing apparatus, electronic meeting system, and program
US20140033027A1 (en) E-Book Application with Multi-Document Display
JP2009193196A (en) Gui system, gui generation method, program, and recording medium
US20130016108A1 (en) Information processing apparatus, information processing method, and program
JP5345998B2 (en) Computer system control method and computer
US10250943B2 (en) Method, apparatus, and computer readable recording medium for automatic grouping and management of content in real-time
JP5658805B2 (en) Operating system, program, information processing apparatus, and control method
JP6209868B2 (en) Information terminal, information processing program, information processing system, and information processing method
JP2013161451A (en) Information processor, information processing method, and program
JP2010250703A (en) Operating system, program, information processor, and control method
US20220198123A1 (en) Information processing device and non-transitory computer readable medium
KR20150130800A (en) user terminal device for supporting data share function and methods thereof
JP2013246575A (en) Information processing device, information processing method, and program
JP6733618B2 (en) Information processing system, terminal device, program, and image adding method
JP2017084002A (en) Information processing system, terminal device and program
KR100852652B1 (en) Information processing terminal and system for providing information processing terminal user interface using host resource and method thereof
WO2016080029A1 (en) Electronic document management device, electronic document management system, and electronic document management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140408

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: 20141031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141128

R151 Written notification of patent or utility model registration

Ref document number: 5658805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151