(57)【要約】【課題】汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できるプログラムを提供することを課題とする。【解決手段】コンピュータを、表示部に表示された画面の履歴から監視制御対象とする画面の選択をユーザから受け付ける監視制御対象画面登録受付手段、表示部への画面の表示を検出する表示検出手段、ユーザによる操作を検出する操作検出手段、表示検出手段により表示部への表示を検出された画面がユーザより選択された監視制御対象とする画面であれば、所定時間の間、操作検出手段が検出したユーザによる操作を無効とする判定手段、として機能させるためのプログラムにより上記課題を解決する。【選択図】  図２
2018156358.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
表示部に表示された画面の履歴から監視制御対象とする前記画面の選択をユーザから受け付ける監視制御対象画面登録受付手段、
前記表示部への画面の表示を検出する表示検出手段、
前記ユーザによる操作を検出する操作検出手段、
前記表示検出手段により前記表示部への表示を検出された画面が前記ユーザより選択された前記監視制御対象とする前記画面であれば、所定時間の間、前記操作検出手段が検出した前記ユーザによる操作を無効とする判定手段、
として機能させるためのプログラム。
【請求項２】
前記コンピュータを、更に、
前記表示部からの画面の消去を消去検出手段、として機能させ、
前記判定手段は、前記消去検出手段により前記表示部からの消去を検出された画面が前記ユーザより選択された前記監視制御対象とする前記画面であれば、所定時間の間、前記操作検出手段が検出した前記ユーザによる操作を無効とすること
を特徴とする請求項１記載のプログラム。
【請求項３】
前記監視制御対象画面登録受付手段は、前記ユーザから前記監視制御対象とする前記画面ごとに、前記操作検出手段が検出した前記ユーザによる操作を無効とする前記所定時間の設定を受け付けること
を特徴とする請求項２記載のプログラム。
【請求項４】
前記監視制御対象画面登録受付手段は、前記操作検出手段が検出した前記ユーザによる操作を無効とする前記所定時間を、前記監視制御対象とする前記画面の表示後又は消去後のどちらに設定するかを、前記監視制御対象とする前記画面ごとに、前記ユーザから受け付けること
を特徴とする請求項２又は３記載のプログラム。
【請求項５】
表示部に表示された画面の履歴から監視制御対象とする前記画面の選択をユーザから受け付ける監視制御対象画面登録受付手段と、
前記表示部への画面の表示を検出する表示検出手段と、
前記ユーザによる操作を検出する操作検出手段と、
前記表示検出手段により前記表示部への表示を検出された画面が前記ユーザより選択された前記監視制御対象とする前記画面であれば、所定時間の間、前記操作検出手段が検出した前記ユーザによる操作を無効とする判定手段と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
例えばユーザが意図しないタイミングでメニュー画面などの表示アイテムが表示されたり消去されたりすると、ユーザが何らかの操作をしたときに、ユーザが意図していない別のアイコンやボタンなどの表示アイテムの操作が実行されてしまう場合がある。
【０００３】
従来、ユーザ操作を伴わず、画面を表示・消去するタイミングで、タッチ操作を一時的に無効とすることにより、ユーザの意図しない操作が実行されてしまうことを抑制することができる技術が知られていた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、画面を表示・消去するタイミングで、タッチ操作を一時的に無効とすることにより、ユーザの意図しない操作が実行されてしまうことを抑制する仕組みを、表示アイテムを表示するプログラム自身が実装しなければならなかった。
【０００５】
本発明の実施の形態は、汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を達成するために本願請求項１は、コンピュータを、表示部に表示された画面の履歴から監視制御対象とする前記画面の選択をユーザから受け付ける監視制御対象画面登録受付手段、前記表示部への画面の表示を検出する表示検出手段、前記ユーザによる操作を検出する操作検出手段、前記表示検出手段により前記表示部への表示を検出された画面が前記ユーザより選択された前記監視制御対象とする前記画面であれば、所定時間の間、前記操作検出手段が検出した前記ユーザによる操作を無効とする判定手段、として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、汎用的な仕組みにより、ユーザの意図しない操作が実行されてしまうことを抑制できる。
【図面の簡単な説明】
【０００８】
【図１】コンピュータの一例のハードウェア構成図である。
【図２】本実施形態に係るコンピュータの一例の処理ブロック図である。
【図３】監視制御対象ダイアログを登録する処理の一例のシーケンス図である。
【図４】全ダイアログ履歴データベースの一例の構成図である。
【図５】ダイアログ選択画面の一例のイメージ図である。
【図６】ダイアログ登録画面の一例のイメージ図である。
【図７】ダイアログ編集画面の一例のイメージ図である。
【図８】監視制御対象ダイアログデータベースの一例の構成図である。
【図９】監視制御対象ダイアログデータベースを編集する処理の一例のシーケンス図である。
【図１０】ダイアログが表示されたときの処理の一例のシーケンス図である。
【図１１】ダイアログが消去されたときの処理の一例のシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１０】
＜ハードウェア構成＞
後述のダイアログ表示プログラム及びダイアログ監視制御プログラムは、例えば図１に示すようなハードウェア構成のコンピュータにより実行される。図１はコンピュータの一例のハードウェア構成図である。
【００１１】
図１に示したコンピュータ５００は、入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００１２】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００１３】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００１４】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。なお、コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００１５】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ、ＳＩＭカードなどがある。
【００１６】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００１７】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。ＣＰＵ５０６は１つのプロセッサ又は複数のプロセッサで実現されていてもよい。
【００１８】
本実施形態では、図１に示すコンピュータ５００において後述のダイアログ表示プログラム及びダイアログ監視制御プログラムを実行することにより、図２に示すような各種処理を実現できる。
【００１９】
＜ソフトウェア構成＞
図２は本実施形態に係るコンピュータの一例の処理ブロック図である。なお、図２の処理ブロック図は、本実施形態の説明に不要な構成について省略している。図２に示したコンピュータ５００はダイアログ監視制御プログラム１０を実行することにより、ダイアログフック部１１、ダイアログ表示検出部１２、全ダイアログ履歴自動記録部１３、監視制御対象ダイアログデータベース編集ＵＩ部１４、ダイアログ消去検出部１５、キー押下＆ボタンクリック検出部１６、キー押下＆ボタンクリック有効無効判定部１７、タイマー部１８を実現している。
【００２０】
また、図２に示したコンピュータ５００はダイアログ表示プログラム３０を実行することによりダイアログ表示部３１を実現している。ダイアログ表示プログラム３０はＯＳやアプリケーションなどである。ダイアログ表示部３１は、予想できないイベントを検出すると、例えばイベント通知ダイアログ１０００などのダイアログを表示して、ユーザにイベントの発生を通知する。予想できないイベントは、例えばメール受信やエラー発生等である。
【００２１】
ダイアログ監視制御プログラム１０のダイアログフック部１１は、ＯＳのダイアログ表示ＡＰＩ（アプリケーションプログラムインタフェース）をフックし、ダイアログ表示部３１によるイベント通知ダイアログ１０００などのダイアログの表示を監視する。ダイアログ表示検出部１２はイベント通知ダイアログ１０００が表示されたことを検出し、全ダイアログ履歴自動記録部１３に通知する。
【００２２】
全ダイアログ履歴自動記録部１３は、表示された全てのダイアログの履歴を全ダイアログ履歴データベース２１に記録する。監視制御対象ダイアログデータベース編集ＵＩ部１４は、例えば画面右下のタスクトレイにダイアログ監視制御プログラム１０のアイコンを表示する。なお、タスクトレイは起動中のプログラムのアイコンを表示する領域の一例である。
【００２３】
ユーザは、あるダイアログのボタンに対し、意図しない操作を実行してしまう可能性があると判断すると、タスクトレイのアイコンを右クリックしてメニューから「ダイアログを登録する」を選択する。ユーザによる「ダイアログを登録する」の選択を受けて、監視制御対象ダイアログデータベース編集ＵＩ部１４はダイアログ選択画面を表示し、監視制御対象ダイアログデータベース２２に登録するダイアログをユーザに選択させる。ダイアログ選択画面の詳細は後述する。また、ユーザがタスクトレイのアイコンを右クリックしてメニューから「ダイアログデータベースを編集する」を選択すると、監視制御対象ダイアログデータベース編集ＵＩ部１４はダイアログ編集画面を表示し、ユーザが監視制御対象ダイアログデータベース２２を編集できるようにする。ダイアログ編集画面の詳細は後述する。
【００２４】
また、ダイアログ表示検出部１２はダイアログが表示されたことを検出すると、全ダイアログ履歴自動記録部１３への通知に続いて、キー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７は監視制御対象ダイアログデータベース２２を参照して、表示されたダイアログが監視制御対象であるか否かを判定する。監視制御対象であると判定すると、キー押下＆ボタンクリック有効無効判定部１７は監視制御対象ダイアログデータベース２２の内容に従い、処理を行う。
【００２５】
例えばキー押下＆ボタンクリック有効無効判定部１７は自動実行アクションが記述されていれば、そのアクションを自動実行する。また、キー押下＆ボタンクリック有効無効判定部１７はダイアログ表示後の抑止時間に「０秒」以外が記述されていれば、タイマー部１８に通知して、抑止時間を計時するタイマーを起動する。
【００２６】
ダイアログ消去検出部１５はイベント通知ダイアログ１０００などのダイアログが消去されたことを検出し、キー押下＆ボタンクリック有効無効判定部１７に通知する。ダイアログの消去が通知されると、キー押下＆ボタンクリック有効無効判定部１７は監視制御対象ダイアログデータベース２２を参照する。ダイアログ消去後の抑止時間に「０秒」以外が記述されていれば、キー押下＆ボタンクリック有効無効判定部１７はタイマー部１８に通知して、抑止時間を計時するタイマーを起動する。
【００２７】
キー押下＆ボタンクリック検出部１６はユーザによるキー押下やマウスのクリック操作を検出し、キー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスのクリック操作を通知されると、監視制御対象ダイアログデータベース２２の記述及びタイマー部１８の状況を参照し、ユーザによるキー押下やマウスのクリック操作を無効化するか否かを判定する。
【００２８】
無効化すると判定すると、キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスクリックを無効化する。なお、キー押下やマウスクリックの無効化はダイアログ表示後の無効化と、ダイアログ消去後の無効化と、がある。
【００２９】
このように、常駐プログラムであるダイアログ監視制御プログラム１０は以下のような機能を持つ。まず、ダイアログ監視制御プログラム１０はＯＳのダイアログ表示ＡＰＩをフックし、ＯＳやアプリケーションによるダイアログ表示を監視する機能を持つ。ダイアログ監視制御プログラム１０はＯＳやアプリケーションがダイアログを表示する度に全ダイアログ履歴データベース２１に記録する機能を持つ。
【００３０】
また、ダイアログ監視制御プログラム１０は表示後の所定時間、ユーザによるキー押下やマウスのクリック操作を受け付けないダイアログを管理するための監視制御対象ダイアログデータベース２２を参照および更新する機能を持つ。ダイアログ監視制御プログラム１０はユーザが監視制御対象としたいダイアログを発見したとき、そのダイアログをユーザが監視制御対象ダイアログデータベース２２に登録するためのＧＵＩ（グラフィカルユーザインターフェース）を持つ。
【００３１】
ダイアログ監視制御プログラム１０は監視制御対象ダイアログデータベース２２の登録に合致するダイアログが表示されたとき、そのダイアログが表示されてから所定時間が経過するまでの間、キー押下やマウスのクリック操作を受け付けない機能を持つ。また、ダイアログ監視制御プログラム１０は監視制御対象ダイアログデータベース２２に自動実行するアクションが登録されていれば、そのアクションを自動実行する機能を持つ。
【００３２】
また、ダイアログ監視制御プログラム１０は監視制御対象ダイアログデータベース２２の登録に合致するダイアログをＯＳやアプリケーションが消去すると、監視制御対象ダイアログデータベース２２の登録に合致するダイアログの表示と同様に処理する。ダイアログ監視制御プログラム１０は、そのダイアログが消去されてから所定時間が経過するまでの間、キー押下やマウスのクリック操作を受け付けない機能を持つ。
【００３３】
なお、ＯＳがＷｉｎｄｏｗｓ（登録商標）の場合、ダイアログ表示ＡＰＩには例えばＭｅｓｓａｇｅＢｏｘ（）、ＭｅｓｓａｇｅＢｏｘＥｘ（）、ＤｉａｌｏｇＢｏｘ（）などがある。ＯＳのＡＰＩをフックすることによってＡＰＩの動作に変更を加える技術は公知である。例えばＯＳがＷｉｎｄｏｗｓ（登録商標）の場合、ＳｅｔＷｉｎｄｏｗｓＨｏｏｋＥｘ（）ＡＰＩを利用してグローバルフックを実行することが考えられる。
【００３４】
＜処理＞
《監視制御対象ダイアログの登録》
図３は監視制御対象ダイアログを登録する処理の一例のシーケンス図である。ステップＳ１１において、ダイアログフック部１１はＯＳのダイアログ表示ＡＰＩをフックし、ダイアログ表示部３１によるイベント通知ダイアログ１０００などのダイアログの表示を監視する。
【００３５】
ステップＳ１２において、ダイアログ表示検出部１２はイベント通知ダイアログ１０００が表示されたことを検出し、全ダイアログ履歴自動記録部１３に通知する。ステップＳ１３に進み、全ダイアログ履歴自動記録部１３は表示されたダイアログの情報を全ダイアログ履歴データベース２１に送信する。ステップＳ１４において全ダイアログ履歴データベース２１は表示された全てのダイアログの情報を例えば図４のように記録する。
【００３６】
図４は全ダイアログ履歴データベースの一例の構成図である。全ダイアログ履歴データベース２１は、表示日時、アプリケーション名、ＡＰＩ、ダイアログ識別データ、表示後の最初のユーザアクション及びダイアログのイメージデータへのポインタを項目として有している。
【００３７】
表示日時はダイアログが表示された日時を表している。アプリケーション名はダイアログを表示したダイアログ表示プログラム３０の名称である。ＡＰＩはフックしたダイアログ表示ＡＰＩを示している。ダイアログ識別データはダイアログを識別する情報の一例であって、例えばダイアログ表示ＡＰＩの種類によりダイアログ監視制御プログラム１０が決定する。図４の例では、ダイアログ表示ＡＰＩの種類がＭｅｓｓａｇｅＢｏｘ（）またはＭｅｓｓａｇｅＢｏｘＥｘ（）の場合、ダイアログに表示されている文字列をダイアログ識別データとして利用している。また、図４の例ではダイアログ表示ＡＰＩの種類がＤｉａｌｏｇＢｏｘ（）の場合、ダイアログ表示関数のパラメータの値の組み合わせをダイアログ識別データとして利用している。
【００３８】
表示後の最初のユーザアクションはダイアログが表示されたあとにユーザから最初に受け付けたユーザアクションを示している。ダイアログのイメージデータへのポインタは表示されたダイアログのイメージデータへのポインタである。
【００３９】
なお、全ダイアログ履歴データベース２１は例えば登録する最大件数（例えば３００件など）を設定しておき、登録する最大件数を超えた分を古い順に自動削除するようにしてもよい。
【００４０】
図３に戻り、ユーザは、ダイアログの表示や消去により、ダイアログのボタンを誤って押してしまう可能性があると判断すると、ステップＳ１５において、タスクトレイのアイコンを右クリックしてメニューを表示させる。タスクトレイのアイコンを右クリックすることで表示されるメニューには「ダイアログを登録する」「ダイアログデータベースを編集する」「ダイアログ監視制御プログラムを終了する」などが含まれる。ユーザは表示させたメニューから「ダイアログを登録する」を選択する。
【００４１】
ユーザによる「ダイアログを登録する」の選択を受けて監視制御対象ダイアログデータベース編集ＵＩ部１４はステップＳ１６に進み、最近に表示されたダイアログの情報の提供を全ダイアログ履歴データベース２１に指示する。ステップＳ１７において、監視制御対象ダイアログデータベース編集ＵＩ部１４は最近に表示されたダイアログの情報を全ダイアログ履歴データベース２１から読み込む。
【００４２】
ステップＳ１８に進み、監視制御対象ダイアログデータベース編集ＵＩ部１４は図５に示すようなダイアログ選択画面１１００を表示する。図５はダイアログ選択画面の一例のイメージ図である。ダイアログ選択画面１１００には、ステップＳ１７で全ダイアログ履歴データベース２１から読み込んだ最近に表示されたダイアログの情報に基づき、ダイアログの一覧が表示されている。ユーザはダイアログ選択画面１１００に表示されたダイアログの一覧から、選択のチェックボックスにチェックを入れることで、監視制御対象ダイアログデータベース２２に登録するダイアログを選択できる。
【００４３】
ステップＳ１９において、キャンセルボタン１１０２がユーザにより押下されると監視制御対象ダイアログデータベース編集ＵＩ部１４はダイアログ選択画面１１００を消去してタスクトレイのアイコンを右クリックする前の状態に戻る。選択のチェックボックスにチェックが入れられた状態で登録ボタン１１０１がユーザにより押下されると、監視制御対象ダイアログデータベース編集ＵＩ部１４はステップＳ２１において図６のようなダイアログ登録画面１２００を表示する。
【００４４】
図６はダイアログ登録画面の一例のイメージ図である。ダイアログ登録画面１２００は登録日、アプリケーション、イメージ、抑止タイミング、抑止時間、アクション自動実行までの時間、自動実行するアクション、説明を項目として有している。登録日はダイアログが登録される年月日を表している。アプリケーションはダイアログを表示したダイアログ表示プログラム３０を表している。イメージは登録するダイアログのイメージを表している。
【００４５】
抑止タイミング、抑止時間、アクション自動実行までの時間、自動実行するアクション及び説明は、ユーザが編集可能な項目である。抑止タイミングは、ユーザによるキー押下やマウスのクリック操作をダイアログの表示後に抑止するのか、ダイアログの消去後に抑止するのか、を表している。
【００４６】
抑止時間は、ダイアログの表示後又はダイアログの消去後に、ユーザによるキー押下やマウスのクリック操作を抑止する時間を表している。アクション自動実行までの時間は自動実行するアクションの自動実行までの時間を表している。自動実行するアクションはダイアログの表示後又はダイアログの消去後に、自動実行するアクションを表している。
【００４７】
ステップＳ２２において、キャンセルボタン１２０２がユーザにより押下されると監視制御対象ダイアログデータベース編集ＵＩ部１４はダイアログ登録画面１２００を消去してタスクトレイのアイコンを右クリックする前の状態に戻る。
【００４８】
登録ボタン１２０１が押下されると、監視制御対象ダイアログデータベース編集ＵＩ部１４はステップＳ２４に進み、図６の監視制御対象であるダイアログの情報を監視制御対象ダイアログデータベース２２に登録する。また、ステップＳ２５に進み、監視制御対象ダイアログデータベース編集ＵＩ部１４は図７に示すようなダイアログ編集画面１３００を表示する。
【００４９】
図７はダイアログ編集画面の一例のイメージ図である。ダイアログ編集画面１３００は図６のダイアログ登録画面１２００から登録された監視制御対象のダイアログの情報が一番目の表示に追加されている。図７のダイアログ編集画面１３００は図６のダイアログ登録画面１２００に項目「有効？」が追加されている。項目「有効？」は、その行のダイアログに対する監視制御を有効とするか否かを選択するチェックボックスである。
【００５０】
ステップＳ２６において、ユーザは図７のダイアログ編集画面１３００の追加ボタン１３０１を押下することにより、監視制御対象ダイアログデータベース２２への監視制御対象のダイアログの情報の追加を指示できる。ユーザは図７のダイアログ編集画面１３００の行をクリックして編集ボタン１３０２を押下することにより、監視制御対象ダイアログデータベース２２への監視制御対象のダイアログの情報の編集を指示できる。また、ユーザは図７のダイアログ編集画面１３００の行をクリックして削除ボタン１３０３を押下することにより、監視制御対象ダイアログデータベース２２からの監視制御対象のダイアログの情報の削除を指示できる。
【００５１】
ステップＳ２７に進み、監視制御対象ダイアログデータベース編集ＵＩ部１４はユーザからの指示に応じて、監視制御対象ダイアログデータベース２２から監視制御対象のダイアログの情報の追加、編集又は削除を行うことができる。なお、キャンセルボタン１３０４がユーザにより押下されると監視制御対象ダイアログデータベース編集ＵＩ部１４はダイアログ編集画面１３００を消去してタスクトレイのアイコンを右クリックする前の状態に戻る。
【００５２】
図８は監視制御対象ダイアログデータベースの一例の構成図である。監視制御対象ダイアログデータベース２２は、有効？、登録日、アプリケーション名、ＡＰＩ、ダイアログ識別データ、ダイアログのイメージデータへのポインタ、抑止タイミング、抑止時間、アクション自動実行までの時間、自動実行するアクション及び説明を項目として有する。
【００５３】
なお、図８の監視制御対象ダイアログデータベース２２の項目は、図４の全ダイアログ履歴データベース２１の項目と、図６のダイアログ登録画面１２００から登録される項目又は図７のダイアログ編集画面１３００から編集される項目とにより生成できる。
【００５４】
《監視制御対象ダイアログの編集》
図９は、監視制御対象ダイアログデータベースを編集する処理の一例のシーケンス図である。監視制御対象ダイアログデータベース２２の内容を編集したいユーザは、図９のステップＳ３１において、タスクトレイのアイコンを右クリックしてメニューから「ダイアログデータベースを編集する」を選択する。
【００５５】
ユーザによる「ダイアログデータベースを編集する」の選択を受けて監視制御対象ダイアログデータベース編集ＵＩ部１４はステップＳ３１からステップＳ３２に進み、図７のダイアログ編集画面１３００を表示する。ステップＳ３３〜Ｓ３４は、図３のステップＳ２６〜Ｓ２７の処理と同様である。
【００５６】
《ダイアログの表示》
図１０はダイアログが表示されたときの処理の一例のシーケンス図である。ステップＳ４１において、ダイアログ表示検出部１２はイベント通知ダイアログ１０００が表示されたことを検出する。
【００５７】
ダイアログ表示検出部１２はダイアログが表示されたことを検出すると、キー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７はステップＳ４２に進み、ステップＳ４１で検出されたダイアログが監視制御対象として記録されているか否かを監視制御対象ダイアログデータベース２２に問い合わせる。
【００５８】
ステップＳ４１で検出されたダイアログが監視制御対象として記録されていればキー押下＆ボタンクリック有効無効判定部１７はステップＳ４３において、そのダイアログのレコードを監視制御対象ダイアログデータベース２２から読み込む。
【００５９】
ステップＳ４４に進み、キー押下＆ボタンクリック有効無効判定部１７はステップＳ４１で検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されており且つ監視制御対象のダイアログであるか否かを判定する。
【００６０】
ステップＳ４１で検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されていないか、又は、監視制御対象のダイアログでなければ、ダイアログ監視制御プログラム１０は図３のステップＳ１３〜Ｓ１４の処理後、タスクトレイのアイコンを右クリックする前の状態に戻る。
【００６１】
ステップＳ４１で検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されており且つ監視制御対象のダイアログであれば、キー押下＆ボタンクリック有効無効判定部１７はステップＳ４５に進む。
【００６２】
ステップＳ４５において、キー押下＆ボタンクリック有効無効判定部１７は監視制御対象ダイアログデータベース２２を参照して、検出されたダイアログに自動実行アクションが記述されているか否かを判定する。検出されたダイアログに自動実行アクションが記述されていれば、キー押下＆ボタンクリック有効無効判定部１７はステップＳ４６に進み、そのアクションを自動実行する。検出されたダイアログに自動実行アクションが記述されていなければ、キー押下＆ボタンクリック有効無効判定部１７はステップＳ４６の処理をスキップする。
【００６３】
ステップＳ４７において、キー押下＆ボタンクリック有効無効判定部１７はダイアログ表示後の抑止時間に「０秒」以外が記述されているか判定する。ダイアログ表示後の抑止時間に「０秒」以外が記述されていれば、キー押下＆ボタンクリック有効無効判定部１７はステップＳ４８に進み、タイマー部１８に通知して、抑止時間を計時するタイマーを起動する。
【００６４】
ステップＳ４９においてキー押下＆ボタンクリック検出部１６はユーザによるキー押下やマウスのクリック操作を検出したものとする。ステップＳ５０に進み、キー押下＆ボタンクリック検出部１６はユーザによるキー押下やマウスのクリック操作をキー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスのクリック操作を通知されると、抑止時間を計時するタイマーが終了しているか否かを判定する。
【００６５】
抑止時間を計時するタイマーが終了していなければ、キー押下＆ボタンクリック有効無効判定部１７はステップＳ５１に進み、ユーザによるキー押下やマウスクリックを無効化する。なお、抑止時間を計時するタイマーが終了していれば、キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスクリックを無効化しない。また、ステップＳ４７において、キー押下＆ボタンクリック有効無効判定部１７はダイアログ表示後の抑止時間に「０秒」が記述されていれば、タイマー部１８に通知せず、抑止時間を計時するタイマーを起動させない。
【００６６】
このように、ダイアログ監視制御プログラム１０は監視制御対象のダイアログが表示されると、監視制御対象ダイアログデータベース２２の記述に従って、ユーザによるキー押下やマウスクリックを無効化できる。なお、ユーザによるキー押下やマウスクリックを無効化する処理は、ダイアログの監視処理と同様にフックを使うのが一般的である。ユーザによるキー押下やマウスクリックをフックする処理は公知の技術である。
【００６７】
なお、ステップＳ５１において、ダイアログ監視制御プログラム１０は、ユーザによるキー押下やマウスクリックを無効化した場合に、その旨のメッセージを表示する機能を有していてもよい。また、ダイアログ監視制御プログラム１０はキー押下やマウスクリックが無効化されている間、ダイアログの輝度を下げる等して、キー押下やマウスクリックが無効化されている旨を視覚的に表してもよい。
【００６８】
《ダイアログの消去》
図１１はダイアログが消去されたときの処理の一例のシーケンス図である。ステップＳ６１において、ダイアログ消去検出部１５はイベント通知ダイアログ１０００が消去されたことを検出する。
【００６９】
ダイアログ消去検出部１５はダイアログが消去されたことを検出すると、キー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７はステップＳ６２に進み、ステップＳ６１で消去を検出されたダイアログが監視制御対象として記録されているか否かを監視制御対象ダイアログデータベース２２に問い合わせる。
【００７０】
ステップＳ６１で消去を検出されたダイアログが監視制御対象として記録されていればキー押下＆ボタンクリック有効無効判定部１７はステップＳ６３において、そのダイアログのレコードを監視制御対象ダイアログデータベース２２から読み込む。
【００７１】
ステップＳ６４に進み、キー押下＆ボタンクリック有効無効判定部１７はステップＳ６１で消去を検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されており且つ監視制御対象のダイアログであるか否かを判定する。
【００７２】
ステップＳ６１で消去を検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されていないか、又は、監視制御対象のダイアログでなければ、ダイアログ監視制御プログラム１０はタスクトレイのアイコンを右クリックする前の状態に戻る。
【００７３】
ステップＳ６１で消去を検出されたダイアログが監視制御対象ダイアログデータベース２２に記録されており且つ監視制御対象のダイアログであればキー押下＆ボタンクリック有効無効判定部１７はステップＳ６５に進む。
【００７４】
ステップＳ６５において、キー押下＆ボタンクリック有効無効判定部１７はダイアログ消去後の抑止時間に「０秒」以外が記述されているか判定する。ダイアログ消去後の抑止時間に「０秒」以外が記述されていれば、キー押下＆ボタンクリック有効無効判定部１７はステップＳ６６に進み、タイマー部１８に通知して、抑止時間を計時するタイマーを起動する。
【００７５】
ステップＳ６７においてキー押下＆ボタンクリック検出部１６はユーザによるキー押下やマウスのクリック操作を検出したものとする。ステップＳ６８に進み、キー押下＆ボタンクリック検出部１６はユーザによるキー押下やマウスのクリック操作をキー押下＆ボタンクリック有効無効判定部１７に通知する。キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスのクリック操作を通知されると、抑止時間を計時するタイマーが終了しているか否かを判定する。
【００７６】
抑止時間を計時するタイマーが終了していなければ、キー押下＆ボタンクリック有効無効判定部１７はステップＳ６９に進み、ユーザによるキー押下やマウスクリックを無効化する。なお、抑止時間を計時するタイマーが終了していれば、キー押下＆ボタンクリック有効無効判定部１７はユーザによるキー押下やマウスクリックを無効化しない。また、ステップＳ６５において、キー押下＆ボタンクリック有効無効判定部１７はダイアログ表示後の抑止時間に「０秒」が記述されていれば、タイマー部１８に通知せず、抑止時間を計時するタイマーを起動させない。
【００７７】
このように、ダイアログ監視制御プログラム１０は監視制御対象のダイアログが消去されると、監視制御対象ダイアログデータベース２２の記述に従って、ユーザによるキー押下やマウスクリックを無効化できる。
【００７８】
＜まとめ＞
本発明の実施形態によれば、ユーザの意図しないタイミングでダイアログが表示または消去されたことにより、ユーザの意図しない操作が実行されてしまうことを抑制する仕組みを、ダイアログ表示プログラム３０に実装せずに、汎用的に実現できる。また、本発明の実施形態によれば、監視制御対象のダイアログの選択とキー押下やマウスクリックの抑止時間の設定をユーザが行うことができる。
【００７９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、本実施形態で説明した図１のハードウェア構成は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもない。例えば本発明は操作パネルを有する複合機やプロダクションプリンタなどの画像形成装置への適用も可能である。また、本実施形態で説明したダイアログは、ユーザに何かを入力させたりメッセージを確認させたりするために、一時的に表示される画面の一例である。
【００８０】
監視制御対象ダイアログデータベース編集ＵＩ部１４は特許請求の範囲に記載した監視制御対象画面登録受付手段の一例である。ダイアログ表示検出部１２は表示検出手段の一例である。キー押下＆ボタンクリック検出部１６は操作検出手段の一例である。キー押下＆ボタンクリック有効無効判定部１７は判定手段の一例である。ダイアログ消去検出部１５は消去検出手段の一例である。
【符号の説明】
【００８１】
１０    ダイアログ監視制御プログラム
１１    ダイアログフック部
１２    ダイアログ表示検出部
１３    全ダイアログ履歴自動記録部
１４    監視制御対象ダイアログデータベース編集ＵＩ部
１５    ダイアログ消去検出部
１６    キー押下＆ボタンクリック検出部
１７    キー押下＆ボタンクリック有効無効判定部
１８    タイマー部
２１    全ダイアログ履歴データベース
２２    監視制御対象ダイアログデータベース
３０    ダイアログ表示プログラム
３１    ダイアログ表示部
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
１０００    イベント通知ダイアログ
１１００    ダイアログ選択画面
１２００    ダイアログ登録画面
１３００    ダイアログ編集画面
Ｂ    バス
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１５−１３２８８８号公報
【図１】
2018156358.tif 000003
【図２】
2018156358.tif 000004
【図３】
2018156358.tif 000005
【図４】
2018156358.tif 000006
【図５】
2018156358.tif 000007
【図６】
2018156358.tif 000008
【図７】
2018156358.tif 000009
【図８】
2018156358.tif 000010
【図９】
2018156358.tif 000011
【図１０】
2018156358.tif 000012
【図１１】
2018156358.tif 000013