(57)【要約】【課題】呼び出し先画面と呼び出し元画面との間で所定の情報を共有すること。【解決手段】プリンタドライバがインストールされた情報処理装置であって、前記プリンタドライバに対する第１の印刷設定を行うための第１の画面を表示する第１の表示手段と、前記プリンタドライバに対する第２の印刷設定を行うための第２の画面の表示操作に応じて、前記第１の画面と前記第２の画面とで共有される記憶領域に所定の情報を保存する第１の保存手段と、前記記憶領域に記憶されている前記所定の情報に基づいて、前記第２の画面を表示する第２の表示手段と、を有することを特徴とする。【選択図】図５
2019160061.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバがインストールされた情報処理装置であって、
前記プリンタドライバに対する第１の印刷設定を行うための第１の画面を表示する第１の表示手段と、
前記プリンタドライバに対する第２の印刷設定を行うための第２の画面の表示操作に応じて、前記第１の画面と前記第２の画面とで共有される記憶領域に所定の情報を保存する第１の保存手段と、
前記記憶領域に記憶されている前記所定の情報に基づいて、前記第２の画面を表示する第２の表示手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２の印刷設定は、前記第１の画面に含まれる印刷設定項目に対する詳細な印刷設定である、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の情報には、前記第２の画面が表示中であるか否かを示す制御情報が含まれ、
前記第２の画面を非表示にするための非表示操作に応じて、前記記憶領域に保存されている前記制御情報を前記第２の画面が表示中でないことを示すものに更新する第２の保存手段と、
前記制御情報が前記第２の画面が表示中であることを示すものである間、前記第１の画面に対する操作を無効にする操作制御手段と、を有し、
前記第１の保存手段は、
前記第２の画面の表示操作に応じて、前記第２の画面が表示中であることを示す制御情報を前記記憶領域に保存する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定の情報には、印刷設定項目の設定値を示す設定情報が含まれ、
前記第１の保存手段は、
前記第２の画面の表示操作に応じて、前記第１の画面で設定された印刷設定項目の設定値を示す設定情報を前記記憶領域に保存し、
前記第２の表示手段は、
前記記憶領域に記憶されている前記設定情報によって示される印刷設定項目の設定値に応じて、前記第２の画面の内容を決定し、決定した内容の第２の画面を表示する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の画面の非表示操作は、前記第２の画面に含まれる印刷設定項目に対して指定された設定値の設定操作であり、
前記第２の保存手段は、
前記第２の画面における前記設定操作に応じて、前記記憶領域に記憶されている前記設定情報を、前記設定操作により設定された印刷設定項目の設定値を追加した設定情報に更新し、
前記第１の表示手段は、
前記第２の保存手段による更新後の設定情報に基づいて、前記第１の画面を表示する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１の表示手段と、前記第２の表示手段とは異なるプロセスのプログラムによって実行され、
前記記憶領域は、前記プログラムの処理に用いられるデータが格納される所定の記憶領域又は前記情報処理装置のユーザ毎に割り当てられる所定の記憶領域である、
ことを特徴とする請求項１乃至５の何れか一項に記載の情報処理装置。
【請求項７】
前記プログラムは、前記情報処理装置に搭載されたＯＳが管理する設定ファイルにおいて所定の拡張子と関連付けられており、
前記第１の表示手段は、
前記第２の画面の表示操作に応じて、前記記憶領域に記憶されている前記所定の拡張子のファイルを開くことで、前記第２の表示手段を実行するプログラムの起動を前記ＯＳに要求する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
プリンタドライバがインストールされた情報処理装置が、
前記プリンタドライバに対する第１の印刷設定を行うための第１の画面を表示する第１の表示手順と、
前記プリンタドライバに対する第２の印刷設定を行うための第２の画面の表示操作に応じて、前記第１の画面と前記第２の画面とで共有される記憶領域に所定の情報を保存する第１の保存手順と、
前記記憶領域に記憶されている前記所定の情報に基づいて、前記第２の画面を表示する第２の表示手順と、
を実行することを特徴とする情報処理方法。
【請求項９】
プリンタドライバがインストールされた情報処理装置に、
前記プリンタドライバに対する第１の印刷設定を行うための第１の画面を表示する第１の表示手順と、
前記プリンタドライバに対する第２の印刷設定を行うための第２の画面の表示操作に応じて、前記第１の画面と前記第２の画面とで共有される記憶領域に所定の情報を保存する第１の保存手順と、
前記記憶領域に記憶されている前記所定の情報に基づいて、前記第２の画面を表示する第２の表示手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）８以降のＷｉｎｄｏｗｓＯＳ（Operating System）では、従来のデスクトップアプリに加えて、ストアアプリと呼ばれる新しいアプリケーションの仕組みが導入された。また、Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓＯＳでは、従来のＶｅｒｓｉｏｎ３（以降、「Ｖ３」と表す。）プリンタドライバに加えて、Ｖｅｒｓｉｏｎ４（以降、「Ｖ４」と表す。）プリンタドライバと呼ばれる新しいプリンタドライバのアーキテクチャが導入された。
【０００３】
Ｖ４プリンタドライバにおいて、ストアデバイスアプリ（ＤＣＡ：Device Companion Application）によって提供される印刷設定画面から他の画面（例えば、ヘルプ画面）を呼び出して表示する技術が知られている（例えば、特許文献１参照）。特許文献１に開示されている技術によれば、Ｖ４プリンタドライバにおいて、ストアデバイスアプリによって提供される印刷設定画面と、ヘルプ画面とを同時に閲覧可能に表示させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、呼び出し元である印刷設定画面と、呼び出し先である他の画面（例えば、ヘルプ画面）との両方の画面をユーザが操作可能であった。このため、例えば、印刷設定画面に表示された設定項目に対する詳細設定画面を呼び出し先の画面としたい場合、ユーザの印刷設定値の変更操作等によって、呼び出し元の印刷設定画面と、呼び出し先の詳細設定画面との間で設定値の矛盾等が発生する可能性があった。
【０００５】
これに対して、例えば、呼び出し元の画面と呼び出し先の画面との間で、呼び出し先の画面の状態に応じて呼び出し元の画面に対する操作を制御するための情報を共有することができれば、呼び出し元の画面に対する操作を適切に制限することができると考えられる。
【０００６】
本発明の実施の形態は、上記の点に鑑みてなされたもので、呼び出し先画面と呼び出し元画面との間で所定の情報を共有することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の実施の形態は、プリンタドライバがインストールされた情報処理装置であって、前記プリンタドライバに対する第１の印刷設定を行うための第１の画面を表示する第１の表示手段と、前記プリンタドライバに対する第２の印刷設定を行うための第２の画面の表示操作に応じて、前記第１の画面と前記第２の画面とで共有される記憶領域に所定の情報を保存する第１の保存手段と、前記記憶領域に記憶されている前記所定の情報に基づいて、前記第２の画面を表示する第２の表示手段と、を有することを特徴とする。
【発明の効果】
【０００８】
呼び出し先画面と呼び出し元画面との間で所定の情報を共有することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報処理システムのシステム構成の一例を示す図である。
【図２】本実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図３】本実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図４】本実施形態に係る情報処理装置のソフトウェア構成の一例を示す図である。
【図５】実施例１における情報処理装置の機能構成の一例を示す図である。
【図６】ストアデバイスアプリのｍａｎｉｆｅｓｔファイルに含まれる定義内容の一例を示す図である。
【図７】実施例１における印刷設定処理の一例を示すシーケンス図である。
【図８】ストアアプリからの印刷時における印刷設定画面及び詳細設定ダイアログの一例を示す図である。
【図９】実施例１における設定ファイルの一例を示す図（その１）である。
【図１０】実施例１における設定ファイルの一例を示す図（その２）である。
【図１１】ストアデバイスアプリの起動後に実行される処理の一例を示すフローチャートである。
【図１２】詳細設定ダイアログとして表示される画面の決定処理の一例を示すフローチャートである。
【図１３】ストアアプリからの印刷時における印刷設定画面及び詳細設定ダイアログの他の例を示す図である。
【図１４】実施例２における情報処理装置の機能構成の一例を示す図である。
【図１５】実施例３における印刷設定画面及び詳細設定ダイアログの一例を示す図である。
【図１６】実施例３における情報処理装置の機能構成の一例を示す図である。
【図１７】実施例３における印刷設定処理の一例を示すシーケンス図である。
【図１８】実施例４における印刷設定処理の一例を示すシーケンス図である。
【図１９】実施例４における設定ファイル及び制御情報ファイルの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係る情報処理システム１のシステム構成の一例を示す図である。
【００１２】
図１に示すように、本実施形態に係る情報処理システム１には、情報処理装置１０と、画像形成装置２０とが含まれる。また、情報処理装置１０と画像形成装置２０とは、例えば、ＬＡＮ（Local Area Network）等のネットワーク３０を介して互いに通信可能に接続されている。なお、情報処理装置１０と画像形成装置２０とは、例えば、ＵＳＢ（Universal Serial Bus）ケーブル等の各種ケーブルを介して互いに通信可能に接続されていても良い。
【００１３】
情報処理装置１０は、例えば、ＰＣ（Personal Computer）やスマートフォン、タブレット端末等の種々の端末装置である。情報処理装置１０は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データの印刷を要求するための印刷要求を画像形成装置２０に送信する。
【００１４】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データのことである。また、印刷データとは、印刷対象データを、画像形成装置２０が印刷可能な形式（例えば、ＰＤＬ（Page Description Language）形式等）に変換した電子データである。
【００１５】
画像形成装置２０は、例えば、プリンタ、印刷機能を備えたＭＦＰ（Multifunction Peripheral/Product/Printer）等である。画像形成装置２０は、情報処理装置１０から受信した印刷要求に応じて、印刷データを印刷する。なお、画像形成装置２０がＭＦＰである場合、当該画像形成装置２０は、印刷機能以外にも、例えば、スキャン機能、コピー機能、ファクシミリ機能等を備えている。
【００１６】
なお、図１に示す情報処理システム１の構成は一例であって、他の構成であっても良い。情報処理システム１には、例えば、情報処理装置１０から受信した印刷データを蓄積等する印刷サーバが含まれていても良い。このような場合、印刷サーバは、画像形成装置２０からの要求に応じて、蓄積している印刷データを要求元の画像形成装置２０に送信する。
【００１７】
＜ハードウェア構成＞
次に、本実施形態に係る情報処理システム１に含まれる情報処理装置１０及び画像形成装置２０のハードウェア構成について、図２及び図３を用いて説明する。
【００１８】
≪情報処理装置１０≫
図２は、本実施形態に係る情報処理装置１０のハードウェア構成の一例を示す図である。図２に示すように、本実施形態に係る情報処理装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４とを有する。また、本実施形態に係る情報処理装置１０は、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、補助記憶装置１０８とを有する。これらのハードウェアは、バスＢで互いに接続されている。
【００１９】
入力装置１０１は、例えば、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２は、例えば、ディスプレイ等であり、情報処理装置１０の処理結果を表示する。
【００２０】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。情報処理装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取りや書き込み等を行うことができる。記録媒体１０３ａには、例えば、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２１】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、ＯＳ設定、ネットワーク設定等のプログラムやデータ、及び情報処理装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）が格納されている。
【００２２】
ＣＰＵ１０６は、ＲＯＭ１０５や補助記憶装置１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、当該プログラムやデータに基づく処理を実行することで、情報処理装置１０全体の制御やその他の機能を実現する演算装置である。
【００２３】
通信Ｉ／Ｆ１０７は、情報処理装置１０をネットワーク３０に接続するインタフェースである。情報処理装置１０は、通信Ｉ／Ｆ１０７を介して、他の装置と通信を行うことができる。
【００２４】
補助記憶装置１０８は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１０８に格納されるプログラムやデータには、情報処理装置１０全体を制御する基本ソフトウェアであるＯＳ、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。なお、補助記憶装置１０８は、格納しているプログラムやデータを所定のファイルシステムやＤＢにより管理している。
【００２５】
本実施形態に係る情報処理装置１０は、図２に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００２６】
≪画像形成装置２０≫
図３は、本実施形態に係る画像形成装置２０のハードウェア構成の一例を示す図である。図３に示すように、本実施形態に係る画像形成装置２０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プロッタ２０５とを有する。また、コントローラ２０１は、ＣＰＵ２１１と、ＲＡＭ２２１と、ＲＯＭ２３１と、ＮＶＲＡＭ２４１と、補助記憶装置２５１とを有する。
【００２７】
ＲＯＭ２３１は、各種プログラムやデータを格納している不揮発性の半導体メモリである。ＲＡＭ２２１は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＮＶＲＡＭ２４１は、例えば設定情報等を格納している。補助記憶装置２５１は、例えば、ＨＤＤやＳＳＤ等であり、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００２８】
ＣＰＵ２１１は、ＲＯＭ２３１やＮＶＲＡＭ２４１、補助記憶装置２５１等からプログラムやデータ、設定情報等をＲＡＭ２２１上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置２０全体の制御やその他の機能を実現する演算装置である。
【００２９】
操作パネル２０２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する入出力装置である。外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。画像形成装置２０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａを読み取りや書き込み等を行うことができる。記録媒体２０３ａには、例えば、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３０】
通信Ｉ／Ｆ２０４は、画像形成装置２０をネットワーク３０に接続するインタフェースである。画像形成装置２０は、通信Ｉ／Ｆ２０４を介して、他の装置と通信を行うことができる。プロッタ２０５は、印刷データを印刷する印刷装置である。
【００３１】
本実施形態に係る画像形成装置２０は、図３に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３２】
＜情報処理装置１０のソフトウェア構成＞
次に、本実施形態に係る情報処理装置１０のソフトウェア構成について、図４を参照しながら説明する。図４は、本実施形態に係る情報処理装置１０のソフトウェア構成の一例を示す図である。
【００３３】
図４に示すように、本実施形態に係る情報処理装置１０は、アプリケーション３１０と、ＯＳ３２０と、プリンタドライバ３３０と、ストアデバイスアプリ３４０とを有する。
【００３４】
アプリケーション３１０は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、ＯＳ３２０に印刷の指示（要求）を行うことができるアプリケーションソフトである。アプリケーション３１０には、ストアアプリ３１１と、デスクトップアプリ３１２とが含まれる。
【００３５】
ストアアプリ３１１は、例えば、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳにアプリケーションを提供する「Ｗｉｎｄｏｗｓストア」から入力可能なアプリケーションである。ストアアプリ３１１では、「ストアアプリ  ＵＩ」が用いられる。なお、Ｗｉｎｄｏｗｓ８及びＷｉｎｄｏｗｓ８．１では、ＯＳ３２０によって提供される「Ｍｏｄｅｒｎ  ＵＩ」又は「Ｍｅｔｒｏ  ＵＩ」とも称されるＵＩからストアアプリ５１１が呼び出される。
【００３６】
一方、デスクトップアプリ３１２は、例えば、Ｗｉｎｄｏｗｓ７以前のバージョンのＷｉｎｄｏｗｓＯＳにおいても使用可能なアプリケーションである。
【００３７】
ＯＳ３２０は、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳである。ただし、ＯＳ３２０は、Ｗｉｎｄｏｗｓ８／ＷｉｎｄｏｗｓＲＴ及びそれ以降のバージョンのＷｉｎｄｏｗｓＯＳに限られず、これらのＷｉｎｄｏｗｓＯＳと同様の特徴を備えるＯＳであっても良い。
【００３８】
プリンタドライバ３３０は、印刷を制御するプログラムであり、本実施形態では、前述したＶ４プリンタドライバである。プリンタドライバ３３０には、拡張設定部３３１と、設定制御部３３２と、描画部３３３とが含まれる。
【００３９】
拡張設定部３３１は、プリンタ拡張とも称され、デスクトップアプリ３１２から印刷を行う場合に、ベンダ独自の印刷設定画面等を表示する。
【００４０】
設定制御部３３２は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部３３１は、例えば、設定制御部３３２により正当でないと検証された印刷設定の組み合わせを非表示にしたり、デフォルト値にしたりすること等ができる。
【００４１】
また、設定制御部３３２は、アプリケーション３１０やＯＳ３２０等からの要求に応じて、プリンタドライバ３３０が設定可能な機能の情報を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｙを返信する。更に、設定制御部３３２は、アプリケーション３１０やＯＳ３２０等からの要求に応じて、プリンタドライバ３３０に設定されている各種機能の設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇから取得し、取得した設定値を示すＰｒｉｎｔＴｉｃｋｅｔを返信する。また、設定制御部３３２は、ＰｒｉｎｔＴｉｃｋｅｔで示された設定値をＤｅｖｍｏｄｅＰｒｏｐｅｒｔｙＢａｇに保存する。
【００４２】
なお、ＯＳ３２０に返信されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙやＰｒｉｎｔＴｉｃｋｅｔは、例えば、拡張設定部３３１が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【００４３】
描画部３３３は、アプリケーション３１０において印刷指示が行われた印刷対象データから印刷データを作成する。
【００４４】
ストアデバイスアプリ３４０は、ＤＣＡとも称され、ストアアプリ３１１から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。ストアデバイスアプリ３４０の起動方法には、（１）通常のストアアプリ３１１のようにホーム画面（又はスタート画面）から起動する方法と、（２）ベンダ独自の印刷設定画面を表示するためにＯＳ３２０が表示する印刷画面（印刷ダイアログ）から起動する方法と、（３）ストアデバイスアプリ３４０に関連付けられた拡張子のファイルを開く事で起動する方法との３つがある。以降では、上記（２）の方法でストアデバイスアプリ３４０を起動することを「ドライバＵＩとしてストアデバイスアプリ３４０を起動する」とも表し、上記（３）の方法（及び（１）の方法）で起動されたストアデバイスアプリ３４０を「ストアデバイスアプリ３４０を単独起動する」とも表す。
【００４５】
なお、ストアデバイスアプリ３４０は、ストアアプリ３１１と同様に、「Ｗｉｎｄｏｗｓストア」から入手可能なアプリケーションである。
【００４６】
デスクトップアプリ３１２から印刷を行う場合、プリンタドライバ３３０は、拡張設定部３３１により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ３１１から印刷を行う場合、プリンタドライバ３３０は、ストアデバイスアプリ３４０により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【００４７】
（実施例１）
以降では、本実施形態に係る情報処理装置１０の実施例１について説明する。実施例１では、ドライバＵＩとして起動されたストアデバイスアプリ３４０により印刷設定画面を表示し、この印刷設定画面に含まれる設定項目に対する詳細設定画面（詳細設定ダイアログ）を、単独起動されたストアデバイスアプリ３４０により表示する場合について説明する。このとき、実施例１では、詳細設定ダイアログが表示されている間は印刷設定画面に対する操作を行えないように制御する。すなわち、詳細設定ダイアログがモーダルダイアログとして表示されるように制御する。
【００４８】
＜機能構成＞
まず、実施例１における情報処理装置１０の機能構成について、図５を参照しながら説明する。図５は、実施例１における情報処理装置１０の機能構成の一例を示す図である。
【００４９】
図５に示すように、実施例１における情報処理装置１０は、ドライバＵＩ部３４１と、情報管理部３４２と、ダイアログ部３４３と、印刷設定管理部３４４と、画面決定部３４５とを有する。これら各部は、ストアデバイスアプリ３４０がＣＰＵ１０６に実行させる処理により実現される。
【００５０】
また、実施例１における情報処理装置１０は、記憶領域３５０を有する。当該記憶領域は、例えば補助記憶装置１０８を用いて実現可能である。なお、当該記憶領域は、例えば、情報処理装置１０とネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【００５１】
ドライバＵＩ部３４１は、ストアデバイスアプリ３４０がドライバＵＩとして起動された場合に、印刷設定画面を表示する。なお、ストアデバイスアプリ３４０は、例えば、ストアアプリ３１１における印刷指示操作に応じてＯＳ３２０によって表示される印刷ダイアログで、印刷設定画面の表示操作が行われることでドライバＵＩとして起動される。
【００５２】
情報管理部３４２は、記憶領域３５０への情報の書き込みや記憶領域３５０からの情報の読み出し等を行う。
【００５３】
ダイアログ部３４３は、ストアデバイスアプリ３４０が単独起動された場合に、詳細設定ダイアログを表示する。
【００５４】
印刷設定管理部３４４は、情報管理部３４２を介して、ストアデバイスアプリ３４０が単独起動された場合に、設定情報（設定項目とその設定値とを示す情報）を記憶領域３５０から読み出す。また、詳細設定ダイアログで設定値の変更操作等が行われた場合、印刷設定管理部３４４は、情報管理部３４２を介して、設定情報を記憶領域３５０に書き込む。
【００５５】
画面決定部３４５は、印刷設定画面で設定されている印刷設定に応じて、詳細設定ダイアログとして表示される画面を決定する。これは、印刷設定画面で設定されている印刷設定に応じて、詳細設定ダイアログに表示される設定項目の数や種類等が異なる場合があるためである。
【００５６】
記憶領域３５０は、ドライバＵＩとして起動されたストアデバイスアプリ３４０と、単独起動されたストアデバイスアプリ３４０との間で共有される情報を記憶する領域である。記憶領域３５０に記憶される情報には、ストアデバイスアプリ３４０に関連付けられた拡張子（後述する独自の拡張子）の設定ファイルがある。記憶領域３５０として利用される記憶領域は、例えば、ストアデバイスアプリ３４０のアプリケーションデータの保存に用いられる記憶領域やユーザディレクトリ（ユーザのマイドキュメント以下）に用いられる記憶領域等である。
【００５７】
ここで、実施例１におけるストアデバイスアプリ３４０は、インストール時に、任意に決められた独自の拡張子と関連付けされる。ストアデバイスアプリ３４０に独自の拡張子を関連付けるには、アプリケーション３１０毎に紐付けされるｍａｎｉｆｅｓｔファイルにおいて、ｆｉｌｅｔｙｐｅａｓｓｏｃｉａｔｉｏｎと呼ばれるカテゴリに拡張子を定義することで行われる。一例として、ストアデバイスアプリ３４０に対して独自の拡張子「．ａｂｃ」を関連付ける場合に、このストアデバイスアプリ３４０に紐付けされるｍａｎｉｆｅｓｔファイルに含まれるｆｉｌｅｔｙｐｅａｓｓｏｃｉａｔｉｏｎカテゴリ定義１０００を図６に示す。図６に示すように、ｆｉｌｅｔｙｐｅａｓｓｏｃｉａｔｉｏｎカテゴリ定義１０００には、独自の拡張子「．ａｂｃ」をストアデバイスアプリ３４０に関連付けるための定義内容１１００が含まれている。これにより、独自の拡張子「．ａｂｃ」のファイルが開かれる事で、ストアデバイスアプリ３４０が起動されるようになる。
【００５８】
＜印刷設定処理＞
次に、ドライバＵＩとして起動されたストアデバイスアプリ３４０により表示された印刷設定画面と、単独起動されたストアデバイスアプリ３４０により表示された設定詳細ダイアログとにおいて印刷設定を行う処理について、図７を参照しながら説明する。図７は、実施例１における印刷設定処理の一例を示すシーケンス図である。
【００５９】
まず、ユーザによりストアデバイスアプリ３４０がドライバＵＩとして起動されると（ステップＳ１０１）、ドライバＵＩ部３４１は、例えば図８に示すような印刷設定画面Ｇ１００を表示する。このとき起動されたストアデバイスアプリ３４０のプロセスを「第１プロセス」とする。以降では、第１プロセスで起動しているストアデバイスアプリ３４０を「ストアデバイスアプリ３４０−１」と表す。
【００６０】
図８に示す印刷設定画面Ｇ１００には、一例として、設定項目「用紙方向」の設定値を指定するための設定欄Ｇ１１０と、設定項目「集約」の設定値を指定するための設定欄Ｇ１２０とが含まれている。また、図８に示す印刷設定画面Ｇ１００には、設定項目「集約」に関する詳細な設定（ページ配列）を指定可能な詳細設定ダイアログを表示するための詳細設定ボタンＧ１３０が含まれる。
【００６１】
ユーザにより印刷設定操作（例えば、設定欄Ｇ１１０や設定欄Ｇ１２０における設定値の指定操作）が行われると（ステップＳ１０２）、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、当該操作を受け付ける。また、ユーザにより詳細設定ダイアログの表示操作（例えば、詳細設定ボタンＧ１３０の押下操作）が行われると（ステップＳ１０３）、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、当該操作を受け付ける。
【００６２】
ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、印刷設定画面Ｇ１００で設定された設定情報と、印刷設定画面Ｇ１００に対する操作を制御するための制御情報とを書き込んだ、独自の拡張子（例えば、「．ａｂｃ」）の設定ファイル２０００を作成する。そして、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、情報管理部３４２を介して、作成した設定ファイル２０００を記憶領域３５０に保存する（ステップＳ１０４）。
【００６３】
ここで、設定ファイル２０００の一例を図９に示す。図９に示すように、設定ファイル２０００には、設定情報２１００と、制御情報２２００とが含まれる。設定情報２１００は、印刷設定画面Ｇ１００で設定された１以上の設定項目とその設定値とが含まれる情報である。例えば、図９に示す例では、設定項目「ｏｒｉｅｎｔａｔｉｏｎ」（用紙方向）とその設定値「ｐｏｒｔｒａｉｔ」（縦）とが含まれている。同様に、図９に示す例では、設定項目「ｌａｙｏｕｔ」（集約）とその設定値「４ｉｎ１」とが含まれている。
【００６４】
制御情報２２００は、印刷設定画面Ｇ１００に対する操作を制御するための情報であり、印刷設定画面Ｇ１００のどの詳細設定ボタンが押されたのかを示す配置情報（ｄｉｓｐｌａｙ）と、この詳細設定ボタンの押下によって表示される詳細設定ダイアログのステータス（ｓｔａｔｕｓ）とが含まれる。例えば、図９に示す例では、配置情報「ｌａｙｏｕｔｄｅｔａｉｌ」が含まれる。また、図９に示す例では、ステータス「ｏｐｅｎＤｉａｌｏｇ」が含まれる。このステータス「ｏｐｅｎＤｉａｌｏｇ」は、詳細設定ダイアログが表示されていることを示すステータスである。ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、上記のステップＳ１０４で、詳細設定ダイアログが表示されていることを示すステータスが含まれる制御情報２２００を書き込んだ設定ファイル２０００を作成する。
【００６５】
図７に戻る。ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、印刷設定画面Ｇ１００に対する操作を無効にする（ステップＳ１０５）。次に、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、上記のステップＳ１０４で記憶領域３５０に保存した設定ファイル２０００（すなわち、独自の拡張子の設定ファイル２０００）を開く（ステップＳ１０６）。このとき、記憶領域３５０がストアデバイスアプリ３４０のアプリケーションデータの保存に用いられる記憶領域である場合、ドライバＵＩ部３４１は、例えば、ｍｓａｐｐｄａｔａプロトコルを用いて設定ファイル２０００を開く必要がある。なお、ドライバＵＩ部３４１は、必ずしも記憶領域３５０に記憶されている設定ファイル２０００を開く必要はなく、独自の拡張子（本実施形態では拡張子「．ａｂｃ」）の任意のファイルを開いても良い。
【００６６】
ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、設定ファイル２０００を開くと、この設定ファイル２０００の拡張子（．ａｂｃ）に関連付けられたアプリケーションの起動をＯＳ３４０に要求する（ステップＳ１０７）。
【００６７】
また、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、記憶領域３５０に記憶されている設定ファイル２０００の制御情報２２００に含まれるステータスが、詳細設定ダイアログが閉じられたことを示すステータスに更新されたか否かを監視する（ステップＳ１０８）。ドライバＵＩ部３４１は、このような監視を、例えば、数百ミリ秒乃至数秒毎に行う。
【００６８】
ＯＳ３４０は、ストアデバイスアプリ３４０を単独起動する（ステップＳ１０９）。このとき、ストアデバイスアプリ３４０のプロセスは第１のプロセスとは別のプロセスで起動される。この別のプロセスを「第２プロセス」とする。以降では、第２プロセスで起動しているストアデバイスアプリ３４０を「ストアデバイスアプリ３４０−２」と表す。なお、単独起動されるストアデバイスアプリ３４０は、起動後に、記憶領域３５０に設定ファイル２０００が記憶されている否かを判定し、記憶領域３５０に設定ファイル２０００記憶されている場合にのみ起動する。この起動後の処理の詳細については後述する。
【００６９】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、現在の設定の取得を印刷設定管理部３４４に要求する（ステップＳ１１０）。すると、ストアデバイスアプリ３４０−２の印刷設定管理部３４４は、情報管理部３４２を介して、記憶領域３５０に記憶されている設定ファイル２０００から設定情報２１００を読み込む（ステップＳ１１１）。これにより、ストアデバイスアプリ３４０−２は、ストアデバイスアプリ３４０−１が表示した印刷設定画面Ｇ１００で設定された設定情報２１００を取得することができる。すなわち、設定詳細ダイアログの呼び出し元である印刷設定画面と、呼び出し先である詳細設定ダイアログとの間で設定情報２１００を共有することができる。
【００７０】
次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、詳細設定ダイアログとして表示させる画面の決定を画面決定部３４５に要求する（ステップＳ１１２）。このとき、ダイアログ部３４３は、上記のステップＳ１１１で読み込んだ設定情報２１００が含まれる要求を画面決定部３４５に行う。そして、画面決定部３４５は、詳細設定ダイアログとして表示させる画面を決定した上で、決定した画面の内容をダイアログ部３４３に返信する。なお、詳細設定ダイアログとして表示させる画面を決定する処理の詳細については後述する。
【００７１】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、例えば図８に示すような詳細設定ダイアログＧ２００を表示する（ステップＳ１１３）。このとき、上記のステップＳ１０５で印刷設定画面Ｇ１００に対する操作を無効にしているため、ユーザは、当該印刷画面Ｇ２００に対して操作を行うことができない。すなわち、上記のステップＳ１１３で表示された詳細設定ダイアログＧ２００は、モーダルダイアログとして表示される。これにより、実施例１における情報処理装置１０では、印刷設定画面Ｇ１００と詳細設定ダイアログＧ２００との間で矛盾のある設定値が設定されてしまうような事態を防止することができる。また、実施例１における情報処理装置１０では、詳細設定画面がダイアログとして表示されることで、印刷設定画面Ｇ１００で設定されている設定値を参照しながら詳細設定ダイアログＧ２００の設定値を指定することもできるようになる。
【００７２】
図８に示す詳細設定ダイアログＧ２００は、設定項目「集約」に関する詳細な設定（ページ配列）を指定するための画面である。図８に示す詳細設定ダイアログＧ２００には、一例として、設定項目「ページ配列」の設定値を指定するための設定欄Ｇ２１０と、設定欄Ｇ２１０で指定された設定値を設定ファイル２０００に設定するためのＯＫボタンＧ２２０とが含まれる。なお、ＯＫボタンＧ２２０の押下（又はキャンセルボタンの押下）によって詳細設定ダイアログＧ２００は閉じられる。
【００７３】
ユーザにより印刷設定操作（例えば、設定欄Ｇ２１０における設定値の指定操作）が行われると（ステップＳ１１４）、ストアデバイスアプリ３４０−２のダイアログ部３４３は、当該操作を受け付ける。また、ユーザにより設定値の設定操作（例えば、ＯＫボタンＧ２２０の押下操作）が行われると（ステップＳ１１５）、ストアデバイスアプリ３４０−２のダイアログ部３４３は、当該操作を受け付ける。
【００７４】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、設定値の変更操作が行われたことと、詳細設定ダイアログＧ２００で設定された設定情報の保持とを印刷設定管理部３４４に要求する（ステップＳ１１６）。すると、ストアデバイスアプリ３４０−２の印刷設定管理部３４４は、情報管理部３４２を介して、詳細設定ダイアログＧ２００で設定された設定情報と、詳細設定ダイアログＧ２００が閉じられたことを示すステータスとを設定ファイル２０００に書き込む（ステップＳ１１７）。
【００７５】
ここで、上記のステップＳ１１７で書き込みが行われた後の設定ファイル２０００を図１０に示す。図１０に示すように、上記のステップＳ１１７で書き込みが行われた後の設定ファイル２０００には、設定情報２１００と、制御情報２２００とに加えて、設定情報２３００が含まれる。設定情報２３００は、詳細設定ダイアログＧ２００で設定された１以上の設定項目とその設定値とが含まれる情報である。例えば、図１０に示す例では、設定項目「ｌａｙｏｕｔ＿ｏｒｄｅｒ」とその設定値「ｌｅｆｔ＿ｔｏｐ」とが含まれる。
【００７６】
また、制御情報２２００は、ステータス「ｃｌｏｓｅＤｉａｌｏｇ」が含まれる。すなわち、上記のステップＳ１１７でステータス「ｏｐｅｎＤｉａｌｏｇ」が「ｃｌｏｓｅＤｉａｌｏｇ」に書き換えられる。このステータス「ｃｌｏｓｅＤｉａｌｏｇ」は、詳細設定ダイアログＧ２００が閉じられたことを示すステータスである。このように、ストアデバイスアプリ３４０−２の印刷設定管理部３４４は、上記のステップＳ１１７で、制御情報２２００に含まれるステータスを、詳細設定ダイアログＧ２００が閉じられたことを示すステータスに更新する。
【００７７】
図７に戻る。ストアデバイスアプリ３４０−２のダイアログ部３４３は、詳細設定ダイアログＧ２００を閉じる（ステップＳ１１８）。これにより、詳細設定ダイアログＧ２００が非表示となる。なお、詳細設定ダイアログＧ２００が閉じられた場合、ストアデバイスアプリ３４０−２の第２プロセスを終了しても良い。
【００７８】
ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、記憶領域３５０に記憶されている設定ファイル２０００の制御情報２２００に含まれるステータスが、詳細設定ダイアログが閉じられたことを示すステータス「ｃｌｏｓｅＤｉａｌｏｇ」に更新されたことを検知した場合、情報管理部３４２を介して、当該設定ファイル２０００に含まれる設定情報２１００及び設定情報２３００を読み込む（ステップＳ１１９）。これにより、ストアデバイスアプリ３４０−１は、ストアデバイスアプリ３４０−２が表示した詳細設定ダイアログＧ２００で設定された設定情報２３００を取得することができる。すなわち、設定詳細ダイアログの呼び出し元である印刷設定画面と、呼び出し先である詳細設定ダイアログとの間で設定情報２３００を共有することができる。
【００７９】
次に、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、上記のステップＳ１１９で取得した設定情報２３００（すなわち、詳細設定ダイアログＧ２００で設定された設定情報２３００）を印刷設定画面Ｇ１００に反映する（ステップＳ１２０）。
【００８０】
次に、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、情報管理部３４２を介して、記憶領域３５０に記憶されている設定ファイル２０００を削除する（ステップＳ１２１）。
【００８１】
次に、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、印刷設定画面Ｇ１００に対する操作を有効にする（ステップＳ１２２）。これにより、印刷設定画面Ｇ１００に対する操作が再び可能となる。
【００８２】
以上のように、実施例１における情報処理装置１０では、ストアアプリ３１１から印刷を行う場合に、ストアデバイスアプリ３４０により表示される印刷設定画面Ｇ１００から詳細設定ダイアログＧ２００を呼び出すことができる。しかも、このとき、実施例１における情報処理装置１０では、当該詳細設定ダイアログＧ２００として呼び出すことができる。
【００８３】
これにより、実施例１における情報処理装置１０では、印刷設定画面Ｇ１００と詳細設定ダイアログＧ２００との間で矛盾のある設定値が設定されてしまうような事態を防止することができる。
【００８４】
また、実施例１における情報処理装置１０では、詳細設定画面がダイアログとして表示されることで、印刷設定画面Ｇ１００で設定されている設定値を参照しながら詳細設定ダイアログＧ２００の設定値を指定することもできるようになる。
【００８５】
なお、上記のステップＳ１２１以降、例えば、印刷設定画面Ｇ１００でＯＫボタン等がユーザにより押下されることで、ストアデバイスアプリ３４０−１によって設定された印刷設定情報を用いて、プリンタドライバ３３０により印刷を行うことができるようになる。
【００８６】
＜ストアデバイスアプリ３４０の起動後に実行される処理＞
ここで、単独起動されたストアデバイスアプリ３４０の起動後に実行される処理について、図１１を参照しながら説明する。図１１は、ストアデバイスアプリ３４０の起動後に実行される処理の一例を示すフローチャートである。図１１に示す処理は、図７のステップＳ１０９において、ＯＳ３４０によって単独起動されたストアデバイスアプリ３４０−２が起動後に実行する。
【００８７】
まず、ストアデバイスアプリ３４０−２は、設定ファイル２０００が記憶領域３５０に記憶されているか否かを判定する（ステップＳ２０１）。これは、例えば、印刷設定管理部３４４が、情報管理部３４２を介して、独自の拡張子（本実施形態では「．ａｂｃ」）のファイルが記憶領域３５０に記憶されているか否かを判定すれば良い。
【００８８】
設定ファイル２００が記憶領域３５０に記憶されていると判定した場合（ステップＳ２０１でＹＥＳ）、ストアデバイスアプリ３４０−２は、当該設定ファイル２０００を読み込む（ステップＳ２０２）。すなわち、この場合、ストアデバイスアプリ３４０−２は、図７のステップＳ１１０以降の処理を実行する。
【００８９】
設定ファイル２００が記憶領域３５０に記憶されていると判定しなかった場合（ステップＳ２０１でＹＥＳ）、ストアデバイスアプリ３４０−２は、何もしない又は終了する（ステップＳ２０３）。これは、例えば、ストアデバイスアプリ３４０がホーム画面（又はスタート画面）から起動された場合に該当する。
【００９０】
以上のように、実施例１における情報処理装置１０は、ストアデバイスアプリ３４０がホーム画面（又はスタート画面）から起動された場合、当該ストアデバイスアプリ３４０は何もしない又は終了するように制御する。これにより、例えば、ストアデバイスアプリ３４０がホーム画面（又はスタート画面）から起動された場合に、詳細設定ダイアログが表示される事態を防止することができる。
【００９１】
＜詳細設定ダイアログとして表示される画面の決定処理＞
ここで、詳細設定ダイアログとして表示される画面を決定する処理について、図１２を参照しながら説明する。図１２は、詳細設定ダイアログとして表示される画面の決定処理の一例を示すフローチャートである。図１２に示す処理は、図７のステップＳ１１２において、ダイアログ部３４３からの要求を受け取った画面決定部３４５により実行される。以降では、設定項目「集約」に関する詳細設定ダイアログとして、ページ配列を指定するための選択肢が含まれる画面を決定する場合の例について説明する。ただし、設定項目「集約」の設定値としては、「２ｉｎ１」又は「４ｉｎ１」のいずれかが指定可能であるものとする。
【００９２】
まず、画面決定部３４５は、印刷設定画面Ｇ１００の設定項目「集約」の設定値が「２ｉｎ１」であるか否かを判定する（ステップＳ３０１）。画面決定部３４５は、設定ファイル２０００に含まれる設定情報２１００から、当該設定項目「集約」の設定値が「２ｉｎ１」であるか否かを判定することができる。
【００９３】
設定項目「集約」の設定値が「２ｉｎ１」であると判定した場合（ステップＳ３０１でＹＥＳ）、画面決定部３４５は、印刷設定画面Ｇ１００の設定項目「用紙方向」の設定値が「縦」であるか否かを判定する（ステップＳ３０２）。画面決定部３４５は、設定ファイル２０００に含まれる設定情報２１００から、当該設定項目「用紙方向」の設定値が「縦」であるか否かを判定することができる。
【００９４】
設定項目「用紙方向」の設定値が「縦」であると判定しなかった場合（ステップＳ３０２でＮＯ）、画面決定部３４５は、ページ配列の選択肢として１つの選択肢が含まれる画面を詳細設定ダイアログに決定する（ステップＳ３０３）。これは、２ｉｎ１の集約印刷を用紙方向「横」で行う場合、通常、ページ配列は「上→下」の１つのみであるためである。
【００９５】
設定項目「用紙方向」の設定値が「縦」であると判定した場合（ステップ３２０２でＹＥＳ）、画面決定部３４５は、ページ配列の選択肢として２つの選択肢が含まれる画面を詳細設定ダイアログに決定する（ステップＳ３０４）。これは、２ｉｎ１の集約印刷を用紙方向「縦」で行う場合、通常、ページ配列は「左→右」と「右→左」との２つがあるためである。この場合、例えば、図１３に示すように、ページ配列の選択肢が２つ含まれる詳細設定ダイアログＧ３００が表示される。
【００９６】
設定項目「集約」の設定値が「２ｉｎ１」であると判定しなかった場合（ステップＳ３０１でＮＯ）、画面決定部３４５は、ページ配列の選択肢として４つの選択肢が含まれる画面を詳細設定ダイアログに決定する（ステップＳ３０５）。この場合、設定項目「集約」の設定値は「４ｉｎ１」であるため、用紙方向に関わらず、ページ配列は「左上→右上→左下→右下」と、「左上→左下→右上→右下」と、「右上→左上→右下→左下」と、「右上→右下→左上→左下」との４つがあるためである。
【００９７】
以上のように、実施例１における情報処理装置１０は、ストアデバイスアプリ３４０−１により表示された印刷設定画面の設定項目に対する詳細設定ダイアログをストアデバイスアプリ３４０−２が表示する場合に、当該印刷設定画面で設定されている設定値に応じて、詳細設定ダイアログとして表示させる画面の内容を決定することができる。
【００９８】
（実施例２）
以降では、本実施形態に係る情報処理装置１０の実施例２について説明する。実施例２では、ストアデバイスアプリ３４０−２の代わりに、詳細設定ダイアログを表示するストアアプリであるストアダイアログアプリ３６０を起動させる場合について説明する。
【００９９】
なお、実施例２では、主に、実施例１との相違点について説明し、特に言及しない事項については実施例１と同様であるものとする。
【０１００】
＜機能構成＞
実施例２における情報処理装置１０の機能構成について、図１４を参照しながら説明する。図１４は、実施例２における情報処理装置１０の機能構成の一例を示す図である。
【０１０１】
図１４に示すように、実施例２における情報処理装置１０は、ストアデバイスアプリ３４０がＣＰＵ１０６に実行させる処理により実現される機能部として、ドライバＵＩ部３４１と、情報管理部３４２とを有する。
【０１０２】
また、実施例２における情報処理装置１０は、ストアダイアログアプリ３６０がＣＰＵ１０６に実行させる処理により実現される機能部として、情報管理部３６１と、ダイアログ部３６２と、印刷設定管理部３６３と、画面決定部３６４とを有する。なお、情報管理部３６１と、ダイアログ部３６２と、印刷設定管理部３６３と、画面決定部３６４とは、実施例１におけるストアデバイスアプリ３４０−２がＣＰＵ１０６に実行させる処理により実現されるダイアログ部３４３と、印刷設定管理部３４４と、画面決定部３４５と、情報管理部３４２とそれぞれ同様である。
【０１０３】
また、実施例２における情報処理装置１０の記憶領域３５０は、ユーザディレクトリ（ユーザのマイドキュメント以下）に用いられる記憶領域である。
【０１０４】
図１４に示す機能構成により、実施例１における印刷設定処理（図７）において、ストアデバイスアプリ３４０−１と、情報管理部３６１と、ダイアログ部３６２と、印刷設定管理部３６３と、画面決定部３６４とを、それぞれストアダイアログアプリ３６０と、ダイアログ部３６２と、印刷設定管理部３６３と、画面決定部３６４とに読み替えることで、実施例１と同様に、詳細設定ダイアログを表示することができる。ただし、実施例２では、ストアダイアログアプリ３６０のインストール時に、当該ストアダイアログアプリ３６０を独自の拡張値（本実施形態では、「．ａｂｃ」）と関連付けておく必要がある。
【０１０５】
実施例２では、ストアデバイスアプリ３４０に加えて、ストアダイアログアプリ３６０を情報処理装置１０にインストールする必要があるものの、ストアダイアログアプリ３６０をストアデバイスアプリ３４０とは独立に更新等を行うことができるようになる。
【０１０６】
（実施例３）
以降では、本実施形態に係る情報処理装置１０の実施例３について説明する。実施例３では、詳細設定ダイアログに含まれる設定項目に対する詳細設定ダイアログを表示させる場合について説明する。
【０１０７】
すなわち、図１５に示すように、印刷設定画面Ｇ１００の設定項目「集約」に関する詳細設定ダイアログＧ４００において、この詳細設定ダイアログＧ４００の設定項目「ページ配列」に関する詳細設定ダイアログＧ５００を表示させる場合について説明する。以降では、印刷設定画面から表示される詳細設定ダイアログを「子ダイアログ」、子ダイアログから表示される詳細設定ダイアログを「孫ダイアログ」とも表す。なお、一般に、或る詳細設定ダイアログから更に詳細設定ダイアログが呼び出されても良い。
【０１０８】
なお、実施例３では、主に、実施例２との相違点について説明し、特に言及しない事項については実施例２と同様であるものとする。
【０１０９】
＜機能構成＞
実施例３における情報処理装置１０の機能構成について、図１６を参照しながら説明する。図１６は、実施例３における情報処理装置１０の機能構成の一例を示す図である。
【０１１０】
図１６に示すように、実施例３における情報処理装置１０は、実施例１と同様に、ストアデバイスアプリ３４０がＣＰＵ１０６に実行させる処理により実現される機能部として、ドライバＵＩ部３４１と、情報管理部３４２と、ダイアログ部３４３と、印刷設定管理部３４４と、画面決定部３４５とを有する。
【０１１１】
また、実施例３における情報処理装置１０は、ストアダイアログアプリ３６０がＣＰＵ１０６に実行させる処理により実現される機能部として、情報管理部３６１と、ダイアログ部３６２と、印刷設定管理部３６３と、画面決定部３６４とを有する。これらの各機能部は、実施例２とそれぞれ同様である。
【０１１２】
以降で説明する実施例３では、ストアデバイスアプリ３４０は第１の独自の拡張子（本実施形態では、「．ａｂｃ」とする。）に関連付けられている一方で、ストアダイアログアプリ３６０は第２の独自の拡張子（本実施形態では、「．ａｂｃ２」とする。）に関連付けられているものとする。
【０１１３】
＜印刷設定処理＞
次に、ドライバＵＩとして起動されたストアデバイスアプリ３４０により表示された印刷設定画面と、単独起動されたストアデバイスアプリ３４０により表示された子ダイアログと、ストアダイアログアプリ３６０により表示された孫ダイアログとにおいて印刷設定を行う処理について、図１７を参照しながら説明する。図１７は、実施例３における印刷設定処理の一例を示すシーケンス図である。なお、図１７のステップＳ１０１〜ステップＳ１１３及びステップＳ１１４〜ステップＳ１２２は、図７と同様であるため、その説明を省略する。
【０１１４】
ここで、ステップＳ１１３では、ストアデバイスアプリ３４０−２のダイアログ部３４３により、図１５に示す詳細設定ダイアログＧ４００が表示されたものとする。図１５に示す詳細設定ダイアログＧ４００には、設定項目「ページ配列」の設定値を指定するための設定欄Ｇ４１０と、設定項目「ページ配列」に関する詳細な設定（仕切り線）を指定可能な詳細設定ダイアログＧ５００を表示するための詳細設定ボタンＧ４２０が含まれる。
【０１１５】
ユーザにより詳細設定ダイアログの表示操作（例えば、詳細設定ボタンＧ４２０の押下操作）が行われると（ステップＳ４０１）、ストアデバイスアプリ３４０−２のダイアログ部３４３は、当該操作を受け付ける。
【０１１６】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、詳細設定ダイアログＧ４００で設定されている設定情報と、当該詳細設定ダイアログＧ４００に対する操作を制御するための制御情報とを書き込んだ、第２の独自の拡張子の設定ファイルを作成する。そして、ストアデバイスアプリ３４０−２のダイアログ部３４３は、情報管理部３４２を介して、作成した設定ファイルを記憶領域３５０に保存する（ステップＳ４０２）。なお、このとき、ダイアログ部３４３は、制御情報として、詳細設定ダイアログＧ４００が表示中であることを示すステータスが含まれる制御情報を書き込んだ設定ファイルを作成する。以降では、第２の独自の拡張子の設定ファイルを「第２の設定ファイル」とも表す。一方で、第１の独自の拡張子の設定ファイルを「第１の設定ファイル」とも表す。なお、第２の設定ファイルの構成は、第１の設定ファイルと同様であるため、その説明は省略する。
【０１１７】
次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、詳細設定画面Ｇ４００に対する操作を無効にする（ステップＳ４０３）。次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、上記のステップＳ４０２で記憶領域３５０に保存した第２の設定ファイルを開く（ステップＳ４０４）。
【０１１８】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、第２の設定ファイルを開くと、この第２の設定ファイルの拡張子（すなわち、「．ａｂｃ２」）に関連付けられたアプリケーションの起動をＯＳ３４０に要求する（ステップＳ４０５）。
【０１１９】
また、ストアデバイスアプリ３４０−２のダイアログ部３４３は、記憶領域３５０に記憶されている第２の設定ファイルの制御情報に含まれるステータスが、詳細設定ダイアログＧ５００が閉じられたことを示すステータスに更新されたか否かを監視する（ステップＳ４０６）。ダイアログ部３４３は、このような監視を、例えば、数百ミリ秒乃至数秒毎に行う。
【０１２０】
ＯＳ３４０は、第２の独自の拡張子に関連付けられているストアダイアログアプリ３６０を起動する（ステップＳ４０７）。このとき起動されたストアダイアログアプリ３６０のプロセスを「第３プロセス」とする。なお、ストアデバイスアプリ３４０と同様に、ストアダイアログアプリ３６０も、起動後に、記憶領域３５０に第２の設定ファイルが記憶されている否かを判定し、記憶領域３５０に当該第２の設定ファイル記憶されている場合にのみ起動する。
【０１２１】
ストアダイアログアプリ３６０のダイアログ部３６２は、現在の設定の取得を印刷設定管理部３４４に要求する（ステップＳ４０８）。すると、ストアダイアログアプリ３６０の印刷設定管理部３６３は、情報管理部３６１を介して、記憶領域３５０に記憶されている第２の設定ファイルから設定情報を読み込む（ステップＳ４０９）。これにより、ストアダイアログアプリ３６０は、ストアデバイスアプリ３４０−２が表示した詳細設定ダイアログＧ４００で設定された設定情報を取得することができる。すなわち、呼び出し元の詳細設定ダイアログと、呼び出し先の詳細設定ダイアログとの間で設定情報を共有することができる。
【０１２２】
次に、ストアダイアログアプリ３６０のダイアログ部３６２は、詳細設定ダイアログＧ５００として表示させる画面の決定を画面決定部３６４に要求する（ステップＳ４１０）。このとき、ダイアログ部３６２は、上記のステップＳ４０９で読み込んだ設定情報が含まれる要求を画面決定部３６４に行う。そして、画面決定部３６４は、詳細設定ダイアログＧ５００として表示させる画面を決定した上で、決定した画面の内容をダイアログ部３６２に返信する。
【０１２３】
ストアダイアログアプリ３６０のダイアログ部３６２は、例えば図１５に示すような詳細設定ダイアログＧ５００を表示する（ステップＳ４１１）。このとき、上記のステップＳ４０３で詳細設定ダイアログＧ４００に対する操作を無効にしているため、ユーザは、印刷設定画面Ｇ１００及び詳細設定ダイアログＧ４００に対して操作を行うことができない。すなわち、上記のステップＳ４１１で表示された詳細設定ダイアログＧ５００は、モーダルダイアログとして表示される。これにより、実施例３における情報処理装置１０では、印刷設定画面Ｇ１００と、詳細設定ダイアログＧ４００と、詳細設定ダイアログＧ５００との間で矛盾のある設定値が設定されてしまうような事態を防止することができる。また、実施例３における情報処理装置１０では、詳細設定画面がダイアログとして表示されることで、印刷設定画面Ｇ１００や他の詳細設定ダイアログで設定されている設定値を参照しながら詳細設定ダイアログＧ５００の設定値を指定することもできるようになる。
【０１２４】
図１５に示す詳細設定ダイアログＧ５００は、設定項目「ページ配列」に関する詳細な設定（仕切り線）を指定するための画面である。図１５に示す詳細設定ダイアログＧ５００には、一例として、設定項目「仕切り線」の設定値を指定するための設定欄Ｇ５１０と、設定欄Ｇ５１０で指定された設定値を第２の設定ファイルに設定するためのＯＫボタンＧ５２０とが含まれる。なお、ＯＫボタンＧ５２０の押下（又はキャンセルボタンの押下）によって詳細設定ダイアログＧ５００は閉じられる。
【０１２５】
ユーザにより印刷設定操作（例えば、設定欄Ｇ５１０における設定値の指定操作）が行われると（ステップＳ４１２）、ストアダイアログアプリ３６０のダイアログ部３６２は、当該操作を受け付ける。また、ユーザにより設定値の設定操作（例えば、ＯＫボタンＧ５２０の押下操作）が行われると（ステップＳ４１３）、ストアダイアログアプリ３６０のダイアログ部３６２は、当該操作を受け付ける。
【０１２６】
ストアダイアログアプリ３６０のダイアログ部３６２は、設定値の変更操作が行われたことと、詳細設定ダイアログＧ５００で設定された設定情報の保持とを印刷設定管理部３６３に要求する（ステップＳ４１４）。すると、ストアダイアログアプリ３６０の印刷設定管理部３６３は、情報管理部３６１を介して、詳細設定ダイアログＧ５００で設定された設定情報と、詳細設定ダイアログＧ５００が閉じられたことを示すステータスとを第２の設定ファイルに書き込む（ステップＳ４１５）。
【０１２７】
ストアダイアログアプリ３６０のダイアログ部３６２は、詳細設定ダイアログＧ５００を閉じる（ステップＳ４１６）。これにより、詳細設定ダイアログＧ５００が非表示となる。なお、詳細設定ダイアログＧ５００が閉じられた場合、ストアダイアログアプリ３６０の第３プロセスを終了しても良い。
【０１２８】
ストアデバイスアプリ３４０−２のダイアログ部３４３は、記憶領域３５０に記憶されている第２の設定ファイルの制御情報に含まれるステータスが、詳細設定ダイアログＧ５００が閉じられたことを示すステータスに更新されたことを検知した場合、情報管理部３４２を介して、当該第２の設定ファイルに含まれる設定情報を読み込む（ステップＳ４１７）。これにより、ストアデバイスアプリ３４０−２は、ストアダイアログアプリ３６０が表示した詳細設定ダイアログＧ５００で設定された設定情報を取得することができる。すなわち、呼び出し元の詳細設定ダイアログＧ４００と、呼び出し先の詳細設定ダイアログＧ５００との間で設定情報を共有することができる。
【０１２９】
次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、上記のステップＳ４１７で取得した設定情報（すなわち、詳細設定ダイアログＧ５００で設定された設定情報）を詳細設定ダイアログＧ４００に反映する（ステップＳ４１８）。
【０１３０】
次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、情報管理部３４２を介して、記憶領域３５０に記憶されている第２の設定ファイルを削除する（ステップＳ４１９）。
【０１３１】
次に、ストアデバイスアプリ３４０−２のダイアログ部３４３は、詳細設定ダイアログＧ４００に対する操作を有効にする（ステップＳ４２０）。これにより、詳細設定ダイアログＧ４００に対する操作が再び可能となる。
【０１３２】
以上のように、実施例３における情報処理装置１０では、ストアアプリ３１１から印刷を行う場合に、ストアデバイスアプリ３４０により表示される印刷設定画面Ｇ１００から詳細設定ダイアログＧ４００を呼び出すことができると共に、詳細設定ダイアログＧ４００から詳細設定ダイアログＧ５００を呼び出すことができる。しかも、このとき、実施例３における情報処理装置１０では、実施例１〜実施例２と同様に、呼び出し先の画面が表示中である間は、呼び出し元の画面に対する操作を無効にすることができる。
【０１３３】
（実施例４）
以降では、本実施形態に係る情報処理装置１０の実施例４について説明する。実施例４では、実施例１における設定ファイルの代わりに、設定情報が含まれる設定ファイルと、制御情報が含まれる制御情報ファイルとを用いる場合について説明する。
【０１３４】
なお、実施例４では、主に、実施例１との相違点について説明し、特に言及しない事項については実施例１と同様であるものとする。
【０１３５】
＜印刷設定処理＞
以降では、実施例４における印刷設定処理について、図１８を参照しながら説明する。図１８は、実施例４における印刷設定処理の一例を示すシーケンス図である。なお、図１８のステップＳ１０１〜ステップＳ１０３、ステップＳ１０５〜ステップＳ１１６、及びステップＳ１１８〜ステップＳ１２２は、図７と同様であるため、その説明を省略する。
【０１３６】
ステップＳ１０３に続いて、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、印刷設定画面Ｇ１００で設定された設定情報を書き込んだ設定ファイル３０００を作成する。このとき、ドライバＵＩ部３４１は、設定ファイル３０００を独自の拡張子（例えば、「．ａｂｃ」）で作成する。
【０１３７】
そして、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１は、情報管理部３４２を介して、作成した設定ファイル３０００を記憶領域３５０に保存する（ステップＳ５０１）。
【０１３８】
ここで、設定ファイル３０００の一例を図１９（ａ）に示す。図１９（ａ）に示すように、設定ファイル３０００には、設定情報３１００が含まれる。設定情報３１００は、印刷設定画面Ｇ１００で設定された１以上の設定項目とその設定値とが含まれる情報である。このように、実施例４における設定ファイル３０００には、設定情報のみが含まれ、制御情報は別のファイル（後述する制御情報ファイル４０００）に書き込まれる。
【０１３９】
ステップＳ１１２に続いて、ストアデバイスアプリ３４０−２のダイアログ部３４３は、印刷設定画面Ｇ１００に対する操作を制御するための制御情報を書き込んだ制御情報ファイル４０００を作成する。このとき、ドライバＵＩ部３４１は、制御情報ファイル４０００を独自の拡張子（例えば、「．ａｂｃ」）で作成する。
【０１４０】
そして、ストアデバイスアプリ３４０−２のダイアログ部３４３は、情報管理部３４２を介して、作成した制御情報ファイル４０００を記憶領域３５０に保存する（ステップＳ５０２）。
【０１４１】
ここで、設定ファイル３０００の一例を図１９（ａ）に示す。図１９（ａ）に示すように、制御情報ファイル４０００には、制御情報４１００が含まれる。制御情報４１００は、印刷設定画面Ｇ１００に対する操作を制御するための情報であり、印刷設定画面Ｇ１００のどの詳細設定ボタンが押されたのかを示す配置情報（ｄｉｓｐｌａｙ）と、この詳細設定ボタンの押下によって表示される詳細設定ダイアログのステータス（ｓｔａｔｕｓ）とが含まれる。このように、実施例４では、制御情報が制御情報ファイル４０００に書き込まれる。
【０１４２】
ステップＳ１１６に続いて、ストアデバイスアプリ３４０−２の印刷設定管理部３４４は、情報管理部３４２を介して、詳細設定ダイアログＧ２００で設定された設定情報を設定ファイル３０００に書き込むと共に、詳細設定ダイアログＧ２００が閉じられたことを示すステータスとを制御情報ファイル４０００に書き込む（ステップＳ５０３）。これにより、ストアデバイスアプリ３４０−１のドライバＵＩ部３４１によって、制御情報ファイル４０００に含まれるステータスが「ｃｌｏｓｅＤｉａｌｏｇ」に更新されたことが検知される。
【０１４３】
また、ステップＳ１１８に続いて、ストアデバイスアプリ３４０−２のダイアログ部３４３は、制御情報ファイル４０００を記憶領域３５０から削除する（ステップＳ５０４）。
【０１４４】
以上のように、実施例４における情報処理装置１０では、設定ファイル３０００と制御情報ファイル４０００を別のファイルとすることができる。これにより、実施例４における情報処理装置１０では、第２プロセスとして起動されたストアデバイスアプリ３４０のみが制御情報ファイル４０００の書き込む等を行えば良くなる。
【０１４５】
なお、上記の実施例１〜実施例４では、印刷設定（第１の印刷設定）を行うための印刷設定画面に含まれる設定項目に関してより詳細な設定（第２の印刷設定）を行うための画面（又は、この画面に含まれる設定項目に関してより詳細な設定を行うための画面）をダイアログとして表示させたが、ダイアログとして表示される画面は、或る設定項目に関してより詳細な設定を行うための画面に限られない。例えば、印刷設定画面（又は印刷設定画面からダイアログとして表示される画面）に含まれる或る設定項目と所定の関係がある設定項目の設定値を設定するための画面がダイアログとして表示されても良い。このような所定の関係とは、例えば、当該或る設定項目の設定値に応じて、当該設定項目の設定値として選択可能な選択肢が決定されるような連動関係又は排他関係等が挙げられる。すなわち、ダイアログとして表示される画面は、この画面の呼び出し元の画面で設定可能な第１の印刷設定と所定の関係がある第２の印刷設定を行うための画面であっても良い。
【０１４６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１４７】
１        情報処理システム
１０      情報処理装置
２０      画像形成装置
３０      ネットワーク
３１０    アプリケーション
３１１    ストアアプリ
３１２    デスクトップアプリ
３３０    プリンタドライバ
３４０    ストアデバイスアプリ
３４１    ドライバＵＩ部
３４２    情報管理部
３４３    ダイアログ部
３４４    印刷設定管理部
３４５    画面決定部
３５０    記憶領域
【先行技術文献】
【特許文献】
【０１４８】
【特許文献１】特開２０１７−１１１６９０号公報
【図１】
2019160061.tif 000003
【図２】
2019160061.tif 000004
【図３】
2019160061.tif 000005
【図４】
2019160061.tif 000006
【図５】
2019160061.tif 000007
【図６】
2019160061.tif 000008
【図７】
2019160061.tif 000009
【図８】
2019160061.tif 000010
【図９】
2019160061.tif 000011
【図１０】
2019160061.tif 000012
【図１１】
2019160061.tif 000013
【図１２】
2019160061.tif 000014
【図１３】
2019160061.tif 000015
【図１４】
2019160061.tif 000016
【図１５】
2019160061.tif 000017
【図１６】
2019160061.tif 000018
【図１７】
2019160061.tif 000019
【図１８】
2019160061.tif 000020
【図１９】
2019160061.tif 000021