JP6574156B2 - Terminal device, event generation method, and event generation method program - Google Patents

Terminal device, event generation method, and event generation method program Download PDF

Info

Publication number
JP6574156B2
JP6574156B2 JP2016207227A JP2016207227A JP6574156B2 JP 6574156 B2 JP6574156 B2 JP 6574156B2 JP 2016207227 A JP2016207227 A JP 2016207227A JP 2016207227 A JP2016207227 A JP 2016207227A JP 6574156 B2 JP6574156 B2 JP 6574156B2
Authority
JP
Japan
Prior art keywords
state
unit
condition
event
application
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
JP2016207227A
Other languages
Japanese (ja)
Other versions
JP2018067267A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016207227A priority Critical patent/JP6574156B2/en
Publication of JP2018067267A publication Critical patent/JP2018067267A/en
Application granted granted Critical
Publication of JP6574156B2 publication Critical patent/JP6574156B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、端末装置、イベント生成方法及びイベント生成方法プログラムに関する。   The present invention relates to a terminal device, an event generation method, and an event generation method program.

端末に処理を自動実行させる技術が知られている。例えば、OS(Operating System)やアプリケーションにおいて、あらかじめ用意されたイベントが発生した場合に、アプリケーションを自動起動させる技術が知られている(例えば、非特許文献1又は2を参照)。   A technique for causing a terminal to automatically execute processing is known. For example, a technique for automatically starting an application when an event prepared in advance occurs in an OS (Operating System) or an application is known (see, for example, Non-Patent Document 1 or 2).

藤田 幸久, 櫻井 隆雄, 直野 健, 「PC操作支援エージェントによるアプリケーションの操作性改善」, 信学会論文誌D, Vol.J95-D, No.12, pp.2059-2071, 2012Yukihisa Fujita, Takao Sakurai, Takeshi Naono, "Improvement of application operability with PC operation support agent", IEICE Transactions D, Vol.J95-D, No.12, pp.2059-2071, 2012 藤田 幸久, 櫻井 隆雄, 直野 健, 「PC操作支援エージェント“BM2”によるアプリケーションの操作性改善」, HAIシンポジウム2010, 3B-2Yukihisa Fujita, Takao Sakurai, Ken Naono, "Improvement of application operability with PC operation support agent" BM2 "", HAI Symposium 2010, 3B-2

しかしながら、従来の端末に処理を自動実行させる技術には、ユーザの多様な操作に柔軟に対応することができない場合があるという問題があった。例えば、システム上でイベントとして定義されていない操作がユーザによって行われた場合、従来の技術では、当該操作に対応した処理を端末に自動実行させることは困難である。   However, the conventional technology for automatically executing processing on the terminal has a problem that it may not be able to flexibly cope with various operations of the user. For example, when an operation that is not defined as an event on the system is performed by the user, it is difficult for the conventional technology to automatically cause the terminal to execute a process corresponding to the operation.

本発明の端末装置は、表示部にGUIを表示させるアプリケーションを実行する実行部と、ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得部と、前記状態取得部によって前記アプリケーションの第1の状態が取得された場合、前記第1の状態と、前記第1の状態の直前に前記状態取得部によって取得された第2の状態と、の間に差分があるか否かを判定する差分判定部と、前記差分判定部により差分があると判定された場合、前記第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する条件判定部と、前記条件判定部により前記第1の状態が前記特定の条件を満たしていると判定された場合、前記特定の条件に対応した特定のイベントを生成するイベント生成部と、前記イベント生成部によって生成されたイベントに基づいて、前記アプリケーションに所定の処理を実行させる自動実行部と、を有することを特徴とする。   The terminal device according to the present invention includes an execution unit that executes an application that displays a GUI on a display unit, a state acquisition unit that acquires a state of the application every time a specific operation is performed by a user, and the state acquisition unit. If the first state of the application is acquired, whether there is a difference between the first state and the second state acquired by the state acquisition unit immediately before the first state A difference determination unit for determining whether or not there is a difference by the difference determination unit, a condition determination unit for determining whether or not the first state satisfies a preset specific condition, When the condition determination unit determines that the first state satisfies the specific condition, an event generation unit that generates a specific event corresponding to the specific condition; Based on the events generated by the vent generator, and having a an automatic execution unit for executing predetermined processing to the application.

本発明のイベント生成方法は、GUIを表示するアプリケーションを実行する実行部を有する端末装置で実行されるイベント生成方法であって、ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得工程と、前記状態取得工程によって前記アプリケーションの第1の状態が取得された場合、前記第1の状態と、前記第1の状態の直前に前記状態取得工程によって取得された第2の状態と、の間に差分があるか否かを判定する差分判定工程と、前記差分判定工程により差分があると判定された場合、前記第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する条件判定工程と、前記条件判定工程により前記第1の状態が前記特定の条件を満たしていると判定された場合、前記特定の条件に対応した特定のイベントを生成するイベント生成工程と、前記イベント生成工程によって生成されたイベントに基づいて、前記アプリケーションに所定の処理を実行させる自動実行工程と、を含んだことを特徴とする。   The event generation method of the present invention is an event generation method executed by a terminal device having an execution unit that executes an application for displaying a GUI, and acquires the state of the application every time a specific operation is performed by a user. And when the first state of the application is acquired by the state acquisition step, the first state and the second state acquired by the state acquisition step immediately before the first state A difference determination step for determining whether or not there is a difference between the state and the difference determination step, when the difference determination step determines that there is a difference, the first state satisfies a predetermined condition set in advance. A condition determination step for determining whether or not the first state satisfies the specific condition by the condition determination step; An event generation step for generating a specific event corresponding to a condition, and an automatic execution step for causing the application to execute a predetermined process based on the event generated by the event generation step. .

本発明によれば、端末に処理を自動実行させる際に、ユーザの多様な操作に柔軟に対応することができるようになる。   ADVANTAGE OF THE INVENTION According to this invention, when making a terminal perform a process automatically, it comes to be able to respond flexibly to a user's various operation.

図1は、第1の実施形態に係る端末装置の構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a terminal device according to the first embodiment. 図2は、第1の実施形態に係る仮想イベントの一例を示す図である。FIG. 2 is a diagram illustrating an example of a virtual event according to the first embodiment. 図3は、第1の実施形態に係る端末装置のGUIの一例を示す図である。FIG. 3 is a diagram illustrating an example of a GUI of the terminal device according to the first embodiment. 図4は、第1の実施形態に係る仮想イベントの一例を示す図である。FIG. 4 is a diagram illustrating an example of a virtual event according to the first embodiment. 図5は、第1の実施形態に係る端末装置のGUIの一例を示す図である。FIG. 5 is a diagram illustrating an example of a GUI of the terminal device according to the first embodiment. 図6は、第1の実施形態に係る仮想イベントの一覧の一例を示す図である。FIG. 6 is a diagram illustrating an example of a list of virtual events according to the first embodiment. 図7は、第1の実施形態に係る端末装置による自動実行について説明するための図である。FIG. 7 is a diagram for explaining automatic execution by the terminal device according to the first embodiment. 図8は、第1の実施形態に係る端末装置による自動実行について説明するための図である。FIG. 8 is a diagram for explaining automatic execution by the terminal device according to the first embodiment. 図9は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。FIG. 9 is a flowchart illustrating a process flow of the terminal device according to the first embodiment. 図10は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。FIG. 10 is a flowchart illustrating a flow of processing of the terminal device according to the first embodiment. 図11は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。FIG. 11 is a flowchart illustrating a processing flow of the terminal device according to the first embodiment. 図12は、プログラムが実行されることにより端末装置が実現されるコンピュータの一例を示す図である。FIG. 12 is a diagram illustrating an example of a computer in which a terminal device is realized by executing a program.

