(57)【要約】【課題】ＰＣ等の情報処理装置において、プッシュスキャンに使用するアプリケーションソフトの選択にかかるユーザの労力を軽減しつつ、適切なアプリケーションソフトによりプッシュスキャンが実行（スキャナ等の画像読取装置が制御）されるようにする。【解決手段】ＰＣ３において、ＣＰＵ３１は、ＭＦＰ２からプッシュスキャンの要求を受けた場合、スキャンアプリが登録されているか否かを判断する。ＣＰＵ３１は、スキャンアプリが登録されている場合、その登録されているスキャンアプリ（登録アプリ）の中で現在起動されている起動中登録アプリがあるか否かを判断し、起動中登録アプリがあった場合は、その起動中登録アプリを、プッシュスキャンに使用するアプリケーションソフトに決定する。【選択図】図１
2015106808.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従った処理を実行する制御部と、
画像を読み取り可能な画像読取装置との間でデータ通信を行うための通信部と、
前記画像読取装置による画像の読み取りを制御するためのアプリケーションソフトである画像読取アプリケーションを登録可能な登録部と、
を備える情報処理装置において、前記画像読取装置の制御のために前記制御部に実行させる装置制御プログラムであって、
前記制御部に、
前記画像読取装置から前記通信部を介して画像の読み取りを要求する読取要求を受信した場合に、前記登録部に前記画像読取アプリケーションが登録されているか否かを判断する登録判断処理と、
前記登録判断処理により前記画像読取アプリケーションが登録されていると判断された場合に、その登録されている前記画像読取アプリケーションである登録アプリの中で、現在前記制御部によって起動されている前記登録アプリである起動中登録アプリがあるか否かを判断する起動状態判断処理と、
前記起動状態判断処理により前記起動中登録アプリがあると判断された場合に、その起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定して、その起動中登録アプリを前記制御部に実行させることにより、その起動中登録アプリに前記画像読取装置での画像の読み取りの制御を実行させる使用アプリ決定処理と、
を実行させるための装置制御プログラム。
【請求項２】
請求項１に記載の装置制御プログラムであって、
前記起動状態判断処理によって前記起動中登録アプリが複数あると判断された場合に、前記登録部に登録されている全ての前記登録アプリのうちその複数の起動中登録アプリのみを選択対象として、その選択対象の各起動中登録アプリのうち何れか１つを選択するための外部からの選択入力を受け付ける第１選択入力受付処理、
を有し、
前記使用アプリ決定処理では、前記第１選択入力受付処理により受け付けられた選択入力によって選択された１つの前記起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する
ことを特徴とする装置制御プログラム。
【請求項３】
請求項１又は請求項２に記載の装置制御プログラムであって、
前記登録部には複数の前記登録アプリが登録されていて、そのうち少なくとも１つは、前記使用アプリ決定処理により前記決定されると前記情報処理装置における外部からの入力操作を要することなく前記画像読取装置に対して画像の読み取りの指示を行って画像の読み取りを実行させる自動実行アプリであり、
前記起動状態判断処理によって前記起動中登録アプリが複数あると判断された場合に、その複数の起動中登録アプリの中に前記自動実行アプリがあるか否かを判断する自動実行アプリ判断処理を有し、
前記自動実行アプリ判断処理により前記自動実行アプリがあると判断された場合は前記第１選択入力受付処理が実行されないよう構成されており、
前記使用アプリ決定処理では、前記自動実行アプリ判断処理により前記自動実行アプリがあると判断された場合、その自動実行アプリを、前記読取要求に対する前記画像読取装置の制御に使用するアプリケーションソフトに決定する
ことを特徴とする装置制御プログラム。
【請求項４】
請求項１〜請求項３の何れか１項に記載の装置制御プログラムであって、
前記登録部には、前記画像読取装置からの前記読取要求に対して優先的に使用されるべき画像読取アプリケーションとして指定された前記登録アプリである指定アプリが登録されており、
前記起動状態判断処理では、前記起動中登録アプリとして前記指定アプリがあるか否か判断し、
前記使用アプリ決定処理では、前記起動状態判断処理により前記起動中登録アプリとして前記指定アプリがあると判断された場合は、その指定アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する
ことを特徴とする装置制御プログラム。
【請求項５】
請求項４に記載の装置制御プログラムであって、
前記起動状態判断処理により前記起動中登録アプリとして前記指定アプリがないと判断された場合に、前記指定アプリ及び現在前記制御部によって起動されている前記起動中登録アプリを選択対象として、その選択対象の各登録アプリのうち何れか１つを選択するための外部からの選択入力を受け付ける第２選択入力受付処理を有し、
前記使用アプリ決定処理では、前記第２選択入力受付処理により受け付けられた選択入力によって選択された１つの前記登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する
ことを特徴とする装置制御プログラム。
【請求項６】
画像読取装置による画像の読み取りを制御するためのアプリケーションソフトである画像読取アプリケーションを登録可能な情報処理装置において、前記画像読取装置の制御のために用いられる装置制御方法であって、
前記画像読取装置から画像の読み取りを要求する読取要求を受信した場合に、前記画像読取アプリケーションが登録されているか否かを判断する登録判断ステップと、
前記登録判断ステップにより前記画像読取アプリケーションが登録されていると判断された場合に、その登録されている前記画像読取アプリケーションである登録アプリの中で、現在起動されている前記登録アプリである起動中登録アプリがあるか否かを判断する起動状態判断ステップと、
前記起動状態判断ステップにより前記起動中登録アプリがあると判断された場合に、その起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する使用アプリ決定ステップと、
を有することを特徴とする装置制御方法。
【請求項７】
画像を読み取り可能な画像読取装置との間でデータ通信を行うための通信部と、
前記画像読取装置による画像の読み取りを制御するためのアプリケーションソフトである画像読取アプリケーションを登録可能な登録部と、
制御部と、
を備える情報処理装置であって、
前記制御部は、
前記画像読取装置から前記通信部を介して画像の読み取りを要求する読取要求を受信した場合に、前記登録部に前記画像読取アプリケーションが登録されているか否かを判断する登録判断処理と、
前記登録判断処理により前記画像読取アプリケーションが登録されていると判断された場合に、その登録されている前記画像読取アプリケーションである登録アプリの中で、現在起動されている前記登録アプリである起動中登録アプリがあるか否かを判断する起動状態判断処理と、
前記起動状態判断処理により前記起動中登録アプリがあると判断された場合に、その起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する使用アプリ決定処理と、
を実行することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置を制御するために情報処理装置で実行される装置制御プログラムと装置制御方法、及び情報処理装置に関する。
【背景技術】
【０００２】
画像の読み取りを行うスキャナの使用形態として、スキャナとパーソナルコンピュータ（以下「ＰＣ」という）をネットワークで接続し、スキャナで読み取った画像データをＰＣへ送信する使用形態が一般的である。このような使用形態で使用されるスキャナの機能として、ユーザがスキャナ本体の操作パネルでスキャン（画像読み取り）開始の操作を行うと、スキャンを実行して読み取った画像データをＰＣへ送信する、いわゆるプッシュスキャンが知られている（例えば、特許文献１参照。）。
【０００３】
従来のプッシュスキャンは、おおよそ次のような流れで行われている。即ち、スキャナ本体でユーザがスキャン開始指示のためのボタン操作等を行うと、スキャン開始の旨のイベント（プッシュスキャンの要求）がＰＣに通知される。ＰＣには、プッシュスキャンに使用可能なアプリケーションソフトが登録されている。スキャナからＰＣへ上記イベントが通知されると、ＰＣでは、ドライバを介して、登録されているアプリケーションソフトが起動する。その起動したアプリケーションソフトがドライバを介してスキャナ本体と通信を行うことで、スキャナ本体での画像読み取りが実行され、読み取られた画像データがＰＣに送信される。つまり、プッシュスキャンは、スキャナ本体と、ＰＣ側のアプリケーションソフトとが、ＰＣのドライバを介して互いに必要な通信を行いながら実現される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８６６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のプッシュスキャン機能では、プッシュスキャンに使用可能なアプリケーションソフトがＰＣに複数登録されている場合、スキャナからプッシュスキャンの要求を受ける度に、その登録されている複数のアプリケーションソフトが列挙された選択画面が表示される構成が一般的である。そのため、ＰＣに複数のスキャン用アプリケーションソフトが登録されている場合、ユーザは、プッシュスキャンを実行させる度に、毎回、選択画面の中から所望のアプリケーションソフトを選択する操作を行う必要がある。
【０００６】
本発明は上記課題に鑑みなされたものであり、ＰＣ等の情報処理装置において、プッシュスキャンに使用するアプリケーションソフトの選択にかかるユーザの労力を軽減しつつ、適切なアプリケーションソフトによりプッシュスキャンが実行（スキャナ等の画像読取装置が制御）されるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた本発明は、プログラムに従った処理を実行する制御部と、画像を読み取り可能な画像読取装置との間でデータ通信を行うための通信部と、画像読取装置による画像の読み取りを制御するためのアプリケーションソフトである画像読取アプリケーションを登録可能な登録部と、を備える情報処理装置において、画像読取装置の制御のために制御部に実行させる装置制御プログラムである。
【０００８】
具体的には、本発明の装置制御プログラムは、制御部に、登録判断処理と、起動状態判断処理と、使用アプリ決定処理とを実行させるためのプログラムである。
登録判断処理は、画像読取装置から通信部を介して画像の読み取りを要求する読取要求を受信した場合に、登録部に画像読取アプリケーションが登録されているか否かを判断する処理である。
【０００９】
起動状態判断処理は、登録判断処理により画像読取アプリケーションが登録されていると判断された場合に、その登録されている画像読取アプリケーションである登録アプリの中で、現在制御部によって起動されている登録アプリである起動中登録アプリがあるか否かを判断する処理である。
【００１０】
使用アプリ決定処理は、起動状態判断処理により起動中登録アプリがあると判断された場合に、その起動中登録アプリを、読取要求に対する画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定して、その起動中登録アプリを制御部に実行させることにより、その起動中登録アプリに画像読取装置での画像の読み取りの制御を起動させる処理である。
【００１１】
本発明の装置制御プログラムによれば、画像読取装置から読取要求を受信したときにすでに起動中の登録アプリ（起動中登録アプリ）がある場合は、他に登録アプリがあっても、その起動中登録アプリが優先的に画像読取の制御に使用するアプリケーションソフトとして決定される。そのため、画像読取装置からの読取要求に対して情報処理装置側で使用するアプリケーションソフトの選択にかかるユーザの労力を軽減しつつ、適切なアプリケーションソフトにより画像読取装置による画像の読み取りを制御することが可能となる。
【００１２】
なお、本発明において、アプリについて「起動」とは、制御部により当該アプリ（プログラム）の処理が開始されること（アプリが立ち上がって動作可能になること）を意味し、「起動中」とは、制御部による当該アプリの処理開始から終了までの期間を意味する。「起動中」には、制御部が当該アプリに基づく演算処理を実際に実行中の状態はもちろん、具体的な演算処理は行っていないものの特定の要因によって演算処理を実行可能な状態（いわゆる常駐状態もその１つ）も含む。
【００１３】
なお、本発明は、前述した装置制御プログラムの他、当該装置制御プログラムを記録した媒体、当該装置制御プログラムの処理内容が実行される情報処理装置、装置制御方法など、種々の形態で実現することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の画像読取システム１の概略構成を表すブロック図である。
【図２】第１実施形態のプッシュスキャンの動作例（スキャン指定アプリがない例）を示す説明図である。
【図３】第１実施形態のプッシュスキャンの動作例（スキャン指定アプリがある例）を示す説明図である。
【図４】選択画面の具体例を表す説明図である。
【図５】プッシュスキャン制御処理を表すフローチャートである。
【図６】図５のプッシュスキャン制御処理におけるＳ７０の第１アプリ決定処理の詳細を表すフローチャートである。
【図７】図５のプッシュスキャン制御処理におけるＳ８０の第２アプリ決定処理の詳細を表すフローチャートである。
【図８】第２実施形態の第１アプリ決定処理の詳細を表すフローチャートの一部である。
【図９】第２実施形態の第１アプリ決定処理の詳細を表すフローチャートの他の一部（図８で不図示の処理）である。
【発明を実施するための形態】
【００１５】
以下に、本発明の好適な実施形態を図面に基づいて説明する。なお、本発明は、下記の実施形態に示された具体的手段や構造等に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の形態を採り得る。例えば、下記の実施形態の構成の一部を、同様の機能を有する公知の構成に置き換えたり、他の実施形態の構成に対して付加、置換等したり、課題を解決できる限りにおいて省略したりしてもよい。また、下記の複数の実施形態を適宜組み合わせて構成してもよい。
【００１６】
［第１実施形態］
（１）画像読取システムの構成
本実施形態の画像読取システム１は、図１に示すように、ＭＦＰ（Multi Function Peripheral ）２とＰＣ（Personal Computer ）３が相互に通信可能に接続されてなるものである。ＭＦＰ２とＰＣ３はネットワーク４により接続されている。本実施形態のネットワーク４は有線ＬＡＮ（Local Area Network）であるが、これはあくまでも一例であり、他のネットワーク（例えば無線ＬＡＮやＵＳＢなど）であってもよい。
【００１７】
（２）ＭＦＰの構成
ＭＦＰ２は、原稿の画像を読み取るスキャナ機能や、記録用紙やＯＨＰシート等の被記録媒体に画像を形成（印刷）するプリンタ機能などの各種機能を備えたいわゆる複合機であって、ネットワーク４に接続されたユーザ（ＰＣ３を含む）が共有可能ないわゆるネットワーク複合機として構成されている。
【００１８】
ＭＦＰ２は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、操作・表示部１４，スキャナ部１６、プリンタ部１７，ＵＳＢインタフェース（ＵＳＢＩ／Ｆ）１８、およびＬＡＮインタフェース（ＬＡＮＩ／Ｆ）１９などを備えている。
【００１９】
ＣＰＵ１１は、ＲＯＭ１２に記憶されている各種プログラムやデータに従ってＭＦＰ２内の各部の制御および各種演算を実行する。ＲＯＭ１２に記憶されているプログラムには、スキャナ機能を実現するためのプログラムが含まれている。ＲＡＭ１３は、ＣＰＵ１１から直接アクセスされるメインメモリ等として利用されるものであり、スキャナ機能実行時に参照される各種記憶領域も設定されている。
【００２０】
操作・表示部１４は、タッチパネル１５や図示しない押しボタン等により構成され、タッチパネル１５にＭＦＰ２の動作状態や設定情報等の各種情報を表示したり、タッチパネル１５や押しボタン等を介してユーザによる各種操作入力を受け付け可能である。
【００２１】
スキャナ部１６は、イメージセンサを備え、原稿の画像を読み取ってその画像を表す画像データを生成する。プリンタ部１７は、被記録媒体に対して画像を形成（印刷）する。ＵＳＢＩ／Ｆ１８は、周知のＵＳＢ（Universal Serial Bus）規格にてデータ通信を行うためのインタフェースである。ＬＡＮＩ／Ｆ１９は、ＬＡＮによるデータ通信を行うためのインタフェースである。
【００２２】
ＭＦＰ２を使用するユーザは、操作・表示部１４を操作することによって、ＭＦＰ２の動作モード（機能）を選択することができる。例えば、動作モードとしてスキャナ機能を実現させるためのスキャナモードや、プリンタ機能を実現させるためのプリンタモードなどの、各種動作モードをタッチパネル１５のメインメニュー画面から選択可能である。メインメニュー画面において、ユーザがスキャナモードを選択（タップ操作等）すると、ＭＦＰ２はスキャナ機能を実現すべく所定の処理を開始することとなる。
【００２３】
スキャナモードが選択された場合には、スキャナ機能におけるより具体的な機能選択画面がタッチパネル１５に表示される。その機能選択画面における選択肢の中には、プッシュスキャンが含まれている。そこで、ユーザがその機能選択画面でプッシュスキャンを選択すると、プッシュスキャン実現のための動作が開始される。
【００２４】
（３）ＰＣの構成
ＰＣ３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ＨＤＤ（ハードディスクドライブ）３４、表示部３５、入力部３６、ＵＳＢＩ／Ｆ３７、及び、ＬＡＮＩ／Ｆ３８などを備えている。
【００２５】
ＣＰＵ３１は、ＲＯＭ３２やＨＤＤ３４に記憶されている各種プログラムを実行することによってＰＣ３の各部や外部機器（ＭＦＰ２を含む）を制御する。ＲＯＭ３２には、ＣＰＵ３１によって実行される各種プログラムやデータ等が記憶されている。ＲＡＭ３３は、ＣＰＵ３１が各種処理を実行するための主記憶装置として用いられる。表示部３５は、液晶ディスプレイなどの表示デバイスが含まれる。入力部３６は、ユーザにより操作される周知のキーボードやマウス、あるいはタッチパネルなどが含まれる。
【００２６】
ＨＤＤ３４には、ＯＳ（Operating System）や各種デバイスドライバ、各種アプリケーションソフトなどがインストールされている。以下の説明では、アプリケーションソフトを「アプリケーション」又は「アプリ」と略称する。
【００２７】
各種アプリケーションの中には、ＭＦＰ２のプッシュスキャン機能に対応したアプリケーション、即ちＭＦＰ２からプッシュスキャン機能によるイベント通知（プッシュスキャンの要求）があった場合にＭＦＰ２へスキャンの実行を指示したりスキャンされた画像データを取得して各種処理を行ったりすることが可能なアプリケーション（以下「スキャンアプリ」という）が含まれている。各種デバイスドライバの中には、ＭＦＰ２を制御するためのデバイスドライバが含まれている。
【００２８】
なお、以下の説明で、単に「ドライバ」というときは、特に断りのない限り、ＭＦＰ２の制御用のデバイスドライバを意味するものとする。また、以下の説明では、ＯＳやアプリ、ドライバ等を実行するＣＰＵ３１のことを、単にプログラム名で記載する場合がある。例えば、「スキャンアプリが」という記載は、「スキャンアプリを実行するＣＰＵ３１が」を意味する場合がある。また、本明細書においてアプリやドライバ等のソフトウェアに対して「起動」とは、ＣＰＵ３１により当該ソフトウェア（プログラム）の処理が開始されること（ソフトウェアが立ち上がって動作可能になること）を意味し、「起動中」とは、ＣＰＵ３１による当該ソフトウェアの処理開始から終了までの期間を意味する。「起動中」には、ＣＰＵ３１が当該ソフトウェアに基づく演算処理を実際に実行中の状態はもちろん、具体的な演算処理は行っていないものの特定の要因によって演算処理を実行可能な状態（いわゆる常駐状態もその１つ）も含む。
【００２９】
ドライバは、通常、ＭＦＰ２を提供するメーカ（ベンダ）からＭＦＰ２と共にＣＤやＤＶＤ等の媒体によって（或いは別途ネットワークを介して）提供される。プッシュスキャンアプリは、ＭＦＰ２を提供するベンダから媒体やネットワークを介して提供されるものもあれば、ＭＦＰ２のベンダ以外の他社から媒体やネットワークを介して提供されるものもある。
【００３０】
スキャンアプリには、ＭＦＰ２からイベント通知（プッシュスキャンの要求）を受けた場合に、自動でＭＦＰ２側へ（ドライバ経由で）スキャン開始指示を送ってスキャンを実行させるタイプのアプリ（自動スキャン型アプリ）と、ＭＦＰ２へのスキャン開始指示までは行わずにＰＣ３の表示部３５にユーザに対するスキャン実行の意志を確認する画面（以下、「スキャン実行確認ＵＩ（User Interface）」という）を表示させてユーザ操作入力を待ち、スキャン実行を示す操作入力があった場合にスキャン開始指示を送ってスキャン実行させるタイプのアプリ（非自動スキャン型アプリ）がある。
【００３１】
自動スキャン型アプリは、起動後、ＭＦＰ２からのイベント通知によりドライバからプッシュスキャン情報が渡された場合は、そのプッシュスキャン情報に基づいて、ＭＦＰ２側へ指示すべき情報や、スキャン後の画像データを受信した場合に行うべき処理等を確認した上で、ドライバへスキャン開始指示を出す。これによりドライバ経由でＭＦＰ２側へスキャン開始コマンドが送信され、ＭＦＰ２にてスキャンが実行されて、スキャン後の画像データが送信されてくる。自動実行型アプリは、ＭＦＰ２からドライバ経由で画像データを受信すると、それを所定のフォルダに格納したり画面に表示させたりするなどの所定の処理を行う。
【００３２】
なお、ＭＦＰ２から送信されるイベント通知（プッシュスキャンの要求）には、少なくとも、送信元のＭＦＰ２を特定する情報（例えばポート番号やＩＰアドレス）や、ＭＦＰ２でユーザ等により受け付けられたイベントを定義する情報（例えばＩＤ）が含まれる。また、プッシュスキャン情報には、スキャンアプリがプッシュスキャンの実行に必要な種々の情報が含まれる。例えば、ドライバを特定する情報（換言すればプッシュスキャン要求元のデバイス（ＭＦＰ２等）を特定する情報）、デバイスからの要求内容、その他プッシュスキャン実行に必要な各種の情報などがある。また、ドライバがスキャンアプリに対して「プッシュスキャン情報を渡す」とは、引数にプッシュスキャン情報を指定してスキャンアプリを起動することを意味する。
【００３３】
非自動スキャン型アプリは、起動後、ドライバからプッシュスキャン情報が渡された場合は、そのプッシュスキャン情報に基づいて、ＭＦＰ２側へ指示すべき情報や、スキャン後の画像データを受信した場合に行うべき処理等を確認した上で、ＰＣ３の表示部３５にスキャン実行確認ＵＩを表示させる。
【００３４】
スキャン実行確認ＵＩは、例えば、ユーザに対して「スキャンを実行しますか？」という問いかけのテキスト画像と共に、「スキャン実行」及び「キャンセル」の２つのボタンを有する画像である。
【００３５】
このスキャン実行確認ＵＩに対してユーザが例えば「キャンセル」ボタンをクリックした場合は、非自動スキャン型アプリは、スキャン実行確認ＵＩの画面を表示部３５から消去する。この場合、ＭＦＰ２においてスキャンは実行されない。
【００３６】
一方、スキャン実行確認ＵＩに対してユーザが例えば「スキャン実行」ボタンをクリックした場合は、非自動スキャン型アプリはドライバへスキャン開始指示を出し、これによりドライバからＭＦＰ２へスキャン開始コマンドが送信される。スキャン開始コマンド送信後の処理は、自動スキャン型アプリの場合と同様である。
【００３７】
図１に示すように、本実施形態では、ＨＤＤ３４に、アプリＡ，Ｂ，Ｃ，Ｄ，Ｅの５つのアプリがインストールされている。このうちアプリＣ，Ｄ，Ｅの３つは、スキャンアプリである。また、ドライバは、図１に示すように、その一部又は全てがＯＳの一部として組み込まれ、ＯＳと協調して動作する。なお、本実施形態のＯＳは、周知のＷｉｎｄｏｗｓ（登録商標。以下同様。）であり、図１に示すようにその内部にレジストリが含まれている。レジストリは、各種アプリやドライバ等の設定データが記録されるデータベースであり、本実施形態では、スキャンアプリ登録リストが含まれている。
【００３８】
即ち、本実施形態では、ＰＣ３において、ＭＦＰ２からプッシュスキャンの要求があった場合にそれに対応可能なスキャンアプリをプッシュスキャン用のスキャンアプリとして予め登録しておくことができる。プッシュスキャン用のスキャンアプリとしての登録は、ほとんどのスキャンアプリについては、ＰＣ３へのインストール時にインストーラによって自動的に行われる。つまり、ほとんどのスキャンアプリは、ＰＣ３にインストールされると、自動的に、プッシュスキャン用のスキャンアプリとしてＯＳに登録（具体的にはレジストリに登録）される。ただし、インストーラによる自動的な登録以外にも、ユーザ操作等によって任意に登録したり或いは登録を解除したりすることも可能である。また、ベンダ側から予めプッシュスキャン用のスキャンアプリのリストがドライバの一部として（或いはドライバとは別に）提供されて、そのリストに挙がっているスキャンアプリを登録アプリとして判断できるような構成であってもよい。
【００３９】
本実施形態では、インストールされている３つのスキャンアプリＣ，Ｄ，Ｅが、いずれも、プッシュスキャン用のスキャンアプリとしてＯＳ（レジストリ）に登録されている。以下、ＯＳに登録されているスキャンアプリを、「登録アプリ」とも言う。
【００４０】
更に、本実施形態では、登録アプリのうち優先的に使用するスキャンアプリを指定することができる。即ち、スキャンアプリのＯＳへの登録自体は、複数のスキャンアプリについて可能であり、本実施形態でも、３つのスキャンアプリＣ，Ｄ，Ｅが登録アプリとしてＯＳに登録されている。その登録アプリの中で、さらに、プッシュスキャンのイベント通知があった場合に優先的に使用させるスキャンアプリを、そのスキャンアプリのインストール時に自動的に、又はユーザ操作等によって任意に、スキャン指定アプリとして指定することができる。
【００４１】
なお、プッシュスキャンに対応したスキャンアプリは、そのスキャンアプリにおいて、ＭＦＰ２でのスキャン実行時の各種パラメータを設定できるよう構成されており、スキャン開始指示を出す際にその設定情報もドライバ経由でＭＦＰ２へ送信することができる。ＭＦＰ２は、プッシュスキャン機能にてスキャンを実行する際、ＰＣ３から送信されてきた設定情報に従ってスキャンを実行可能である。ただし、設定情報は、ＭＦＰ２側で設定することも可能である。
【００４２】
（４）プッシュスキャンの概要
次に、本実施形態の画像読取システム１において実現されるプッシュスキャンの流れの概要について、図２、図３を用いて、ＰＣ３にインストールされているドライバの処理内容を中心に説明する。
【００４３】
本実施形態の画像読取システム１で実現されるプッシュスキャンの機能には、主に、次の２つの特徴がある。第１の特徴は、ＰＣ３がＭＦＰ２からプッシュスキャンの要求を受けた時に、ＰＣ３において、登録アプリが既に１つ起動されている場合は、ドライバは、その既に起動中の登録アプリをプッシュスキャンに使用するアプリとして決定し、そのアプリに対してプッシュスキャン情報を渡すことである。
【００４４】
この第１の特徴は、既に起動中の登録アプリはユーザが「これを使ってスキャンさせたい」と思っているスキャンアプリであることが想定される、という考えに基づくものである。従来、登録アプリが複数ある場合は、常にその複数の登録アプリを画面に表示させてユーザに選択させるのが一般的である。これに対し、本実施形態では、第１の特徴を有することによって、登録アプリが複数ある場合であっても、既に何れか１つの登録アプリが起動中の場合には選択画面は表示されない。
【００４５】
第２の特徴は、複数の登録アプリのうち何れか１つがスキャン指定アプリとして指定されている場合に、ＰＣ３がＭＦＰ２からプッシュスキャンの要求を受けた時の動作である。この場合、従来は、無条件にそのスキャン指定アプリを用いてスキャンを実行させることが一般的である。これに対し、本実施形態では、スキャン指定アプリ以外の他の登録アプリが既に起動中の場合は、その既に起動中の登録アプリとスキャン指定アプリのうちどちらを用いてプッシュスキャンを実行させるかをユーザに選択させる。そして、ユーザにより選択された登録アプリをプッシュスキャンに使用するアプリとして決定し、そのアプリに対してプッシュスキャン情報を渡す。
【００４６】
この第２の特徴は、指定されている登録アプリがあるもののそれ以外の他の登録アプリが既に起動中の場合はもしかしたらユーザはその起動中のスキャンアプリを用いてスキャンさせたいと思っているかもしれない、という考えに基づくものである。この第２の特徴を有することで、仮に何れかの登録アプリが指定されているとしても、ユーザは、そのスキャン指定アプリ以外の他の登録アプリ起動させておくことで、その登録アプリを用いてスキャンを実行させることができる。
【００４７】
第１の特徴について、図２を用いて具体的に説明する。図２は、図示の如く、ＰＣ３において３つのスキャンアプリＣ，Ｄ，Ｅが登録されていて、そのうちスキャンアプリＣが起動中であって、且つ、他に２つのアプリＡ，Ｂが起動中である例を示している。なお、この例では、３つのスキャンアプリＣ，Ｄ，Ｅはいずれもスキャン指定アプリとして指定されてはいない。
【００４８】
このような状態において、ＰＣ３がＭＦＰ２からプッシュスキャンの要求を受けた場合、ドライバは、レジストリのスキャンアプリ登録リストを参照して、登録アプリがあるか否か、即ち登録されているスキャンアプリがあるか否かを確認する。なお、ＭＦＰ２からのプッシュスキャンの要求は、ＭＦＰ２において、スキャナ機能の機能選択画面でユーザがプッシュスキャンを選択（例えばタップ）して実行キーをタップすることにより、ＰＣ３へ送信される。
【００４９】
続いて、ドライバは、現在既に起動しているアプリを確認する。ドライバは、上記確認結果に基づき、起動中のアプリの中に登録アプリがあるか否かを確認する。本例の場合、登録アプリのうちスキャンアプリＣが既に起動中である。そのため、ドライバは、スキャンアプリＣをプッシュスキャンに使用するアプリに決定して、スキャンアプリＣにプッシュスキャン情報を渡してプッシュスキャンを実行させる。
【００５０】
なお、複数の登録アプリが起動中であった場合は、本実施形態では、後述するように、その既に起動中の登録アプリのみが列挙された選択画面を表示させて、何れか１つをユーザに選択させる。図４（ａ）は、その選択画面の一例を示す。図４（ａ）は、登録アプリが２つ（スキャンアプリＣ，Ｅ）既に起動中であってその２つの登録アプリが列挙された選択画面を示している。図４（ａ）は、スキャンアプリＣを示すテキストが白抜き反転された状態、即ちスキャンアプリＣが選択されている状態を示している。
【００５１】
図４（ａ）の選択画面において、列挙されている２つのスキャンアプリＣ，Ｅのうちユーザが所望のスキャンアプリを選択（例えばクリック操作）して、ＯＫボタンをクリックすると、その選択されたスキャンアプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【００５２】
次に、第２の特徴について、図３を用いて具体的に説明する。図３は、図示の如く、ＰＣ３において３つのスキャンアプリＣ，Ｄ，Ｅが登録されていて、そのうちスキャンアプリＤがプッシュスキャンに用いるスキャン指定アプリとして予め指定されており、現時点で既にスキャンアプリＣ及び２つのアプリＡ，Ｂが起動中である例を示している。
【００５３】
このような状態において、ＰＣ３がＭＦＰ２からプッシュスキャンの要求を受けた場合、ドライバは、レジストリのスキャンアプリ登録リストを参照して、登録アプリがあるか否かを確認する。続いて、ドライバは、現在既に起動しているアプリを確認する。ドライバは、上記確認結果に基づき、起動中のアプリの中に登録アプリがあるか否かを確認する。本例の場合、スキャンアプリＤがスキャン指定アプリとして登録されているものの、これとは別のスキャンアプリＣが既に起動中である。そのため、ドライバは、スキャン指定アプリであるスキャンアプリＤと起動中のスキャンアプリＣのアプリ名が列挙された選択画面を表示させて、何れか一方をユーザに選択させる。
【００５４】
図４（ｂ）は、その選択画面の一例を示す。図４（ｂ）は、登録アプリとしてのスキャンアプリＣが既に起動中であることから、その起動中のスキャンアプリＣと、起動していないもののスキャン指定アプリとして指定されているスキャンアプリＤの２つの登録アプリが列挙された選択画面を示している。この選択画面において、スキャンアプリＤの表示行には黒丸印が表示されているが、この黒丸印は、スキャンアプリＤがスキャン指定アプリであることを示す印である。また、この選択画面の初期状態では、スキャン指定アプリであるスキャンアプリＤが選択値のデフォルト（選択された状態）として設定されて白抜き反転表示される。
【００５５】
図４（ｂ）の選択画面において、列挙されている２つのスキャンアプリＣ，Ｄのうちユーザが所望のスキャンアプリを選択（例えばクリック操作）して、ＯＫボタンをクリックすると、その選択されたスキャンアプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【００５６】
なお、スキャン指定アプリが既に起動中の場合は、本実施形態では、他に起動中の登録アプリがあっても、選択画面は表示されず、スキャン指定アプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【００５７】
（５）ドライバの処理
次に、ＰＣ３にインストールされているドライバの処理についてより詳しく説明する。ＰＣ３が起動すると、ＣＰＵ３１は、各種初期処理の１つとして、ＨＤＤ３４に記憶（インストール）されているドライバのプログラムを読み込んで実行する。図５は、そのドライバのプログラム全体のうち、プッシュスキャンの実行に関わる処理部分であるプッシュスキャン制御処理を示すフローチャートである。本明細書では、ドライバによる処理全体のうち、図５のプッシュスキャン制御処理に絞って説明する。
【００５８】
ＰＣ３のＣＰＵ３１は、図５のプッシュスキャン制御処理を開始すると、Ｓ１０で、ＭＦＰ２からプッシュスキャンの要求が受信されるのを待つ。ＭＦＰ２からプッシュスキャンの要求を受信したら（Ｓ１０：ＹＥＳ）、Ｓ２０で、レジストリのスキャンアプリ登録リストを参照して、登録アプリの有無を確認する。
【００５９】
Ｓ３０では、Ｓ２０の確認結果に基づき、登録アプリがあるか否か判断する。登録アプリが１つもない場合は（Ｓ３０：ＮＯ）、このスキャン制御処理を終了する。登録アプリがあった場合は（Ｓ３０：ＹＥＳ）、Ｓ４０で、登録アプリは１つか否か判断する。登録アプリは１つと判断した場合は（Ｓ４０：ＹＥＳ）、Ｓ５０で、その１つだけ登録されている登録アプリを、プッシュスキャンに用いるスキャンアプリに決定してこれを起動させ、プッシュスキャン情報を渡す。なお、その登録アプリが既に起動している場合は、当然ながら起動させる処理は不要となる。そして、Ｓ９０で、アプリ対応処理を行う。
【００６０】
Ｓ９０のアプリ対応処理は、登録アプリにプッシュスキャン情報を渡した後、その登録アプリの処理内容に従ってＭＦＰ２へ必要な情報を送信したり、ＭＦＰ２から送信されてきた各種情報や画像データを必要に応じて登録アプリへ渡したりするなどの、ＭＦＰ２におけるプッシュスキャン機能を制御するドライバとしての一般的な処理である。
【００６１】
Ｓ４０で、登録アプリが１つではない（つまり複数ある）と判断した場合は（Ｓ４０：ＮＯ）、Ｓ６０で、複数の登録アプリの中にスキャン指定アプリがあるか否か（つまりプッシュスキャン用として予め指定されたアプリがあるか否か）判断する。スキャン指定アプリがない場合は（Ｓ６０：ＮＯ）、Ｓ７０の第１アプリ決定処理を経てＳ９０に進む。スキャン指定アプリがある場合は（Ｓ６０：ＹＥＳ）、Ｓ８０の第２アプリ決定処理を経てＳ９０に進む。
【００６２】
Ｓ７０の第１アプリ決定処理の詳細について、図６を用いて説明する。ＣＰＵ３１は、第１アプリ決定処理に移行すると、Ｓ１１０で、複数の登録アプリそれぞれについて起動状態を確認する。Ｓ１２０では、Ｓ１１０の確認結果に基づいて、起動中の登録アプリがあるか否か判断する。
【００６３】
起動中の登録アプリがなかった場合は（Ｓ１２０：ＮＯ）、Ｓ１３０で、レジストリに登録されている登録アプリを全て選択肢として列挙し、Ｓ１４０で、その選択肢（全ての登録アプリ）が列挙された選択画面を表示部３５に表示させる。例えば登録アプリが２つある場合は、図４（ａ）と同じような選択画面が表示される。
【００６４】
Ｓ１５０では、ＭＦＰ２へ選択要求を通知する。この選択要求を受信したＭＦＰ２は、プッシュスキャンに用いるスキャンアプリをユーザ自らＰＣ３側で選択する必要があることを示すメッセージを、操作・表示部１４に表示する。
【００６５】
Ｓ１６０では、選択画面において何れかの登録アプリがユーザにより選択（ＯＫボタンがクリックされる）のを待つ。何れかの登録アプリが選択された場合は（Ｓ１６０：ＹＥＳ）、Ｓ１７０で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定してこれを起動させ、プッシュスキャン情報を渡す。
【００６６】
Ｓ１２０で、起動中の登録アプリがあった場合は（Ｓ１２０：ＹＥＳ）、Ｓ１８０で、起動中の登録アプリは１つか否か判断する。起動中の登録アプリが１つの場合は（Ｓ１８０：ＹＥＳ）、Ｓ１９０で、その起動中の登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【００６７】
Ｓ１８０で、起動中の登録アプリが１つではない（つまり複数の登録アプリが起動中である）場合は（Ｓ１８０：ＮＯ）、Ｓ２００で、起動中の複数の登録アプリを選択肢として列挙する。Ｓ２１０では、その選択肢が列挙された選択画面を表示部３５に表示させる。例えば２つの登録アプリが起動中の場合は、図４（ａ）と同じような選択画面を表示させる。２２０では、Ｓ１５０と同様、ＭＦＰ２へ選択要求を通知する。
【００６８】
Ｓ２３０では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は（Ｓ２３０：ＹＥＳ）、Ｓ２４０で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【００６９】
次に、Ｓ８０（図５参照）の第２アプリ決定処理の詳細について、図７を用いて説明する。ＣＰＵ３１は、第２アプリ決定処理に移行すると、Ｓ３１０で、複数の登録アプリそれぞれについて起動状態を確認し、Ｓ３２０で、Ｓ３１０の確認結果に基づいて起動中の登録アプリがあるか否か判断する。
【００７０】
起動中の登録アプリがなかった場合は（Ｓ３２０：ＮＯ）、Ｓ３３０で、プッシュスキャン用として予め指定されているスキャン指定アプリを、プッシュスキャンに用いるスキャンアプリに決定して、これを起動させ、プッシュスキャン情報を渡す。
【００７１】
Ｓ３２０で、起動中の登録アプリがあった場合は（Ｓ３２０：ＹＥＳ）、Ｓ３４０で、起動中の登録アプリは１つか否か判断する。起動中の登録アプリが１つの場合は（Ｓ３４０：ＹＥＳ）、Ｓ３５０で、その起動中の１つの登録アプリがスキャン指定アプリであるか否か判断する。起動中の登録アプリがスキャン指定アプリではない場合は（Ｓ３５０：ＮＯ）、Ｓ３８０に進む。起動中の登録アプリがスキャン指定アプリである場合は（Ｓ３５０：ＹＥＳ）、Ｓ３６０で、その起動中のスキャン指定アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【００７２】
Ｓ３４０で、起動中の登録アプリが１つではない（つまり複数の登録アプリが起動中である）場合は（Ｓ３４０：ＮＯ）、Ｓ３７０で、起動中の複数の登録アプリの中にスキャン指定アプリがあるか否か判断する。スキャン指定アプリがあった場合は（Ｓ３７０：ＹＥＳ）、Ｓ３６０に進み、そのスキャン指定アプリをプッシュスキャンに用いるスキャンアプリに決定する。起動中の複数の登録アプリの中にスキャン指定アプリがなかった場合、即ちスキャン指定アプリは起動しておらず他の登録アプリが複数起動している場合は（Ｓ３７０：ＮＯ）、Ｓ３８０で、スキャン指定アプリを選択肢として列挙する。Ｓ３９０では、その列挙したスキャン指定アプリを選択値のデフォルトに設定する。
【００７３】
Ｓ４００では、起動中の他の登録アプリを選択肢として列挙する。Ｓ４１０では、Ｓ３８０及びＳ４００で列挙した選択肢の選択画面を表示部３５に表示させる。このとき、Ｓ３９０の処理によってスキャン指定アプリがデフォルト指定されているため、選択画面においては、スキャン指定アプリが仮選択されて白抜き反転表示された状態となって表示される。例えば、指定されていない登録アプリが１つ起動中の場合は、図４（ｂ）に例示したように、起動中の登録アプリと起動していないスキャン指定アプリの２つが列挙されたてそのうちスキャン指定アプリが仮選択された状態の選択画面が表示される。
【００７４】
Ｓ４２０では、ＭＦＰ２へ選択要求を通知する。Ｓ４３０では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は（Ｓ４３０：ＹＥＳ）、Ｓ４４０で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定し、プッシュスキャン情報を渡す。選択された登録アプリがスキャン指定アプリの場合は、選択された時点ではスキャン指定アプリはまだ起動していないため、Ｓ４４０の処理においてまずスキャン指定アプリを起動させる必要がある。
【００７５】
（６）第１実施形態の効果等
以上説明した本実施形態の画像読取システム１では、ＭＦＰ２からプッシュスキャンの要求を受けたときにＰＣ３において既に起動中の登録アプリがある場合は、他に登録アプリがあっても、その起動中の登録アプリが優先的にプッシュスキャンに用いるスキャンアプリに決定される。
【００７６】
これにより、ユーザは、ＭＦＰ２でのプッシュスキャン操作に先立って、ＰＣ３においてプッシュスキャンに用いたいスキャンアプリを起動しておくことで、登録アプリが複数あっても選択画面が毎回表示されないようにすることができ、その分、スキャンアプリを選択する手間を低減できる。
【００７７】
従って、本実施形態の画像読取システム１によれば、ＰＣ３において、プッシュスキャンに使用するスキャンアプリの選択にかかるユーザの労力を軽減しつつ、適切なスキャンアプリによりプッシュスキャンを実行（ＭＦＰ２を制御）することができる。
【００７８】
ＭＦＰ２からプッシュスキャンの要求を受けたときにＰＣ３において複数の登録アプリが起動中の場合は、選択画面が表示される。しかしその場合、全ての登録アプリが選択画面に列挙されるのではなく、あくまでも、起動中の登録アプリのみが列挙される。このように、選択画面は表示されるものの、起動していない登録アプリは選択肢として表示されないため、その分、ユーザによるスキャンアプリを選択する手間を低減できる。
【００７９】
また、プッシュスキャンに用いるスキャンアプリが予め指定されている場合、基本的にはそのスキャン指定アプリがプッシュスキャンに用いられることになる。しかし、スキャン指定アプリとは別の登録アプリが起動中の場合は、その起動中の登録アプリとスキャン指定アプリとが列挙された選択画面が表示され、ユーザが何れか一方を選択できる。そのため、ユーザは、スキャン指定アプリとは別のスキャンアプリを用いてスキャンさせたい場合は、所望のスキャンアプリを起動させておくことで、スキャン指定アプリとは別の所望のスキャンアプリを用いてプッシュスキャンを実行させることができる。
【００８０】
なお、本実施形態において、ＰＣ３は本発明の情報処理装置の一例に相当し、ＭＦＰ２は本発明の画像読取装置の一例に相当し、ＰＣ３のドライバは本発明の装置制御プログラムの一例に相当し、ＰＣ３のＣＰＵ３１は本発明の制御部の一例に相当し、ＨＤＤ３４（詳しくはレジストリ）は本発明の登録部の一例に相当し、スキャンアプリは本発明の画像読取アプリケーションの一例に相当し、自動スキャン型アプリは本発明の自動実行アプリの一例に相当する。
【００８１】
［第２実施形態］
上記第１実施形態では、図５のプッシュスキャン制御処理におけるＳ７０の第１アプリ決定処理の具体的内容を、図６に例示した。ここでは、その図６の第１アプリ決定処理の他の実施形態を、第２実施形態として説明する。
【００８２】
本実施形態の画像読取システム１（図１参照）は、ＭＦＰ２とＰＣ３がネットワーク４により接続されている。そのため、ＭＦＰ２とＰＣ３が互いに離れて設置されていることも想定される。一方、スキャンアプリには、既述の通り、ドライバからプッシュスキャン情報がアプリに渡されると自動的にＭＦＰ２へスキャン開始指示を行ってスキャンを実行させる自動スキャン型アプリと、スキャン開始指示の前にスキャン実行確認ＵＩを表示させてユーザ操作入力を待つ非自動スキャン型アプリがある。
【００８３】
ＭＦＰ２とＰＣ３が互いに離れている場合、ＭＦＰ２の設置場所にてプッシュスキャンを実行させようとするユーザにとっては、ＰＣ３でアプリ選択操作を行うことなくＭＦＰ２への入力操作だけで自動的にスキャンが完了した方が都合がよいと想定される。
【００８４】
そこで、本実施形態の第１アプリ決定処理は、登録アプリの中に自動スキャン型アプリが含まれている場合はその自動スキャン型アプリが優先的にプッシュスキャン用アプリとして決定されるように構成されている。図８に、本実施形態の第１アプリ決定処理の詳細を示す。
【００８５】
本実施形態では、ＰＣ３のＣＰＵ３１は、図５のプッシュスキャン制御処理においてＳ６０で否定判定すると、図８の第１アプリ決定処理に進む。なお、図８の第１アプリ決定処理は、図６に示した第１実施形態の第１アプリ決定処理と比較して、主に次の２つの点が相違する。相違点のうちの１つは、Ｓ１３０の処理とＳ１４０の処理の間に、Ｓ１３１及びＳ１３２の処理が追加されていることである。相違点のうちのもう１つは、Ｓ１８０の判断処理で否定判定された場合において、Ｓ２００の処理に移行する前に、Ｓ１９５の判断処理（Ｓ１９５で肯定判定された場合はさらにＳ５１０以降（図９参照）の処理）を実行することである。
【００８６】
そこで、図８に示した本実施形態の第１アプリ決定処理のうち、図６に示した第１実施形態の第１アプリ決定処理と同じ処理については、図６と同じ符号を付し、その説明を省略する。そして、以下、図８に示した本実施形態の第１アプリ決定処理について、第１実施形態と相違する部分に絞って説明する。
【００８７】
ＰＣ３のＣＰＵ３１は、図８の第１アプリ決定処理において、Ｓ１２０で起動中の登録アプリがないと判断し、Ｓ１３０で全ての登録アプリを選択肢として列挙すると、Ｓ１３１で、列挙した登録アプリの中に自動スキャン型アプリがあるか否か判断する。自動スキャン型アプリが列挙されていない場合は（Ｓ１３１：ＮＯ）、Ｓ１４０に進む。
【００８８】
一方、自動スキャン型アプリが列挙されている場合は（Ｓ１３１：ＹＥＳ）、Ｓ１３２で、その列挙されている自動スキャン型アプリのうち特定の１つを、選択値のデフォルトに設定して、Ｓ１４０に進む。Ｓ１３２において、自動スキャン型アプリが１つだけ列挙されている場合は、その自動スキャン型アプリがデフォルトに設定される。自動スキャン型アプリが複数列挙されている場合は、その複数の自動スキャン型アプリのうち、予め決められたルールにより選択された特定の１つがデフォルトに設定される。
【００８９】
なお、自動スキャン型アプリか否かの判断は、種々の方法で行うことができる。例えば、ドライバの一部として、自動スキャン型アプリのデータベースを保持しておき、そのデータベースを元に判断する方法が考えられる。また例えば、ユーザの入力操作によってスキャンアプリ毎に自動スキャン型アプリか否かを指定できるようにし、その指定内容に基づいて判断する方法が考えられる。また例えば、過去に実行されたプッシュスキャンにおいてスキャン実行確認ＵＩが表示されたか否かを学習しておき、その学習結果に基づいて判断する方法が考えられる。
【００９０】
ＣＰＵ３１は、Ｓ１８０で、起動中の登録アプリが１つではない（つまり複数の登録アプリが起動中である）と判断した場合は（Ｓ１８０：ＮＯ）、Ｓ１９５で、起動中の登録アプリの中に自動スキャン型アプリが含まれているか否か確認する。自動スキャン型アプリが含まれていない場合は（Ｓ１９５：ＮＯ）、Ｓ２００に進む。自動スキャン型アプリが含まれている場合は（Ｓ１９５：ＹＥＳ）、図９のＳ５１０に進む。
【００９１】
Ｓ５１０では、起動中の登録アプリの中に自動スキャン型アプリが１つだけ含まれているか否か判断する。自動スキャン型アプリが１つだけ含まれている場合は（Ｓ５１０：ＹＥＳ）、Ｓ５２０で、その起動中の１つの自動スキャン型アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【００９２】
Ｓ５１０で、自動スキャン型アプリが１つだけではない（つまり複数の自動スキャン型アプリが起動中である）と判断した場合は（Ｓ５１０：ＮＯ）、Ｓ５３０で、起動中の登録アプリ（自動スキャン型アプリも含む）を選択肢として列挙する。Ｓ５４０では、その列挙した登録アプリのうち自動スキャン型アプリの１つを、選択値のデフォルトに設定する。複数の自動スキャン型アプリのどれをデフォルトに設定するかについての具体的方法は、Ｓ１３２（図８参照）と同様である。
【００９３】
Ｓ５５０では、選択肢が列挙された選択画面を表示部３５に表示させる。Ｓ５６０では、ＭＦＰ２へ選択要求を通知する。Ｓ５７０では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は（Ｓ５７０：ＹＥＳ）、Ｓ５８０で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【００９４】
以上説明したように、図８，図９に示した本実施形態の第１アプリ決定処理によれば、自動スキャン型アプリを１つ起動させておくことで、他に起動中の登録アプリがあったとしても、起動中の自動スキャン型アプリにてプッシュスキャンを実行・完了させることができる。そのため、ＭＦＰ２を操作してプッシュスキャンを実行させたいユーザにとって、プッシュスキャンの完了までに要する手間が低減される。特に、ＭＦＰ２とＰＣ３との距離が離れているほど効果的である。
【００９５】
［他の実施形態］
（１）第１実施形態では、ドライバは、ＭＦＰ２からプッシュスキャンの要求を受けたときに複数の登録アプリ（但しスキャン指定アプリを除く）が起動中であった場合は（Ｓ１８０：ＮＯ）、その起動中の登録アプリを列挙してユーザに選択させる構成であった（Ｓ２００）。これに対し、例えば、複数の登録アプリが起動中であった場合にその中から何れか１つを自動的に選択させるためのシーケンスを予め設定しておいて、そのシーケンスにより自動選択された１つの登録アプリがプッシュスキャンに用いるスキャンアプリとして自動的に決定される（つまりユーザによる選択操作を不要とする）構成であってもよい。
【００９６】
この場合のシーケンスとしては、例えば、ユーザによる過去の使用頻度を学習させておいてその学習結果に基づいて使用頻度の高いスキャンアプリを選択する手順や、読み取り対象の原稿の情報をＭＦＰ２から取得してその原稿のスキャンにより適したスキャンアプリを選択する手順、などが考えられる。
【００９７】
（２）第１実施形態では、ドライバは、ＭＦＰ２からプッシュスキャンの要求を受けたときにスキャン指定アプリが既に起動中であった場合は、他に起動中の登録アプリがあったとしてもスキャン指定アプリがプッシュスキャンに用いるスキャンアプリとして決定される構成であった（Ｓ３７０：ＹＥＳ）。これに対し、スキャン指定アプリを含む複数の登録アプリが起動中の場合は、その起動中の登録アプリを列挙してユーザに選択させるようにしてもよい。
【００９８】
（３）第１実施形態において、ドライバは、スキャン指定アプリを含む複数の登録アプリが何れも起動していない場合は（Ｓ３２０：ＮＯ）、スキャン指定アプリを含む全ての登録アプリを列挙してユーザに選択させるようにしてもよい。その場合、選択画面の初期状態においてスキャン指定アプリを選択値のデフォルトとして（つまり仮選択された状態として）白抜き反転表示させるようにしてもよい。
【００９９】
（４）第１実施形態において、ドライバは、スキャン指定アプリ以外の他の登録アプリが１つ起動中であった場合は（Ｓ３５０：ＮＯ）、その起動中の登録アプリをプッシュスキャンに用いるスキャンアプリとして決定してもよい。
【０１００】
（５）第２実施形態では、図９のＳ５１０で否定判定された場合（つまり複数の自動スキャン型アプリが起動中だった場合）、起動中の登録アプリが全て（自動スキャン型か否かにかかわらず起動中のもの全て）列挙された選択画面が表示される構成であった。これに対し、複数の自動スキャン型アプリが起動中だった場合は、他に非自動スキャン型アプリが起動中であっても、起動中の自動スキャン型アプリのみを列挙してユーザに選択させるようにしてもよい。或いは、起動中の複数の自動スキャン型アプリの中から、予め設定されたシーケンスに従って特定の１つを自動的に選択し、その自動的に選択した１つの自動スキャン型アプリをプッシュスキャンに用いるスキャンアプリとして自動的に決定する構成であってもよい。
【０１０１】
（６）上述した各種選択画面において、どの選択値（どのスキャンアプリの選択肢）をデフォルトに設定するかについては、適宜決めることができる。逆に、デフォルト設定を行わないようにしてもよい。
【０１０２】
（７）本発明の適用は、図１に示した構成の画像読取システム１への適用に限定されるものではない。プッシュスキャン機能を有する装置としてＭＦＰ２はあくまでも一例である。また、ドライバ及びスキャンアプリがインストールされる情報処理装置として、ＰＣ３はあくまでも一例である。
【符号の説明】
【０１０３】
１…画像読取システム、２…ＭＦＰ、３…ＰＣ、４…ネットワーク、１１，３１…ＣＰＵ、１２，３２…ＲＯＭ、１３，３３…ＲＡＭ、１４…操作・表示部、１５…タッチパネル、１６…スキャナ部、１７…プリンタ部、１８，３７…ＵＳＢＩ／Ｆ、１９，３８…ＬＡＮＩ／Ｆ、３４…ＨＤＤ、３５…表示部、３６…入力部。
【図１】
2015106808.tif 000003
【図２】
2015106808.tif 000004
【図３】
2015106808.tif 000005
【図４】
2015106808.tif 000006
【図５】
2015106808.tif 000007
【図６】
2015106808.tif 000008
【図７】
2015106808.tif 000009
【図８】
2015106808.tif 000010
【図９】
2015106808.tif 000011