JP6574156B2 - Terminal device, event generation method, and event generation method program - Google Patents
Terminal device, event generation method, and event generation method program Download PDFInfo
- 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
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
しかしながら、従来の端末に処理を自動実行させる技術には、ユーザの多様な操作に柔軟に対応することができない場合があるという問題があった。例えば、システム上でイベントとして定義されていない操作がユーザによって行われた場合、従来の技術では、当該操作に対応した処理を端末に自動実行させることは困難である。 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.
以下に、本願に係る端末装置、イベント生成方法及びイベント生成プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。 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
制御部13は、端末装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。
The
制御部13は、OS131、アプリケーション132、仮想イベント生成部133及び自動実行部134を有する。アプリケーション132は、表示部11にGUI(Graphical User Interface)を表示させる。アプリケーション132は、例えば、電子メールクライアント、ウェブブラウザ、ファイルマネージャ、表計算ソフト等である。なお、アプリケーション132の数は、図中の数に限定されず、任意の数とすることができる。
The
仮想イベント生成部133は、ユーザによる操作が行われた際に、所定の条件が満たされている場合、イベントを生成する。以降、仮想イベント生成部133によって生成されるイベントを仮想イベントとよぶ。仮想イベントが生成されると、自動実行部134は、OS131又はアプリケーション132に、生成された仮想イベントに対応した処理を実行させる。
The virtual
仮想イベント生成部133は、状態取得部201、差分判定部202、条件判定部203及びイベント生成部204を有する。また、記憶部14は、状態記憶部141及び条件記憶部142を有する。
The virtual
状態取得部201は、ユーザにより特定の操作が行われるたびに、アプリケーションの状態を取得する。状態取得部201は、例えば、マウスクリック又はキーボードの押下が行われるたびに、各アプリケーションから状態を直接取得してもよいし、表示部11に表示されたGUI部品に対して入力された値をアプリケーションの状態として取得してもよい。このとき、状態取得部201は、例えば、OS131から、マウスクリック又はキーボードの押下イベントを受け取る。そして、状態取得部201は、例えば、GUI部品に入力された値として、テキストボックスの文字列、チェックボックスのON/OFFを示す値、リストボックスの選択された値等を取得する。
The
状態取得部201は、取得したアプリケーションの状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。また、状態取得部201は、OS131から受け取ったイベントを状態記憶部141に記憶させる。
The
差分判定部202は、状態取得部201によってアプリケーションの第1の状態が取得された場合、第1の状態と、第1の状態の直前に状態取得部201によって取得された第2の状態と、の間に差分があるか否かを判定する。具体的には、差分判定部202は、状態取得部201から受け取ったアプリケーションの状態を第1の状態とし、状態記憶部141に記憶されているアプリケーションの状態のうち、第1の状態を除き最後に格納されたものを第2の状態とする。
When the first state of the application is acquired by the
通常、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
条件判定部203は、差分判定部202により差分があると判定された場合、第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する。条件記憶部142は、条件判定部203が判定に用いる条件のリストを記憶している。
When the
また、条件記憶部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
なお、「イベントを生成する」とは、イベントを発生させることであり、イベント生成部204は、仮想イベント生成部133に含まれない自動化ツール等によっても解釈可能な形式でイベントを発生させる。
“Generating an event” means generating an event, and the
また、イベント生成部204は、条件判定部203により第1の状態が特定の条件を満たしていると判定された場合、特定の条件に対応した特定のイベントを生成する。また、自動実行部134は、仮想イベントを解釈しアプリケーション132に処理を実行させる自動化ツールとして機能する。
In addition, the
図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
まず、状態取得部201は、OS131から、「Window1.Checkbox1 clicked」、つまり、「ウィンドウ301のチェックボックス302がクリックされた」というイベントを受け取る。そして、状態取得部201は、ウィンドウ301を含むGUIオブジェクトの状態を取得し、取得した状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。
First, the
ここで、差分判定部202は、状態取得部201から受け取った各アプリケーションの状態と、状態記憶部141に記憶されている各アプリケーションの状態のうち、状態取得部201から受け取った各アプリケーションの状態を除く最新の状態と、を比較し、状態に差分が生じているアプリケーションを特定する。ここで、状態に差分が生じているアプリケーションは、マウスクリック又はキーボードの押下イベントの対象となったアプリケーションであると推測することができる。
Here, the
ウィンドウ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
なお、条件「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
条件判定部203によって、ウィンドウ301の状態が、仮想イベント「詳細設定開始」を生成する条件を満たしていると判定された場合、イベント生成部204は、仮想イベント「詳細設定開始」を生成する。また、仮想イベント「詳細設定開始」が生成されると、自動実行部134は、例えば、詳細設定を行うためのアプリケーション132を起動する。
When the
次に、図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
ここで、ウィンドウ401のようなダイアログは、システムの様々な場所で使いまわされることが多い。ウィンドウ401のようなダイアログは、例えば不可逆な動作を実施する直前に表示される。このため、同じダイアログに対する操作であっても、コンテキストによって異なる仮想イベントが生成されることが望ましい。
Here, a dialog like the
まず、状態取得部201は、OS131から、「Window1.Button1 clicked」、つまり、「ウィンドウ401のボタン402がクリックされた」というイベントを受け取る。そして、状態取得部201は、ウィンドウ401を含むGUIオブジェクトの状態を取得し、取得した状態を差分判定部202に送信するとともに、状態記憶部141に記憶させる。そして、差分判定部202は、仮想イベント「詳細設定開始」の場合と同様に、状態に差分が生じているアプリケーションを特定する。
First, the
ウィンドウ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
なお、条件「Window1.title == ‘確認’」は、ウィンドウ401のタイトルが「確認」である場合に満たされる。また、条件「Window1.Button1.text =~ ‘はい’」は、ボタン402のテキストに「はい」という文字列が含まれている場合に満たされる。また、「Window2.title == ‘新規設備登録’」は、ウィンドウ401の呼出し元のウィンドウ、すなわちウィンドウ403のタイトルが「新規設備登録」であった場合に満たされる。
The condition “Window1.title ==“ confirmation ”” is satisfied when the title of the
条件判定部203によって、ウィンドウ401の状態が、仮想イベント「設備登録」を生成する条件を満たしていると判定された場合、イベント生成部204は、仮想イベント「設備登録」を生成する。また、仮想イベント「設備登録」が生成されると、自動実行部134は、例えば、設備登録を行うためのアプリケーション132を起動する。
When the
仮想イベント生成部133は、前述の「詳細設定開始」及び「設備登録」以外にも、図6に示すような様々な仮想イベントを生成することが考えられる。図6は、第1の実施形態に係る仮想イベントの一覧の一例を示す図である。
The virtual
図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
例えば、図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
また、図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
また、図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
また、図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
また、図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
また、図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
[第1の実施形態の処理]
図9を用いて、端末装置10の処理の流れについて説明する。図9は、第1の実施形態に係る端末装置の処理の流れを示すフローチャートである。図9に示すように、まず、端末装置10の状態取得部201は、ユーザによる特定の操作が行われるまで待機する(ステップS101、No)。状態取得部201は、ユーザによる特定の操作が行われた場合(ステップS101、Yes)、アプリケーションの状態を取得する(ステップS102)。
[Process of First Embodiment]
The process flow of the
差分判定部202は、状態取得部201によって取得されたアプリケーションの状態と、状態記憶部141に記憶された直前のアプリケーションの状態との間に差分があるか否かを判定する(ステップS103)。差分判定部202によって差分があると判定されなかった場合(ステップS103、No)、端末装置10は処理を終了する。
The
差分判定部202によって差分があると判定された場合(ステップS103、Yes)、状態取得部201は、取得したアプリケーションの状態を状態記憶部141に格納する(ステップS104)。なお、状態取得部201がアプリケーションの状態を状態記憶部141に格納するタイミングは、差分判定部202による差分判定の前であってもよい。
If the
次に、条件判定部203は、仮想イベントを生成する条件が満たされているか否かを判定する(ステップS105)。条件判定部203によって条件が満たされていると判定されなかった場合(ステップS105、No)、端末装置10は処理を終了する。また、条件判定部203によって条件が満たされていると判定された場合(ステップS105、Yes)、イベント生成部204は、仮想イベントを生成する(ステップS106)。このとき、仮想イベントに対応した処理が設定されている場合、自動実行部134は、処理を自動実行させる(ステップS107)。
Next, the
また、図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
ここで、差分判定部202は、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じであるか否かを判定する(ステップS203)。差分判定部202によって、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じであると判定された場合(ステップS203、Yes)、端末装置10は処理を終了する。
Here, the
また、差分判定部202によって、状態取得部201によって取得されたセルの座標が、前回取得されたセルの座標と同じでないと判定された場合(ステップS203、No)、状態取得部201は、フォーカスされているセルの座標と内容を状態記憶部141に記憶させる(ステップS204)。このように、差分判定部202は、アプリケーションの状態の一例であるフォーカスされているセルの座標に基づいて差分の有無を判定することができる。
When the
ここで、状態取得部201は、さらに、前回の座標の内容(現在値)を取得する(ステップS205)。ここで、前回の座標とは、フォーカスが移動する前の座標である。そして、条件判定部203は、フォーカスが移動する前のセルの、状態記憶部141に記憶されている内容と、現在値とを比較し、一致した場合(ステップS206、Yes)は処理を終了する。また、一致しなかった場合(ステップS206、No)、イベント生成部204は、仮想イベント「セル値変化」を生成する(ステップS207)。この場合、自動実行部134は、例えば、ウェブブラウザを起動させ、変化したセルの内容を検索サイトで検索した結果を所定のセルに書き込むといった処理を実行させることができる。
Here, the
図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
なお、ステップ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
差分判定部202によって、チェックボックスのON/OFFを示す値が、状態記憶部141に記憶されている値と一致していないと判定された場合(ステップS303、No)、状態取得部201は、取得したチェックボックスのON/OFFを示す値を状態記憶部141に記憶させる(ステップS304)。
When the
条件判定部203は、チェックボックスの現在値がONを示す値であるか否かを判定する(ステップS305)。条件判定部203によってチェックボックスの現在値がONを示す値であると判定された場合(ステップS305、Yes)、イベント生成部204は、仮想イベント「チェックボックスON」を生成する(ステップS306)。また、条件判定部203によってチェックボックスの現在値がONを示す値でないと判定された場合(ステップS305、No)、イベント生成部204は、仮想イベント「チェックボックスOFF」を生成する(ステップS306)。
The
[第1の実施形態の効果]
制御部13は、表示部11にGUIを表示させるアプリケーション132を実行する。また、状態取得部201は、ユーザにより特定の操作が行われるたびに、アプリケーションの状態を取得する。また、差分判定部202は、状態取得部201によってアプリケーションの第1の状態が取得された場合、第1の状態と、第1の状態の直前に状態取得部201によって取得された第2の状態と、の間に差分があるか否かを判定する。
[Effect of the first embodiment]
The
条件判定部203は、差分判定部202により差分があると判定された場合、第1の状態があらかじめ設定された特定の条件を満たしているか否かを判定する。また、イベント生成部204は、条件判定部203により第1の状態が特定の条件を満たしていると判定された場合、特定の条件に対応した特定のイベントを生成する。また、自動実行部134は、イベント生成部204によって生成されたイベントに基づいて、アプリケーション132に所定の処理を自動的に実行させる。
When the
これにより、ユーザの操作をシステムイベントとして取得することができない場合であっても、仮想イベントとして定義しておくことで、当該ユーザの操作に基づく処理を端末に自動的に実行させることが可能となる。このように、本実施形態によれば、端末に処理を自動実行させる際に、ユーザの多様な操作に柔軟に対応することができるようになる。 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
条件記憶部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
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、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
また、端末装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の仮想イベント生成に関するサービスを提供する仮想イベント生成サーバ装置として実装することもできる。例えば、仮想イベント生成サーバ装置は、システムイベント及びアプリケーションの状態を入力とし、仮想イベントを出力とする仮想イベント生成サービスを提供するサーバ装置として実装される。この場合、仮想イベント生成サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の仮想イベント生成に関するサービスを提供するクラウドとして実装することとしてもかまわない。
The
図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
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、端末装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、端末装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
The hard disk drive 1090 stores, for example, an
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
The setting data used in the processing of the above-described embodiment is stored as
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
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
132
Claims (5)
ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得部と、
前記状態取得部によって前記アプリケーションの第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.
前記条件判定部は、前記条件記憶部から取得した前記特定の条件を用いて判定を行い、
前記イベント生成部は、前記条件記憶部から取得した前記特定のイベントを生成することを特徴とする請求項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.
ユーザにより特定の操作が行われるたびに、前記アプリケーションの状態を取得する状態取得工程と、
前記状態取得工程によって前記アプリケーションの第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.
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)
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 |
-
2016
- 2016-10-21 JP JP2016207227A patent/JP6574156B2/en active Active
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 |