以下に、本願に係る端末装置、イベント生成方法及びイベント生成プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。   Embodiments of a terminal device, an event generation method, and an event generation program according to the present application will be described below in detail with reference to the drawings. In addition, this invention is not limited by this embodiment.

[第1の実施形態の構成]
まず、図1を用いて、第1の実施形態に係る端末装置の構成について説明する。図1は、第1の実施形態に係る端末装置の構成の一例を示す図である。端末装置10は、例えばパーソナルコンピュータである。図1に示すように、端末装置10は、表示部11、操作部12、制御部13及び記憶部14を有する。表示部11は、例えばディスプレイ等の表示装置である。また、操作部12は、例えばマウスやキーボード等の入力装置である。
[Configuration of First Embodiment]
First, the configuration of the terminal device according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of a configuration of a terminal device according to the first embodiment. The terminal device 10 is a personal computer, for example. As illustrated in FIG. 1, the terminal device 10 includes a display unit 11, an operation unit 12, a control unit 13, and a storage unit 14. The display unit 11 is a display device such as a display. The operation unit 12 is an input device such as a mouse or a keyboard.

制御部13は、端末装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。   The control unit 13 controls the terminal device 10 as a whole. The control unit 13 is, for example, an electronic circuit such as a CPU (Central Processing Unit) or MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 13 has an internal memory for storing programs and control data defining various processing procedures, and executes each process using the internal memory. The control unit 13 functions as various processing units when various programs are operated.

制御部13は、OS131、アプリケーション132、仮想イベント生成部133及び自動実行部134を有する。アプリケーション132は、表示部11にGUI(Graphical User Interface)を表示させる。アプリケーション132は、例えば、電子メールクライアント、ウェブブラウザ、ファイルマネージャ、表計算ソフト等である。なお、アプリケーション132の数は、図中の数に限定されず、任意の数とすることができる。   The control unit 13 includes an OS 131, an application 132, a virtual event generation unit 133, and an automatic execution unit 134. The application 132 displays a GUI (Graphical User Interface) on the display unit 11. The application 132 is, for example, an e-mail client, a web browser, a file manager, spreadsheet software, or the like. The number of applications 132 is not limited to the number in the figure, and can be an arbitrary number.

仮想イベント生成部133は、ユーザによる操作が行われた際に、所定の条件が満たされている場合、イベントを生成する。以降、仮想イベント生成部133によって生成されるイベントを仮想イベントとよぶ。仮想イベントが生成されると、自動実行部134は、OS131又はアプリケーション132に、生成された仮想イベントに対応した処理を実行させる。   The virtual event generation unit 133 generates an event when a predetermined condition is satisfied when an operation by the user is performed. Hereinafter, an event generated by the virtual event generation unit 133 is referred to as a virtual event. When the virtual event is generated, the automatic execution unit 134 causes the OS 131 or the application 132 to execute processing corresponding to the generated virtual event.

仮想イベント生成部133は、状態取得部201、差分判定部202、条件判定部203及びイベント生成部204を有する。また、記憶部14は、状態記憶部141及び条件記憶部142を有する。   The virtual event generation unit 133 includes a state acquisition unit 201, a difference determination unit 202, a condition determination unit 203, and an event generation unit 204. The storage unit 14 includes a state storage unit 141 and a condition storage unit 142.

状態取得部201は、ユーザにより特定の操作が行われるたびに、アプリケーションの状態を取得する。状態取得部201は、例えば、マウスクリック又はキーボードの押下が行われるたびに、各アプリケーションから状態を直接取得してもよいし、表示部11に表示されたGUI部品に対して入力された値をアプリケーションの状態として取得してもよい。このとき、状態取得部201は、例えば、OS131から、マウスクリック又はキーボードの押下イベントを受け取る。そして、状態取得部201は、例えば、GUI部品に入力された値として、テキストボックスの文字列、チェックボックスのON/OFFを示す値、リストボックスの選択された値等を取得する。   The state acquisition unit 201 acquires the state of the application every time a specific operation is performed by the user. For example, the state acquisition unit 201 may directly acquire the state from each application each time a mouse click or a keyboard press is performed, or the value input to the GUI component displayed on the display unit 11 may be obtained. You may acquire as an application state. At this time, the state acquisition unit 201 receives a mouse click or keyboard pressing event from the OS 131, for example. Then, the state acquisition unit 201 acquires, for example, a text box character string, a check box ON / OFF value, a list box selected value, and the like as values input to the GUI component.

状態取得部201は、取得したアプリケーションの状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。また、状態取得部201は、OS131から受け取ったイベントを状態記憶部141に記憶させる。   The state acquisition unit 201 transmits the acquired application state to the difference determination unit 202 and stores it in the state storage unit 141. Further, the state acquisition unit 201 stores the event received from the OS 131 in the state storage unit 141.

差分判定部202は、状態取得部201によってアプリケーションの第1の状態が取得された場合、第1の状態と、第1の状態の直前に状態取得部201によって取得された第2の状態と、の間に差分があるか否かを判定する。具体的には、差分判定部202は、状態取得部201から受け取ったアプリケーションの状態を第1の状態とし、状態記憶部141に記憶されているアプリケーションの状態のうち、第1の状態を除き最後に格納されたものを第2の状態とする。   When the first state of the application is acquired by the state acquisition unit 201, the difference determination unit 202 includes the first state, the second state acquired by the state acquisition unit 201 immediately before the first state, It is determined whether there is a difference between the two. Specifically, the difference determination unit 202 sets the application state received from the state acquisition unit 201 as the first state, and excludes the first state from the application states stored in the state storage unit 141. Is stored in the second state.

通常、GUIオブジェクトは、種別ごとに通知可能なイベントが決まっている。また、通知機能を持たないGUIオブジェクトも多い。そこで、本実施形態では、差分判定部202によってGUIの状態の差分の有無を判定することで、アプリケーションの状態変化をイベントとして取得できるようにしている。   Normally, the GUI object has a predetermined event that can be notified for each type. Many GUI objects do not have a notification function. Therefore, in the present embodiment, the difference determination unit 202 determines whether or not there is a difference in the GUI state, so that an application state change can be acquired as an event.

条件判定部203は、差分判定部202により差分があると判定された場合、第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する。条件記憶部142は、条件判定部203が判定に用いる条件のリストを記憶している。   When the difference determining unit 202 determines that there is a difference, the condition determining unit 203 determines whether or not the first state satisfies a specific condition set in advance. The condition storage unit 142 stores a list of conditions used by the condition determination unit 203 for determination.

また、条件記憶部142は、任意に設定された特定の条件、及び任意に設定された特定のイベントを対応付けたテーブルを、条件のリストとして記憶していてもよい。このとき、条件判定部203は、条件記憶部142から取得した特定の条件を用いて判定を行う。また、イベント生成部204は、条件記憶部142から取得した特定のイベントを生成する。   In addition, the condition storage unit 142 may store a table in which specific conditions that are arbitrarily set and specific events that are arbitrarily set are associated with each other as a list of conditions. At this time, the condition determination unit 203 performs determination using a specific condition acquired from the condition storage unit 142. In addition, the event generation unit 204 generates a specific event acquired from the condition storage unit 142.

なお、「イベントを生成する」とは、イベントを発生させることであり、イベント生成部204は、仮想イベント生成部133に含まれない自動化ツール等によっても解釈可能な形式でイベントを発生させる。   “Generating an event” means generating an event, and the event generating unit 204 generates an event in a format that can be interpreted by an automation tool not included in the virtual event generating unit 133.

また、イベント生成部204は、条件判定部203により第1の状態が特定の条件を満たしていると判定された場合、特定の条件に対応した特定のイベントを生成する。また、自動実行部134は、仮想イベントを解釈しアプリケーション132に処理を実行させる自動化ツールとして機能する。   In addition, the event generation unit 204 generates a specific event corresponding to the specific condition when the condition determination unit 203 determines that the first state satisfies the specific condition. The automatic execution unit 134 functions as an automation tool that interprets virtual events and causes the application 132 to execute processing.

図2〜5を用いて仮想イベントについて説明する。まず、図2及び3を用いて、仮想イベント「詳細設定開始」について説明する。図2は、第1の実施形態に係る仮想イベントの一例を示す図である。また、図3は、第1の実施形態に係る端末装置のGUIの一例を示す図である。   The virtual event will be described with reference to FIGS. First, the virtual event “start detailed setting” will be described with reference to FIGS. FIG. 2 is a diagram illustrating an example of a virtual event according to the first embodiment. FIG. 3 is a diagram illustrating an example of a GUI of the terminal device according to the first embodiment.

図3に示すように、GUIであるウィンドウ301は、チェックボックス302を有する。仮想イベント「詳細設定開始」は、ウィンドウ301のチェックボックス302がONになった場合に生成される。   As shown in FIG. 3, a window 301 that is a GUI has a check box 302. The virtual event “start detailed setting” is generated when the check box 302 of the window 301 is turned ON.

まず、状態取得部201は、OS131から、「Window1.Checkbox1 clicked」、つまり、「ウィンドウ301のチェックボックス302がクリックされた」というイベントを受け取る。そして、状態取得部201は、ウィンドウ301を含むGUIオブジェクトの状態を取得し、取得した状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。   First, the state acquisition unit 201 receives an event “Window1.Checkbox1 clicked” from the OS 131, that is, “the check box 302 of the window 301 has been clicked”. Then, the state acquisition unit 201 acquires the state of the GUI object including the window 301, transmits the acquired state to the difference determination unit 202, and stores it in the state storage unit 141.

ここで、差分判定部202は、状態取得部201から受け取った各アプリケーションの状態と、状態記憶部141に記憶されている各アプリケーションの状態のうち、状態取得部201から受け取った各アプリケーションの状態を除く最新の状態と、を比較し、状態に差分が生じているアプリケーションを特定する。ここで、状態に差分が生じているアプリケーションは、マウスクリック又はキーボードの押下イベントの対象となったアプリケーションであると推測することができる。   Here, the difference determination unit 202 displays the state of each application received from the state acquisition unit 201 among the state of each application received from the state acquisition unit 201 and the state of each application stored in the state storage unit 141. Compare the latest state with the exception, and identify an application that has a difference in the state. Here, it can be inferred that an application having a difference in state is an application subject to a mouse click or a keyboard pressing event.

ウィンドウ301の状態に差分が生じていた場合、条件判定部203は、ウィンドウ301の状態が、仮想イベント「詳細設定開始」を生成する条件を満たしているか否かを判定する。図2に示すように、「Window1.Checkbox1 clicked」というシステムイベントが発生したうえで、「Window1.title == ‘設定’」、「Window1.Checkbox1.text =~ ‘高度な設定’」、「Window1.Checkbox1.previousValue == 0」という条件が満たされていれば、条件判定部203は、ウィンドウ301の状態が、仮想イベント「詳細設定開始」を生成する条件を満たしていると判定する。   If there is a difference in the state of the window 301, the condition determination unit 203 determines whether or not the state of the window 301 satisfies a condition for generating the virtual event “start detailed setting”. As shown in Figure 2, after the system event "Window1.Checkbox1 clicked" occurs, "Window1.title == 'Setting'", "Window1.Checkbox1.text = ~ 'Advanced setting'", "Window1 If the condition “Checkbox1.previousValue == 0” is satisfied, the condition determination unit 203 determines that the state of the window 301 satisfies the condition for generating the virtual event “start detailed setting”.

なお、条件「Window1.title == ‘設定’」は、ウィンドウ301のタイトルが「設定」である場合に満たされる。また、条件「Window1.Checkbox1.text =~ ‘高度な設定’」は、チェックボックス302のテキストに「高度な設定」という文字列が含まれている場合に満たされる。また、「Window1.Checkbox1.previousValue == 0」は、チェックボックス302の前値が0であった場合、すなわち未チェックであった場合に満たされる。   The condition “Window1.title ==“ setting ”” is satisfied when the title of the window 301 is “setting”. Further, the condition “Window1.Checkbox1.text = ~“ advanced setting ”” is satisfied when the text in the check box 302 includes the character string “advanced setting”. Further, “Window1.Checkbox1.previousValue == 0” is satisfied when the previous value of the check box 302 is 0, that is, when it is not checked.

条件判定部203によって、ウィンドウ301の状態が、仮想イベント「詳細設定開始」を生成する条件を満たしていると判定された場合、イベント生成部204は、仮想イベント「詳細設定開始」を生成する。また、仮想イベント「詳細設定開始」が生成されると、自動実行部134は、例えば、詳細設定を行うためのアプリケーション132を起動する。   When the condition determining unit 203 determines that the state of the window 301 satisfies the condition for generating the virtual event “detailed setting start”, the event generating unit 204 generates a virtual event “detailed setting start”. When the virtual event “start detailed setting” is generated, the automatic execution unit 134 activates, for example, the application 132 for performing detailed setting.

次に、図4及び5を用いて、仮想イベント「設備登録」について説明する。図4は、第1の実施形態に係る仮想イベントの一例を示す図である。また、図5は、第1の実施形態に係る端末装置のGUIの一例を示す図である。   Next, the virtual event “facility registration” will be described with reference to FIGS. FIG. 4 is a diagram illustrating an example of a virtual event according to the first embodiment. FIG. 5 is a diagram illustrating an example of a GUI of the terminal device according to the first embodiment.

図5に示すように、GUIであるウィンドウ401は、ボタン402を有する。また、ウィンドウ401は、ウィンドウ403から呼び出される。また、仮想イベント「設備登録」は、ボタン402が押された場合に生成される。   As shown in FIG. 5, a window 401 that is a GUI has a button 402. The window 401 is called from the window 403. The virtual event “facility registration” is generated when the button 402 is pressed.

ここで、ウィンドウ401のようなダイアログは、システムの様々な場所で使いまわされることが多い。ウィンドウ401のようなダイアログは、例えば不可逆な動作を実施する直前に表示される。このため、同じダイアログに対する操作であっても、コンテキストによって異なる仮想イベントが生成されることが望ましい。   Here, a dialog like the window 401 is often used in various places in the system. A dialog such as the window 401 is displayed immediately before an irreversible operation is performed, for example. For this reason, it is desirable that different virtual events be generated depending on the context even when the operations are performed on the same dialog.

まず、状態取得部201は、OS131から、「Window1.Button1 clicked」、つまり、「ウィンドウ401のボタン402がクリックされた」というイベントを受け取る。そして、状態取得部201は、ウィンドウ401を含むGUIオブジェクトの状態を取得し、取得した状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。そして、差分判定部202は、仮想イベント「詳細設定開始」の場合と同様に、状態に差分が生じているアプリケーションを特定する。   First, the state acquisition unit 201 receives an event “Window1.Button1 clicked”, that is, an event “the button 402 of the window 401 has been clicked” from the OS 131. Then, the state acquisition unit 201 acquires the state of the GUI object including the window 401, transmits the acquired state to the difference determination unit 202, and stores the acquired state in the state storage unit 141. Then, as in the case of the virtual event “start detailed setting”, the difference determination unit 202 identifies an application having a difference in state.

ウィンドウ401の状態に差分が生じていた場合、条件判定部203は、ウィンドウ401の状態が、仮想イベント「設備登録」を生成する条件を満たしているか否かを判定する。図4に示すように、「Window1.Button1 clicked」というシステムイベントが発生したうえで、「Window1.title == ‘確認’」、「Window1.Button1.text =~ ‘はい’」、「Window2.title == ‘新規設備登録’」という条件が満たされていれば、条件判定部203は、ウィンドウ401の状態が、仮想イベント「設備登録」を生成する条件を満たしていると判定する。   If there is a difference in the state of the window 401, the condition determination unit 203 determines whether or not the state of the window 401 satisfies a condition for generating the virtual event “facility registration”. As shown in FIG. 4, after the system event "Window1.Button1 clicked" occurs, "Window1.title == 'confirmation'", "Window1.Button1.text = ~ 'Yes'", "Window2.title == If the condition “new equipment registration” is satisfied, the condition determination unit 203 determines that the state of the window 401 satisfies the condition for generating the virtual event “facility registration”.

なお、条件「Window1.title == ‘確認’」は、ウィンドウ401のタイトルが「確認」である場合に満たされる。また、条件「Window1.Button1.text =~ ‘はい’」は、ボタン402のテキストに「はい」という文字列が含まれている場合に満たされる。また、「Window2.title == ‘新規設備登録’」は、ウィンドウ401の呼出し元のウィンドウ、すなわちウィンドウ403のタイトルが「新規設備登録」であった場合に満たされる。   The condition “Window1.title ==“ confirmation ”” is satisfied when the title of the window 401 is “confirmation”. Further, the condition “Window1.Button1.text = ˜‘Yes’ ”is satisfied when the text of the button 402 includes the character string“ Yes ”. Further, “Window2.title ==“ new equipment registration ”” is satisfied when the window 401 that called the window 401, that is, the title of the window 403 is “new equipment registration”.

条件判定部203によって、ウィンドウ401の状態が、仮想イベント「設備登録」を生成する条件を満たしていると判定された場合、イベント生成部204は、仮想イベント「設備登録」を生成する。また、仮想イベント「設備登録」が生成されると、自動実行部134は、例えば、設備登録を行うためのアプリケーション132を起動する。   When the condition determination unit 203 determines that the state of the window 401 satisfies the condition for generating the virtual event “facility registration”, the event generation unit 204 generates a virtual event “facility registration”. When the virtual event “facility registration” is generated, the automatic execution unit 134 activates, for example, the application 132 for performing facility registration.

仮想イベント生成部133は、前述の「詳細設定開始」及び「設備登録」以外にも、図6に示すような様々な仮想イベントを生成することが考えられる。図6は、第1の実施形態に係る仮想イベントの一覧の一例を示す図である。   The virtual event generation unit 133 may generate various virtual events as shown in FIG. 6 in addition to the above-described “detailed setting start” and “facility registration”. FIG. 6 is a diagram illustrating an example of a list of virtual events according to the first embodiment.

図6に示す仮想イベントの一覧は、例えば、ユーザが出張に関するメールを受け取った際に、端末装置10上で出張に関する操作を行う場合を想定したものである。図6に示すような仮想イベントを生成することで、端末装置10は、出張先の住所検索、出張に関するファイルの作成といった処理を、ユーザの操作にあわせて自動的に実行することが可能となる。また、図6のNo.1〜4に示すように、仮想イベント生成部133は、仮想イベントを生成条件としてさらに仮想イベントを生成してもよい。   The list of virtual events shown in FIG. 6 assumes that, for example, when a user receives an email about a business trip, an operation related to the business trip is performed on the terminal device 10. By generating a virtual event as shown in FIG. 6, the terminal device 10 can automatically execute processing such as searching for an address of a business trip destination and creating a file related to the business trip in accordance with a user operation. . In addition, in FIG. As illustrated in 1 to 4, the virtual event generation unit 133 may further generate a virtual event using the virtual event as a generation condition.

例えば、図6のNo.1の仮想イベント「メールオープン」は、マウスクリック又はキーボードの押下が発生し、アプリケーション132の1つである電子メールクライアントの状態に差分が生じていた場合に、「電子メールクライアントが最前面ウィンドウ」、「本文が表示されている」、「本文内容がイベント発生前と異なっている」という条件が満たされることによって生成される。   For example, in FIG. One virtual event “mail open” is a case where a mouse click or a keyboard press occurs and there is a difference in the state of the email client, which is one of the applications 132, “the email client is the frontmost window”. , “The text is displayed” and “The text content is different from that before the event” is satisfied.

また、図6のNo.2の仮想イベント「メール読了」は、仮想イベント「メールオープン」が発生し、「本文を表示して一定時間経過」という条件が満たされた場合に生成される。   In addition, in FIG. The second virtual event “Mail Read Completion” is generated when the virtual event “Mail Open” occurs and the condition “A certain time has elapsed since the text was displayed” is satisfied.

また、図6のNo.3の仮想イベント「出張先通達」は、仮想イベント「メール読了」が発生し、「本文に住所あり」という条件が満たされた場合に生成される。さらに、仮想イベント「出張先通達」が生成された場合、自動実行部134は、アプリケーション132の1つであるウェブブサウザに、ウェブ上のマップから住所検索を実行させる。   In addition, in FIG. The virtual event “business trip notification” 3 is generated when the virtual event “mail read-out” occurs and the condition “there is an address in the text” is satisfied. Furthermore, when the virtual event “business trip notification” is generated, the automatic execution unit 134 causes the web browser, which is one of the applications 132, to execute an address search from a map on the web.

また、図6のNo.4の仮想イベント「書式指定」は、仮想イベント「メール読了」が発生し、「本文に共有ファイルサーバのpathあり」という条件が満たされた場合に生成される。さらに、仮想イベント「書式指定」が生成された場合、自動実行部134は、アプリケーション132の1つであるファイルマネージャに、共有ファイルサーバのpathで指定されるフォルダを開くという処理を実行させる。   In addition, in FIG. The virtual event “format specification” No. 4 is generated when the virtual event “mail read-out” occurs and the condition “the body has a path of the shared file server” is satisfied. Further, when the virtual event “format specification” is generated, the automatic execution unit 134 causes the file manager, which is one of the applications 132, to execute a process of opening a folder specified by the path of the shared file server.

また、図6のNo.5の仮想イベント「書式ファイルコピー」は、ファイルコピーが発生し、ファイルマネージャの状態に差分が生じていた場合に、「デスクトップへのファイルコピー」、「ファイル名に“日帰旅費”を含む」という条件が満たされることによって生成される。さらに、仮想イベント「書式ファイルコピー」が生成された場合、自動実行部134は、ファイルマネージャに、コピーされたファイルのファイル名末尾に本日の日付を追加させる。なお、ファイルがデスクトップにコピーされたか否か、といったファイルに関する状態は、GUIから取得できない場合もあるため、状態取得部201は、ファイルシステムからファイルに関する状態を取得してもよい。   In addition, in FIG. The virtual event “format file copy” of No. 5 is “file copy to desktop”, “file name includes“ day trip expense ”” when a file copy occurs and there is a difference in the state of the file manager. It is generated when the condition is satisfied. Further, when the virtual event “format file copy” is generated, the automatic execution unit 134 causes the file manager to add today's date to the end of the file name of the copied file. Note that the status regarding the file, such as whether or not the file has been copied to the desktop, may not be acquired from the GUI, so the status acquisition unit 201 may acquire the status regarding the file from the file system.

また、図6のNo.6の仮想イベント「セル内容変更」は、マウスクリック又はキーボードの押下が発生し、表計算ソフトの状態に差分が生じていた場合に、「表計算ソフトが最前面ウィンドウ」、「フォーカスの位置が変化」、「イベント前にフォーカスがあった位置のセルの値が変化」という条件が満たされることによって生成される。   In addition, in FIG. The virtual event “cell content change” of No. 6 occurs when a mouse click or a keyboard press occurs and there is a difference in the state of the spreadsheet software. It is generated when the conditions “change” and “the value of the cell at the position where the focus was placed before the event change” are satisfied.

また、図6のNo.7の仮想イベント「行き先確定」は、仮想イベント「セル内容変更」が発生し、「ファイル名に“日帰旅費”を含む」、「変更セルが目的地指定セル」という条件が満たされた場合に生成される。さらに、仮想イベント「行き先確定」が生成された場合、自動実行部134は、ウェブブラウザに、経路検索サイトAで経路検索を実行させる。   In addition, in FIG. The virtual event “Destination Confirmation” of No. 7 occurs when the virtual event “cell contents change” occurs, and the conditions “file name includes“ day trip expenses ”” and “change cell is destination designated cell” are satisfied. Is generated. Further, when the virtual event “Destination Determination” is generated, the automatic execution unit 134 causes the web browser to execute a route search at the route search site A.

また、図6のNo.8の仮想イベント「経路確定」は、マウスクリック又はキーボードの押下が発生し、ウェブブラウザの状態に差分が生じていた場合に、「ウェブブラウザが最前面ウィンドウ」、「URLが経路検索サイトAのものである」、「選択された経路がイベント発生前と異なっている」という条件が満たされることによって生成される。さらに、仮想イベント「経路確定」が生成された場合、自動実行部134は、表計算ソフトに、選択された経路情報と料金を日帰旅費ファイルに転記させる。ここで、日帰旅費ファイルとは、仮想イベント「行き先確定」が発生した表計算ソフトの文書である。   In addition, in FIG. The virtual event “Route Confirmation” in FIG. 8 indicates that when a mouse click or a keyboard press occurs and there is a difference in the state of the web browser, “Web browser is frontmost window” and “URL is route search site A It is generated by satisfying the condition that “the selected route is different from that before the event”. Further, when the virtual event “confirm route” is generated, the automatic execution unit 134 causes the spreadsheet software to transfer the selected route information and fee to the day trip expense file. Here, the day trip expense file is a document of spreadsheet software in which the virtual event “confirm destination” occurs.

ここで、自動実行が行われている際の表示部11に表示される画面の例を図7及び8を用いて説明する。図7及び8は、第1の実施形態に係る端末装置による自動実行について説明するための図である。まず、図7は、「メールオープン」、「メール読了」、「出張先通達」、「書式設定」の順で仮想イベントが生成され、自動実行部134による処理が行われた際に表示部11に表示される画面を示している。図7に示すように、電子メールクライアント132aには、住所として「A県B市C1−7−1」が表示されており、ウェブブラウザ132bは、ウェブ上のマップから当該住所を検索している。また、電子メールクライアント132aには、共有ファイルサーバのpathとして「\\サーバ1\00_申請\03_旅費」が表示されており、ファイルマネージャ132cは、当該pathで指定されたフォルダを開いている。   Here, an example of a screen displayed on the display unit 11 when automatic execution is performed will be described with reference to FIGS. 7 and 8 are diagrams for explaining automatic execution by the terminal device according to the first embodiment. First, in FIG. 7, when the virtual event is generated in the order of “mail open”, “mail read completed”, “business trip notification”, and “format setting”, and the processing by the automatic execution unit 134 is performed, the display unit 11 Shows the screen displayed. As shown in FIG. 7, “A prefecture B city C1-7-1” is displayed as an address on the e-mail client 132a, and the web browser 132b searches for the address from a map on the web. . Further, “\\ server 1 \ 00_application \ 03_travel expense” is displayed as the path of the shared file server on the e-mail client 132a, and the file manager 132c opens the folder specified by the path.

また、図8は、図7の状態からさらに、「書式ファイルコピー」、「セル内容変更」、「行き先確定」の順で仮想イベントが生成され、自動実行部134による処理が行われた際に表示部11に表示される画面を示している。表計算ソフト132dには、目的地指定セルである出張先セルに値が設定されており、ウェブブラウザ132bは、当該値を目的地とする経路を経路検索サイトAで検索している。この後、生成条件が満たされ、仮想イベント「経路確定」が生成されると、表計算ソフト132dの経路入力欄に、ウェブブラウザ132b上で選択された経路が入力される。   FIG. 8 shows a case where virtual events are generated in the order of “format file copy”, “cell contents change”, and “destination determination” from the state of FIG. 7 and processing by the automatic execution unit 134 is performed. The screen displayed on the display part 11 is shown. In the spreadsheet software 132d, a value is set in a business trip destination cell that is a destination designation cell, and the web browser 132b searches the route search site A for a route having the value as a destination. Thereafter, when the generation condition is satisfied and the virtual event “route confirmation” is generated, the route selected on the web browser 132b is input to the route input field of the spreadsheet software 132d.

[第1の実施形態の処理]
図9を用いて、端末装置10の処理の流れについて説明する。図9は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。図9に示すように、まず、端末装置10の状態取得部201は、ユーザによる特定の操作が行われるまで待機する(ステップS101、No)。状態取得部201は、ユーザによる特定の操作が行われた場合(ステップS101、Yes)、アプリケーションの状態を取得する(ステップS102)。
[Process of First Embodiment]
The process flow of the terminal device 10 will be described with reference to FIG. FIG. 9 is a flowchart illustrating a process flow of the terminal device according to the first embodiment. As illustrated in FIG. 9, first, the state acquisition unit 201 of the terminal device 10 waits until a specific operation is performed by the user (No in Step S101). When a specific operation by the user is performed (step S101, Yes), the state acquisition unit 201 acquires the state of the application (step S102).

差分判定部202は、状態取得部201によって取得されたアプリケーションの状態と、状態記憶部141に記憶された直前のアプリケーションの状態との間に差分があるか否かを判定する(ステップS103)。差分判定部202によって差分があると判定されなかった場合(ステップS103、No)、端末装置10は処理を終了する。   The difference determination unit 202 determines whether there is a difference between the state of the application acquired by the state acquisition unit 201 and the state of the previous application stored in the state storage unit 141 (step S103). When the difference determination unit 202 does not determine that there is a difference (No in step S103), the terminal device 10 ends the process.

差分判定部202によって差分があると判定された場合(ステップS103、Yes)、状態取得部201は、取得したアプリケーションの状態を状態記憶部141に格納する(ステップS104)。なお、状態取得部201がアプリケーションの状態を状態記憶部141に格納するタイミングは、差分判定部202による差分判定の前であってもよい。   If the difference determination unit 202 determines that there is a difference (step S103, Yes), the state acquisition unit 201 stores the acquired application state in the state storage unit 141 (step S104). Note that the timing at which the state acquisition unit 201 stores the application state in the state storage unit 141 may be before the difference determination by the difference determination unit 202.

次に、条件判定部203は、仮想イベントを生成する条件が満たされているか否かを判定する(ステップS105)。条件判定部203によって条件が満たされていると判定されなかった場合(ステップS105、No)、端末装置10は処理を終了する。また、条件判定部203によって条件が満たされていると判定された場合(ステップS105、Yes)、イベント生成部204は、仮想イベントを生成する(ステップS106)。このとき、仮想イベントに対応した処理が設定されている場合、自動実行部134は、処理を自動実行させる(ステップS107)。   Next, the condition determination unit 203 determines whether or not a condition for generating a virtual event is satisfied (step S105). When the condition determination unit 203 does not determine that the condition is satisfied (step S105, No), the terminal device 10 ends the process. If the condition determining unit 203 determines that the condition is satisfied (step S105, Yes), the event generating unit 204 generates a virtual event (step S106). At this time, when the process corresponding to the virtual event is set, the automatic execution unit 134 automatically executes the process (step S107).

また、図10を用いて、仮想イベント「セル値変化」を生成する場合の例について説明する。図10は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。表計算ソフトの文書が編集中でない場合(ステップS201、No)、端末装置10は仮想イベント「セル値変化」を生成しないため、処理を終了する。表計算ソフトの文書が編集中の場合(ステップS201、Yes)、状態取得部201は、フォーカスされているセルの座標を取得する(ステップS202)。   Further, an example in which a virtual event “cell value change” is generated will be described with reference to FIG. FIG. 10 is a flowchart illustrating a flow of processing of the terminal device according to the first embodiment. If the spreadsheet software document is not being edited (No at Step S201), the terminal device 10 does not generate the virtual event “cell value change”, and thus ends the process. When the document of the spreadsheet software is being edited (step S201, Yes), the state acquisition unit 201 acquires the coordinates of the focused cell (step S202).

ここで、差分判定部202は、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じであるか否かを判定する(ステップS203)。差分判定部202によって、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じであると判定された場合(ステップS203、Yes)、端末装置10は処理を終了する。   Here, the difference determination unit 202 determines whether or not the cell coordinates acquired by the state acquisition unit 201 are the same as the previously acquired cell coordinates (step S203). When the difference determination unit 202 determines that the coordinates of the cell acquired by the state acquisition unit 201 are the same as the coordinates of the cell acquired last time (step S203, Yes), the terminal device 10 ends the process. .

また、差分判定部202によって、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じでないと判定された場合(ステップS203、No)、状態取得部201は、フォーカスされているセルの座標と内容を状態記憶部141に記憶させる(ステップS204)。このように、差分判定部202は、アプリケーションの状態の一例であるフォーカスされているセルの座標に基づいて差分の有無を判定することができる。   When the difference determination unit 202 determines that the cell coordinates acquired by the state acquisition unit 201 are not the same as the previously acquired cell coordinates (No in step S203), the state acquisition unit 201 The coordinates and contents of the cell being stored are stored in the state storage unit 141 (step S204). Thus, the difference determination unit 202 can determine the presence or absence of a difference based on the coordinates of the focused cell, which is an example of the application state.

ここで、状態取得部201は、さらに、前回の座標の内容(現在値)を取得する(ステップS205)。ここで、前回の座標とは、フォーカスが移動する前の座標である。そして、条件判定部203は、フォーカスが移動する前のセルの、状態記憶部141に記憶されている内容と、現在値とを比較し、一致した場合(ステップS206、Yes)は処理を終了する。また、一致しなかった場合(ステップS206、No)、イベント生成部204は、仮想イベント「セル値変化」を生成する(ステップS207)。この場合、自動実行部134は、例えば、ウェブブラウザを起動させ、変化したセルの内容を検索サイトで検索した結果を所定のセルに書き込むといった処理を実行させることができる。   Here, the state acquisition unit 201 further acquires the content (current value) of the previous coordinate (step S205). Here, the previous coordinate is a coordinate before the focus moves. Then, the condition determination unit 203 compares the content stored in the state storage unit 141 of the cell before the focus moves with the current value, and if they match (Yes in step S206), the process ends. . If they do not match (step S206, No), the event generation unit 204 generates a virtual event “cell value change” (step S207). In this case, for example, the automatic execution unit 134 can execute a process of starting a web browser and writing the result of searching the changed cell contents on the search site in a predetermined cell.

図11を用いて、仮想イベント「チェックボックスON」及び「チェックボックスOFF」を生成する場合の例について説明する。図11は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。システムイベントであるマウスクリックイベントが発生した場合に、状態取得部201は、クリック位置にあるGUIの状態を取得する。このとき、差分判定部202は、クリック位置にあるのがチェックボックスである場合(ステップS301、Yes)、又はフォーカスされているのがチェックボックスである場合(ステップS302、Yes)、当該チェックボックスのON/OFFを示す値が、状態記憶部141に記憶されている値と一致しているか否かを判定する(ステップS303)。   An example of generating virtual events “check box ON” and “check box OFF” will be described with reference to FIG. FIG. 11 is a flowchart illustrating a processing flow of the terminal device according to the first embodiment. When a mouse click event that is a system event occurs, the state acquisition unit 201 acquires the state of the GUI at the click position. At this time, if the difference determination unit 202 is the check box at the click position (step S301, Yes) or the check box is focused (step S302, Yes), the difference determination unit 202 It is determined whether or not the value indicating ON / OFF matches the value stored in the state storage unit 141 (step S303).

なお、ステップS301及びS302のいずれの条件も満たされていない場合、端末装置10は処理を終了する。また、差分判定部202によって、チェックボックスのON/OFFを示す値が、状態記憶部141に記憶されている値と一致していると判定された場合(ステップS303、Yes)、端末装置10は処理を終了する。   Note that if neither of the conditions in steps S301 and S302 is satisfied, the terminal device 10 ends the process. When the difference determination unit 202 determines that the value indicating ON / OFF of the check box matches the value stored in the state storage unit 141 (step S303, Yes), the terminal device 10 The process ends.

差分判定部202によって、チェックボックスのON/OFFを示す値が、状態記憶部141に記憶されている値と一致していないと判定された場合(ステップS303、No)、状態取得部201は、取得したチェックボックスのON/OFFを示す値を状態記憶部141に記憶させる(ステップS304)。   When the difference determination unit 202 determines that the value indicating ON / OFF of the check box does not match the value stored in the state storage unit 141 (No in step S303), the state acquisition unit 201 A value indicating ON / OFF of the acquired check box is stored in the state storage unit 141 (step S304).

条件判定部203は、チェックボックスの現在値がONを示す値であるか否かを判定する(ステップS305)。条件判定部203によってチェックボックスの現在値がONを示す値であると判定された場合(ステップS305、Yes)、イベント生成部204は、仮想イベント「チェックボックスON」を生成する(ステップS306)。また、条件判定部203によってチェックボックスの現在値がONを示す値でないと判定された場合(ステップS305、No)、イベント生成部204は、仮想イベント「チェックボックスOFF」を生成する(ステップS306)。   The condition determination unit 203 determines whether or not the current value of the check box is a value indicating ON (step S305). When the condition determination unit 203 determines that the current value of the check box is a value indicating ON (step S305, Yes), the event generation unit 204 generates a virtual event “check box ON” (step S306). If the condition determination unit 203 determines that the current value of the check box is not a value indicating ON (step S305, No), the event generation unit 204 generates a virtual event “check box OFF” (step S306). .

[第1の実施形態の効果]
制御部13は、表示部11にGUIを表示させるアプリケーション132を実行する。また、状態取得部201は、ユーザにより特定の操作が行われるたびに、アプリケーションの状態を取得する。また、差分判定部202は、状態取得部201によってアプリケーションの第1の状態が取得された場合、第1の状態と、第1の状態の直前に状態取得部201によって取得された第2の状態と、の間に差分があるか否かを判定する。
[Effect of the first embodiment]
The control unit 13 executes an application 132 that causes the display unit 11 to display a GUI. The state acquisition unit 201 acquires the state of the application every time a specific operation is performed by the user. In addition, when the state acquisition unit 201 acquires the first state of the application, the difference determination unit 202 includes the first state and the second state acquired by the state acquisition unit 201 immediately before the first state. And whether there is a difference between them.

条件判定部203は、差分判定部202により差分があると判定された場合、第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する。また、イベント生成部204は、条件判定部203により第1の状態が特定の条件を満たしていると判定された場合、特定の条件に対応した特定のイベントを生成する。また、自動実行部134は、イベント生成部204によって生成されたイベントに基づいて、アプリケーション132に所定の処理を自動的に実行させる。   When the difference determining unit 202 determines that there is a difference, the condition determining unit 203 determines whether or not the first state satisfies a specific condition set in advance. In addition, the event generation unit 204 generates a specific event corresponding to the specific condition when the condition determination unit 203 determines that the first state satisfies the specific condition. The automatic execution unit 134 causes the application 132 to automatically execute a predetermined process based on the event generated by the event generation unit 204.

これにより、ユーザの操作をシステムイベントとして取得することができない場合であっても、仮想イベントとして定義しておくことで、当該ユーザの操作に基づく処理を端末に自動的に実行させることが可能となる。このように、本実施形態によれば、端末に処理を自動実行させる際に、ユーザの多様な操作に柔軟に対応することができるようになる。   As a result, even when a user operation cannot be acquired as a system event, by defining it as a virtual event, the terminal can automatically execute processing based on the user operation. Become. As described above, according to the present embodiment, it is possible to flexibly cope with various operations of the user when the terminal automatically executes the process.

状態取得部201は、マウスクリック又はキーボードの押下が行われるたびに、表示部11に表示されたGUI部品に対して入力された値をアプリケーションの状態として取得するようにしてもよい。特にパーソナルコンピュータにおいて、ユーザの操作はマウスクリック又はキーボードの押下による値の入力である場合が多いので、マウスクリック又はキーボードの押下をトリガとして仮想イベントを生成する処理を行うことで、多くの操作に対応することができる。   The state acquisition unit 201 may acquire a value input to the GUI component displayed on the display unit 11 as an application state each time a mouse click or a keyboard press is performed. In particular, in a personal computer, the user's operation is often a value input by mouse click or keyboard press, so by performing a process of generating a virtual event triggered by mouse click or keyboard press, it is possible to perform many operations. Can respond.

条件記憶部142は、任意に設定された特定の条件、及び任意に設定された特定のイベントを対応付けたテーブルを記憶する。このとき、条件判定部203は、条件記憶部142から取得した特定の条件を用いて判定を行う。また、イベント生成部204は、条件記憶部142から取得した特定のイベントを生成する。これにより、任意の条件及びイベントをあらかじめ設定しておくことができるため、ユーザの多様な操作に対応した多様なイベントを生成することができるようになる。   The condition storage unit 142 stores a table in which specific conditions that are arbitrarily set and specific events that are arbitrarily set are associated with each other. At this time, the condition determination unit 203 performs determination using a specific condition acquired from the condition storage unit 142. In addition, the event generation unit 204 generates a specific event acquired from the condition storage unit 142. Thereby, since arbitrary conditions and events can be set in advance, various events corresponding to various operations of the user can be generated.

[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration is functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Furthermore, all or a part of each processing function performed in each device may be realized by a CPU and a program that is analyzed and executed by the CPU, or may be realized as hardware by wired logic.

また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   Also, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
一実施形態として、端末装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の仮想イベント生成を実行する仮想イベント生成プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の仮想イベント生成プログラムを情報処理装置に実行させることにより、情報処理装置を端末装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
[program]
As an embodiment, the terminal device 10 can be implemented by installing a virtual event generation program for executing the above virtual event generation as package software or online software on a desired computer. For example, the information processing apparatus can function as the terminal apparatus 10 by causing the information processing apparatus to execute the virtual event generation program. The information processing apparatus referred to here includes a desktop or notebook personal computer. In addition, the information processing apparatus includes mobile communication terminals such as smartphones, mobile phones and PHS (Personal Handyphone System), and slate terminals such as PDA (Personal Digital Assistant).

また、端末装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の仮想イベント生成に関するサービスを提供する仮想イベント生成サーバ装置として実装することもできる。例えば、仮想イベント生成サーバ装置は、システムイベント及びアプリケーションの状態を入力とし、仮想イベントを出力とする仮想イベント生成サービスを提供するサーバ装置として実装される。この場合、仮想イベント生成サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の仮想イベント生成に関するサービスを提供するクラウドとして実装することとしてもかまわない。   The terminal device 10 can also be implemented as a virtual event generation server device that uses a terminal device used by a user as a client and provides the client with the above-described service related to virtual event generation. For example, the virtual event generation server device is implemented as a server device that provides a virtual event generation service that receives a system event and an application state as an input and outputs a virtual event. In this case, the virtual event generation server device may be implemented as a Web server, or may be implemented as a cloud that provides the above-described service related to virtual event generation by outsourcing.

図12は、プログラムが実行されることにより端末装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。   FIG. 12 is a diagram illustrating an example of a computer in which a terminal device is realized by executing a program. The computer 1000 includes a memory 1010 and a CPU 1020, for example. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to the display 1130, for example.

ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、端末装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、端末装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。   The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the terminal device 10 is implemented as a program module 1093 in which a code executable by a computer is described. The program module 1093 is stored in the hard disk drive 1090, for example. For example, a program module 1093 for executing processing similar to the functional configuration in the terminal device 10 is stored in the hard disk drive 1090. Note that the hard disk drive 1090 may be replaced by an SSD.

また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。   The setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN, WAN (Wide Area Network), etc.). Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.

10 端末装置
11 表示部
12 操作部
13 制御部
14 記憶部
131 OS
132 アプリケーション
132a 電子メールクライアント
132b ウェブブラウザ
132c ファイルマネージャ
132d 表計算ソフト
133 仮想イベント生成部
134 自動実行部
141 状態記憶部
142 条件記憶部
201 状態取得部
202 差分判定部
203 条件判定部
204 イベント生成部
301、401、403 ウィンドウ
302 チェックボックス
402 ボタン
DESCRIPTION OF SYMBOLS 10 Terminal device 11 Display part 12 Operation part 13 Control part 14 Storage part 131 OS
132 Application 132a Email Client 132b Web Browser 132c File Manager 132d Spreadsheet Software 133 Virtual Event Generation Unit 134 Automatic Execution Unit 141 State Storage Unit 142 Condition Storage Unit 201 Status Acquisition Unit 202 Difference Determination Unit 203 Condition Determination Unit 204 Event Generation Unit 301 , 401, 403 Window 302 Check box 402 button

Claims (5)

表示部にGUIを表示させるアプリケーションを実行する実行部と、
ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得部と、
前記状態取得部によって前記アプリケーションの第1の状態が取得された場合、前記第1の状態と、前記第1の状態の直前に前記状態取得部によって取得された第2の状態と、の間に差分があるか否かを判定する差分判定部と、
前記差分判定部により差分があると判定された場合、前記第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する条件判定部と、
前記条件判定部により前記第1の状態が前記特定の条件を満たしていると判定された場合、前記特定の条件に対応した特定のイベントを生成するイベント生成部と、
前記イベント生成部によって生成されたイベントに基づいて、前記アプリケーションに所定の処理を実行させる自動実行部と、
を有することを特徴とする端末装置。
An execution unit for executing an application for displaying a GUI on the display unit;
A state acquisition unit that acquires the state of the application each time a specific operation is performed by the user;
When the first state of the application is acquired by the state acquisition unit, between the first state and the second state acquired by the state acquisition unit immediately before the first state A difference determination unit that determines whether there is a difference; and
A condition determination unit that determines whether or not the first state satisfies a specific condition set in advance when the difference determination unit determines that there is a difference;
An event generation unit that generates a specific event corresponding to the specific condition when the condition determination unit determines that the first state satisfies the specific condition;
Based on the event generated by the event generation unit, an automatic execution unit that causes the application to execute a predetermined process;
The terminal device characterized by having.
前記状態取得部は、マウスクリック又はキーボードの押下が行われるたびに、前記表示部に表示されたGUI部品に対して入力された値を前記アプリケーションの状態として取得することを特徴とする請求項1に記載の端末装置。   2. The state acquisition unit acquires a value input to a GUI component displayed on the display unit as the state of the application every time a mouse click or a keyboard press is performed. The terminal device described in 1. 任意に設定された前記特定の条件、及び任意に設定された前記特定のイベントを対応付けたテーブルを記憶する条件記憶部をさらに有し、
前記条件判定部は、前記条件記憶部から取得した前記特定の条件を用いて判定を行い、
前記イベント生成部は、前記条件記憶部から取得した前記特定のイベントを生成することを特徴とする請求項1又は2に記載の端末装置。
A condition storage unit for storing a table in which the specific condition arbitrarily set and the specific event arbitrarily set are associated;
The condition determination unit performs determination using the specific condition acquired from the condition storage unit,
The terminal device according to claim 1, wherein the event generation unit generates the specific event acquired from the condition storage unit.
GUIを表示するアプリケーションを実行する実行部を有する端末装置で実行されるイベント生成方法であって、
ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得工程と、
前記状態取得工程によって前記アプリケーションの第1の状態が取得された場合、前記第1の状態と、前記第1の状態の直前に前記状態取得工程によって取得された第2の状態と、の間に差分があるか否かを判定する差分判定工程と、
前記差分判定工程により差分があると判定された場合、前記第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する条件判定工程と、
前記条件判定工程により前記第1の状態が前記特定の条件を満たしていると判定された場合、前記特定の条件に対応した特定のイベントを生成するイベント生成工程と、
前記イベント生成工程によって生成されたイベントに基づいて、前記アプリケーションに所定の処理を実行させる自動実行工程と、
を含んだことを特徴とするイベント生成方法。
An event generation method executed by a terminal device having an execution unit for executing an application for displaying a GUI,
Each time a specific operation is performed by the user, a state acquisition step of acquiring the state of the application;
When the first state of the application is acquired by the state acquisition step, between the first state and the second state acquired by the state acquisition step immediately before the first state. A difference determination step for determining whether there is a difference; and
A condition determining step for determining whether or not the first state satisfies a predetermined condition when it is determined that there is a difference in the difference determining step;
An event generation step of generating a specific event corresponding to the specific condition when the condition determination step determines that the first state satisfies the specific condition;
An automatic execution step for causing the application to execute a predetermined process based on the event generated by the event generation step;
The event generation method characterized by including.
コンピュータを、請求項1から3のいずれか1項に記載の端末装置として機能させるためのイベント生成プログラム。   An event generation program for causing a computer to function as the terminal device according to any one of claims 1 to 3.
JP2016207227A 2016-10-21 2016-10-21 Terminal device, event generation method, and event generation method program Active JP6574156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016207227A JP6574156B2 (en) 2016-10-21 2016-10-21 Terminal device, event generation method, and event generation method program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016207227A JP6574156B2 (en) 2016-10-21 2016-10-21 Terminal device, event generation method, and event generation method program

Publications (2)

Publication Number Publication Date
JP2018067267A JP2018067267A (en) 2018-04-26
JP6574156B2 true JP6574156B2 (en) 2019-09-11

Family

ID=62087177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016207227A Active JP6574156B2 (en) 2016-10-21 2016-10-21 Terminal device, event generation method, and event generation method program

Country Status (1)

Country Link
JP (1) JP6574156B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3265131B2 (en) * 1994-08-29 2002-03-11 日本電気株式会社 Event generation distribution method
JPH11242600A (en) * 1996-10-29 1999-09-07 Mitsubishi Electric Corp Software cooperation system for information processor
JP2002032182A (en) * 2000-07-19 2002-01-31 Ricoh Co Ltd Key allocating system and key allocating method
JP2003058290A (en) * 2001-08-09 2003-02-28 Densan System Co Ltd Input supporting method, input supporting program, recording medium and data processing system
JP2005293248A (en) * 2004-03-31 2005-10-20 Work Academy:Kk Annotation rule data creation apparatus and annotation system
JP5104379B2 (en) * 2008-02-15 2012-12-19 富士ゼロックス株式会社 Information processing apparatus and program
US8819567B2 (en) * 2011-09-13 2014-08-26 Apple Inc. Defining and editing user interface behaviors
CN103425391A (en) * 2013-07-31 2013-12-04 亚太宝龙科技(湖南)有限公司 Method and device used for switching application scene points of application program
JP6025176B2 (en) * 2013-08-23 2016-11-16 日本電信電話株式会社 Automatic operation system and method, and automatic operation program

Also Published As

Publication number Publication date
JP2018067267A (en) 2018-04-26

Similar Documents

Publication Publication Date Title
US9990209B2 (en) Digital assistance device for facilitating multi-stage setup
EP2810150B1 (en) Dynamic extension view with multiple levels of expansion
JP6479079B2 (en) Extension activation for related documents
CN109739450B (en) Interaction method and device
EP2810149B1 (en) Intelligent prioritization of activated extensions
JP6725564B2 (en) Creating apparatus, creating system, creating method and creating program
JP6750124B2 (en) Terminal device, UI expansion method, and UI expansion program
KR20160125401A (en) Inline and context aware query box
EP3070653A1 (en) Information processing apparatus, information processing system, and information processing method
CN111782516A (en) Code testing method and device and storage medium
WO2016154159A1 (en) Providing interactive preview of content within communication
US9658933B2 (en) Automatically modifying a test for a program on multiple electronic devices
US10572303B2 (en) Computer-implemented task switching assisting based on work status of task
US11314530B2 (en) User-based extension setting devices, methods, and programs
JP6668953B2 (en) Data processing device and program
JP6574156B2 (en) Terminal device, event generation method, and event generation method program
JP2020173570A (en) Analysis apparatus, analysis method, and program
CN108108077B (en) Desktop management method and device
CN109359042A (en) A kind of automated testing method based on path search algorithm
CN109948251B (en) CAD-based data processing method, device, equipment and storage medium
JP6528285B2 (en) Crisis response management device
CN112328815B (en) Slide storage method and device
US9342215B2 (en) Automatic environment restoration for a particular artwork
WO2022239165A1 (en) Display control device, display control method, and display control program
JP6822920B2 (en) Analytical device and analytical method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190704

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190815

R150 Certificate of patent or registration of utility model

Ref document number: 6574156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150