(57)【要約】      （修正有）【課題】アプリケーションにプラグインを追加しても、アプリケーションの起動の遅延を防止しつつ、良好な操作性を実現できる情報処理装置、アプリケーションの機能拡張方法及びプログラムを提供する。【解決手段】情報処理装置は、拡張プログラムにより機能を拡張したアプリケーションを実行でき、アプリケーションの起動に応じてアプリケーションにより表示された、拡張プログラムの操作ユーザーインターフェースの操作に応じて、操作に対応する機能を実行する実行手段を含む。実行手段は、操作ユーザーインターフェースの操作に応じて、機能のためのライブラリのロードと機能の両方を実行することを特徴とする。【選択図】図５
2019204286.tif 000002
【特許請求の範囲】
【請求項１】
拡張プログラムにより機能を拡張したアプリケーションを実行できる情報処理装置であって、
前記アプリケーションの起動に応じて前記アプリケーションにより表示された、前記拡張プログラムの操作ユーザーインターフェースの操作に応じて、前記操作に対応する機能を実行する実行手段を含み、
前記実行手段は、前記操作ユーザーインターフェースの操作に応じて、前記機能のためのライブラリのロードと前記機能の両方を実行することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
動作可能な環境であるか判定し、動作可能な環境の場合に、前記操作ユーザーインターフェースを前記表示部に表示させることを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記動作可能な環境には、前記情報処理装置のオペレーティングシステムが、前記拡張プログラムが動作可能なオペレーティングシステムであることと、前記アプリケーションが、前記拡張プログラムがインストールされる対象のアプリケーションであることと、前記アプリケーションのバージョンが、前記拡張プログラムがインストールされる対象のアプリケーションのバージョンであることの少なくとも１つを含むことを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
前記拡張プログラムは、前記アプリケーションに対して印刷のための設定処理を行う拡張プログラムを含むことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記拡張プログラムは、ユーザが指定した用紙サイズに応じたサイズの画像を印刷するための設定処理を行うプログラムであることを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置であって、
前記実行手段は、前記操作ユーザーインターフェースの操作に応じて、前記用紙サイズをユーザが指定するための画面の表示を実行することを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の情報処理装置であって、
前記拡張プログラムのコントロール操作に応じて、前記ライブラリの使用の有無を判定し、前記ライブラリを使用すると判定され、かつ、前記ライブラリがロードされていない場合に前記ライブラリをロードすることを特徴とする情報処理装置。
【請求項８】
拡張プログラムにより機能を拡張したアプリケーションを実行できる情報処理装置によるアプリケーションの機能拡張方法であって、
前記アプリケーションの起動に応じて前記アプリケーションにより表示された、前記拡張プログラムの操作ユーザーインターフェースの操作に応じて、前記操作に対応する機能を実行する実行工程を含み、
前記実行工程では、前記操作ユーザーインターフェースの操作に応じて、前記機能のためのライブラリのロードと前記機能の両方を実行することを特徴とするアプリケーションの機能拡張方法。
【請求項９】
請求項８に記載のアプリケーションの機能拡張方法であって、
前記表示工程では、動作可能な環境であるか判定し、動作可能な環境の場合に、前記操作ユーザーインターフェースを前記表示部に表示させることを特徴とするアプリケーションの機能拡張方法。
【請求項１０】
請求項９に記載のアプリケーションの機能拡張方法であって、
前記動作可能な環境には、前記情報処理装置のオペレーティングシステムが、前記拡張プログラムが動作可能なオペレーティングシステムであることと、前記アプリケーションが、前記拡張プログラムがインストールされる対象のアプリケーションであることと、前記アプリケーションのバージョンが、前記拡張プログラムがインストールされる対象のアプリケーションのバージョンであることの少なくとも１つを含むことを特徴とするアプリケーションの機能拡張方法。
【請求項１１】
請求項８乃至１０のいずれか一項に記載のアプリケーションの機能拡張方法であって、
前記拡張プログラムは、前記アプリケーションに対して印刷のための設定処理を行う拡張プログラムを含むことを特徴とするアプリケーションの機能拡張方法。
【請求項１２】
請求項１１に記載のアプリケーションの機能拡張方法であって、
前記拡張プログラムは、ユーザが指定した用紙サイズに応じたサイズの画像を印刷するための設定処理を行うプログラムであることを特徴とするアプリケーションの機能拡張方法。
【請求項１３】
請求項１２に記載のアプリケーションの機能拡張方法であって、
前記実行工程では、前記操作ユーザーインターフェースの操作に応じて、前記用紙サイズをユーザが指定するための画面の表示を実行することを特徴とするアプリケーションの機能拡張方法。
【請求項１４】
請求項１０乃至１３のいずれか一項に記載のアプリケーションの機能拡張方法であって、
前記拡張プログラムのコントロール操作に応じて、前記ライブラリの使用の有無を判定し、前記ライブラリを使用すると判定され、かつ、前記ライブラリがロードされていない場合に前記ライブラリをロードすることを特徴とするアプリケーションの機能拡張方法。
【請求項１５】
コンピュータにより実行される、アプリケーションの機能を拡張するための拡張プログラムであって、
前記アプリケーションの起動に応じて表示された、前記拡張プログラムの操作ユーザーインターフェースの操作に応じて、前記操作に対応する機能を実行する実行手段として前記コンピュータを機能させ、
前記実行手段は、前記操作ユーザーインターフェースの操作に応じて、前記機能のためのライブラリのロードと前記機能の両方を実行することを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムであって、
前記拡張プログラムは、前記アプリケーションに対して印刷のための設定処理を行う拡張プログラムを含むことを特徴とするプログラム。
【請求項１７】
請求項１６に記載のプログラムであって、
前記プログラムは、ユーザが指定した用紙サイズに応じたサイズの画像を印刷するための設定処理を行うプログラムであることを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムであって、
前記実行手段は、前記操作ユーザーインターフェースの操作に応じて、前記用紙サイズをユーザが指定するための画面の表示を実行することを特徴とするプログラム。
【請求項１９】
請求項１５乃至１８のいずれか一項に記載のプログラムであって、
前記拡張プログラムのコントロール操作に応じて、前記ライブラリの使用の有無を判定し、前記ライブラリを使用すると判定され、かつ、前記ライブラリがロードされていない場合に前記ライブラリをロードすることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、アプリケーションの機能を拡張する方法およびプログラムに関する。
【背景技術】
【０００２】
アプリケーションには、自身の機能を拡張させるための手段を公開しているものが多数存在する。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（登録商標、米国マイクロソフト社）や、ＩｎｔｅｒｎｅｔＥｘｐｌｏｒｅｒ（登録商標、米国マイクロソフト社）などのアプリケーションが挙げられる。これらのアプリケーションは、公開されている手段に則って追加プログラムを登録することにより、ユーザに対して追加機能を提供することが可能である。そして、このような、アプリケーションに追加機能を提供するための追加プログラム（機能追加用のソフトウェアプログラム）は、一般的にプラグインと呼ばれている。以下、プラグインをプラグインソフトウェアプログラムまたはプラグインソフトウェアまたはプラグインプログラムと記載することもある。
【０００３】
プラグインを利用したアプリケーションの機能拡張については、先行技術も幾つか提案されている（例えば、特許文献１）。特許文献１には、アプリケーションにおける用紙サイズを適切かつ容易に設定する機能を提供するプラグインについて開示している。
【０００４】
また、Ｗｉｎｄｏｗｓ（登録商標、米国マイクロソフト社）上で動作するＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅなどのアプリケーションに追加するプラグインでは、Ｗｉｎｄｏｗｓの機能を使用するために．ＮＥＴ  Ｆｒａｍｅｗｏｒｋクラスライブラリ（米国マイクロソフト社）（以下、単にＯＳライブラリと呼ぶ）を使用することが一般的であるが、ＯＳライブラリを使用するプラグインをアプリケーションに追加すると、アプリケーション起動時にプラグインがＯＳライブラリをロードするためアプリケーションの起動時間が遅くなることが知られている。そのことを防ぐために、アプリケーション起動時にプラグインがＯＳライブラリをロードしないようにする手段がとられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−３２７０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
アプリケーション起動時にプラグインがＯＳライブラリをロードしないようにする手段として、アプリケーション起動後に、プラグインを起動するためのユーザーインターフェース（ＵＩ）操作に応じてＯＳライブラリをロードする構成がとられている。たとえばプラグインが追加されたアプリケーションを起動するとプラグインソフトウェアに含まれたアドインローダーが起動され、プラグインの起動のみを行うためのユーザーインターフェースであるプラグイン起動ＵＩがアドインローダーによって表示される。アプリケーション上に表示されたプラグイン起動ＵＩをユーザが操作すると、アドインローダーがアドインを起動し、起動されたアドインが、プラグインの実処理が操作できる各種のプラグインＵＩを表示する。この時にＯＳライブラリもロードされる。その後、アプリケーション上に表示されたプラグインＵＩを操作すると、各種ＵＩ操作に応じた処理がロードされたＯＳライブラリを介してＯＳの機能を使用して行われる。
【０００７】
このように、従来、プラグインソフトウェアを追加したアプリケーションの起動時間が遅延することを、プラグイン起動ＵＩを介在させてＯＳライブラリをロードすることで回避していた。
【０００８】
しかしながら、この構成では、アプリケーション起動後にプラグインを起動するＵＩを操作しないとプラグインの各種機能を使用することができないため、操作性が悪いという課題があった。
【０００９】
本発明は上記従来例に鑑みてなされたもので、アプリケーションの起動の遅延を防止しつつ、良好な操作性を実現した情報処理装置、アプリケーションの機能拡張方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明は、以下に述べる構成を有する。すなわち、本発明の一側面によれば、  拡張プログラムにより機能を拡張したアプリケーションを実行できる情報処理装置であって、
前記アプリケーションの起動に応じて前記アプリケーションにより表示された、前記拡張プログラムの操作ユーザーインターフェースの操作に応じて、前記操作に対応する機能を実行する実行手段を含み、
前記実行手段は、前記操作ユーザーインターフェースの操作に応じて、前記機能のためのライブラリのロードと前記機能の両方を実行することを特徴とする情報処理装置が提供される。
【発明の効果】
【００１１】
本発明により、アプリケーションにプラグインを追加しても、アプリケーションの起動の遅延を防止しつつ、良好な操作性を実現できる。
【図面の簡単な説明】
【００１２】
【図１】プラグインソフトウェアを有するシステムの概略構成を示すブロック図。
【図２】プラグインソフトウェアを有するPCの内部構造と外部との接続を示した図。
【図３】実施例１において、アプリケーション起動後プラグインメニューを選択した時の画面の一例。
【図４】用紙設定ボタン押下時に表示されるダイアログの一例。
【図５】実施例１における、プラグインソフトウェアの内部構成とアプリケーション及びＯＳとの関連を示した図。
【図６】実施例１において、プラグインの起動動作処理のフローチャート。
【図７】実施例１において、用紙設定ボタン押下時に実行される処理のフローチャート。
【図８】実施例１において、プラグイン操作後にＯＳライブラリ使用判断を実施する処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１４】
＜実施形態１＞
●情報処理システムのソフトウェア構成
本実施形態のコンピュータ（コンピュータ装置）の構成について、図１のブロック図を参照して説明する。
【００１５】
図１は、本発明の一実施例のプラグインソフトウェアを有する情報処理システムのシステム構成図であり、情報処理装置であるＰＣ１０１と、大判プリンタに代表されるプリンタ１０２を含む。
【００１６】
アプリケーション１０３は、ＰＣ１０１上で動作するアプリケーションプログラムであり、本実施例では、汎用的なアプリケーションとして、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（登録商標、以下、単にアプリケーションと呼ぶ）を例にあげて説明する。Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄは一般的な文書や、印刷物の原稿を作成する際に使用されるアプリケーションであり、前述したように、追加機能を組み込む手段を公開している。
【００１７】
プラグイン１０４は、アプリケーションの機能を拡張する拡張プログラムであり、アプリケーション１０３に追加されてアプリケーション１０３上で動作し、後述するように、アプリケーション１０３の設定や、プリンタ１０２を制御するプリンタドライバと連携して動作する。本実施例の主要部分は、プラグイン１０４に含まれる。
【００１８】
プリンタドライバ１０５は、アプリケーションがオペレーティングシステム（以下、ＯＳと呼ぶ）を介して印刷を依頼するプリンタドライバである。プリンタドライバ１０５はＯＳを介して受け取った印刷命令を解釈し、プリンタ１０２で解釈可能な印刷データを生成する処理を行う。また、プラグイン１０４からの印刷設定の変更を受け付ける。
【００１９】
ここで、本実施例では、汎用的なアプリケーションとして、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄを取り上げているが、アプリケーションはこれに限定されるものではなく、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄと同等な拡張手段を提供しているアプリケーション全てにおいて、本発明のプラグインは適用可能である。
【００２０】
なお、本実例のプラグイン１０４は、例えばユーザが指定した用紙サイズに応じたサイズの画像を印刷するための各種の設定を、アプリケーション１０３及びプリンタドライバ１０５に対して行う設定処理を実行する。この設定処理の詳細については説明を省略する。
【００２１】
●情報処理システムのハードウェア構成
図２はＰＣ１０１の内部構造と外部との接続を示したブロック図である。このＰＣ１０１は一般的な構成からなり、ＣＰＵを備えた中央処理装置２０１、ＲＡＭなどの記憶装置２０２、マウスやキーボード等の入力装置２０３、ＣＲＴやＬＣＤなどの表示装置（表示部とも呼ぶ）２０４、ハードディスクや光磁気ディスク等の補助記憶装置２０５からなり、それぞれが内部バスラインＩＢにより接続されている。
【００２２】
入力装置２０３は、アプリケーション１０３やプラグイン１０４が表示装置２０４に表示するアイコンやメニュー、その他のオブジェクトに対し、ユーザの操作に基づきユーザからの各種入力を受け付ける。
【００２３】
補助記憶装置２０５には、本実施形態のプラグイン１０４やアプリケーション１０３やＯＳ、その他プログラム情報が格納されている。格納されたプログラムやデータ等は、中央処理装置２０１から適宜呼び出され記憶装置２０２に格納される。
【００２４】
また、ＰＣ１０１の内部バスラインＩＢはプリンタ１０２と外部バスラインＢＬによって接続され、ＰＣ１０１からプリンタ１０２に対して、ジョブ登録を行うことができる。ここでは、ジョブ登録とは、アプリケーションで作成された文章を元にプリントジョブを作成してＰＣからプリンタへ送信し印刷を指示することをさす。
【００２５】
●プラグイン
以下では、アプリケーションにシステム登録したプラグイン１０４の動作に沿って、本発明のプラグインについて説明する。図３はアプリケーション１０３を起動し、プラグイン１０４のＵＩを表示しているＵＩ画面３００を表している。図３は、文書処理アプリケーションの例を示している。アプリケーション１０３を起動し、アプリケーション１０３の備える機能をメニュー形式で表示するメニューバー３０１上のプラグインメニュー３０２をＵＩ画面３００から選択すると、プラグイン１０４やアプリケーション１０３の備える機能が配置されるリボン３０３上に、編集／印刷ボタン３０４と用紙設定ボタン３０５が表示される。リボン３０３上に配置されている編集／印刷ボタン３０４と用紙設定ボタン３０５は、本実施形態のプラグイン１０４をアプリケーション１０３にシステム登録することにより、アプリケーション１０３のリボン３０３上に表示されるコントロールである。ユーザが用紙設定ボタン３０５を押下すると図４の用紙設定画面４００が表示される。ここで、アプリケーション１０３には既に本実施形態のプラグイン１０４が登録されているものとする。アプリケーション１０３に対するプラグイン１０４のシステム登録の方法については、公知であるため説明を省く。また、本実施例では、プラグイン１０４は、ユーザが指定した用紙サイズに応じたサイズの画像を印刷するための各種の設定を、アプリケーション１０３及びプリンタドライバ１０５に行う設定処理を実行する。図４の用紙設定画面４０は、該設定処理のために、ユーザが用紙サイズを指定するための画面である。
【００２６】
●プラグインを含むソフトウェアの階層構成
図５は、プラグイン１０４の内部構成と、プラグイン１０４を組み込むアプリケーション１０３及びそれらを動作させているＯＳ５０４との関係を示した図である。本実施形態のプラグイン１０４は、プラグイン操作ＵＩ（操作ユーザーインターフェースとも呼ぶ）の表示のみを行うアドインローダー５０１と、各ＵＩ操作に対応した実行処理を行うアドイン５０２の２つのライブラリを含み、アプリケーション１０３上で動作する。プラグイン操作ＵＩは、例えばプラグイン１０４により提供されるサービスのメニューなどを含む。アプリケーション１０３上のプラグイン操作ＵＩ（アドインローダー５０１）をユーザが操作すると、アドイン５０２が各種ＵＩ操作に応じた処理を．ＮＥＴ  Ｆｒａｍｅｗｏｒｋ（ドットネットフレームワーク）クラスライブラリ（米国マイクロソフト社）（以下、単にＯＳライブラリ又はライブラリと呼ぶ）５０３を介してＯＳ５０４の機能を使用して行う。例えば、ユーザが用紙設定ボタン３０５を押下すると、図４の用紙設定画面４００を、ＯＳライブラリ５０３を介してＯＳ５０４の機能を使用して表示する。
【００２７】
アプリケーション起動時にはプラグインとして登録したライブラリが起動される。そのため、起動するプラグインのライブラリが設定画面表示処理などＯＳライブラリ５０３を使用する処理を行う場合、アプリケーション起動時にＯＳライブラリ５０３もロードしてしまい起動に時間がかかってしまう。そこで本実施形態では、アプリケーション起動時には、アプリケーション上のＵＩ表示のみを行い、ＯＳライブラリ５０３を使用しない処理のみを実装したアドインローダー５０１を起動するようにプラグインとして登録する。そして、アプリケーション起動時に起動されたアドインローダー５０１でプラグインのＵＩ操作を行った時に、ＯＳライブラリ５０３を必要とする処理を実装したアドイン５０２を呼び出す。アドイン５０２が呼び出されると、アドイン５０２が利用するＯＳライブラリ５０３が記憶装置２０２にロードされ、アドイン５０２が実行される。このようにすることで、アプリケーション１０３起動時にＯＳライブラリ５０３がロードされることを防ぎ、アプリケーション起動時間の遅延を抑制した上で起動直後からプラグインの各種操作を行うことができる。
【００２８】
●アプリケーションによるプラグイン起動処理
図６はアプリケーション１０３を起動した時に、アプリケーション１０３が実行するプラグイン１０４の起動処理を示したフローチャートである。なおアプリケーションが実行する、とはアプリケーションそのものをあたかも一つの処理手段とみなすオブジェクト指向的な記述であり、ハードウェアの観点からいえば、このフローチャートの実行主体はＣＰＵを含む中央処理装置２０１であり、中央処理装置２０１が記憶装置２０２にロードされたアプリケーションプログラムを実行することで図６の手順が実現される。図６では、現在プラグインを実行しようとする環境（ＯＳおよびアプリケーション）が、プラグインが動作可能な環境であるかを判定し、動作可能であれはプラグイン操作ＵＩを表示する。
【００２９】
アプリケーション１０３を起動すると、プラグイン１０４のアドインローダー５０１の起動処理がアプリケーション１０３から呼び出され、本プラグイン１０４が動作可能なＯＳであるかが判断される（Ｓ６０１）。この判断は、たとえばプラグイン１０４の属性情報として動作可能なＯＳのＩＤやバージョン等をあらかじめプラグイン１０４に設定しておき、設定されているＩＤやバージョンなどと、現在のＯＳのそれらとを比較することで行ってよい。
【００３０】
ステップＳ６０１で、現在のＯＳが、プラグイン１０４が動作可能なＯＳであると判定された場合には、プラグイン１０４を起動したアプリケーション１０３が、動作対象アプリであるかを判断する（Ｓ６０２）。動作対象アプリとは例えば、起動されたプラグイン１０４がプラグインとして機能し、それにより機能拡張されるアプリケーションである。この判断は例えば、プラグイン１０４の属性情報として動作対象のアプリケーションのＩＤ等をあらかじめプラグイン１０４に設定しておき、設定されているＩＤと、現在のアプリケーションのそれらとを比較することで行ってよい。
【００３１】
ステップＳ６０２で、現在のアプリケーションが、動作対象のアプリケーションであると判定された場合には、プラグイン１０４を起動したアプリケーション１０３のバージョンが、プラグイン１０４が動作可能なアプリケーションのバージョンであるかの判断を行う（Ｓ６０３）。この判断は例えば、プラグイン１０４の属性情報として動作対象のアプリケーションのバージョンをあらかじめプラグイン１０４に設定しておき、設定されているバージョンと、現在のアプリケーションのバージョンとを比較することで行ってよい。なおステップＳ６０２およびＳ６０３の判定は、プラグイン１０４のアプリケーションへの設定時に静的に行ってもよく、設定時にこれらの判定が済んでいる場合にはアプリケーション起動時に動的に行わなくともよく、その場合にはステップＳ６０２、Ｓ６０３をスキップしてもよい。
【００３２】
そして、ステップＳ６０１〜Ｓ６０３のすべての条件を満たしているとき（動作可能ＯＳかつ動作対象アプリケーションかつ動作可能なアプリケーションのバージョンのとき）、アプリケーションにより、ＵＩ画面３００上にプラグイン操作ＵＩを表示させる（Ｓ６０４）。なお、ここでいうプラグイン操作ＵＩには、プラグインメニュー３０２、リボン３０３、編集／印刷ボタン３０４、用紙設定ボタン３０５が含まれる。このプラグイン操作ＵＩを表示させる処理は、アプリケーション１０３上のメニュー３０１やリボン３０３の表示を行うのみで、プラグイン１０４のＵＩを操作した時に必要となるアドイン５０２については、このタイミングでは読み込まない。また、Ｓ６０１またはＳ６０２またはＳ６０３のいずれか一つでも条件を満たさない場合は、プラグイン１０４のプラグイン操作ＵＩは表示せずプラグインの起動処理は終了する。この場合には、プラグインメニュー３０２、リボン３０３、編集／印刷ボタン３０４、用紙設定ボタン３０５は表示されず、プラグイン１０４は起動されない。
【００３３】
●アドインローラーによる処理
図７は、用紙設定ボタン３０５押下時にプラグイン１０４のアドインローダー５０１が実行する一連の処理を示したフローチャートである。ユーザが用紙設定ボタン３０５を押下すると処理がスタートし、Ｓ７００に制御が移動する。なお図７の処理もまた中央処理装置２０１が、記録装置２０２にロードされたアドインローダー５０１を実行することで実現される。
【００３４】
ステップＳ６０４で表示されたプラグイン操作ＵＩの用紙設定ボタン３０５を押下すると、プラグイン１０４はＯＳ５０４の機能を使用して用紙設定画面４００（図４）を表示する。そこで、ＯＳ５０４の機能を、ＯＳライブラリ５０３を介して実行する必要があるが、アプリケーション１０３起動時にＯＳライブラリ５０３をロードしないように、ＯＳ５０４の機能を使用する処理はアプリケーション１０３起動時に起動されるアドインローダー５０１とは別ライブラリであるアドイン５０２にて行う。よって、用紙設定ボタン３０５を押下した時に、アドインローラー５０１はアドイン５０２のライブラリをロードする必要がある。そこで、アドイン５０２が既にロード済みであるかチェックし（Ｓ７０１）、ロードされていない場合はアドイン５０２をロードする（Ｓ７０２）。ここで、アドイン５０２をロードすることでＯＳライブラリ５０３もロードされる。一方、アドイン５０２が既にロード済みであった場合は、ロード処理を行わず、既にロードされたアドイン５０２を使用して用紙設定画面を表示する。アドイン５０２およびＯＳライブラリ５０３をロードしたなら、用紙設定画面４００を表示する（Ｓ７０３）。このようにして、プラグイン操作ＵＩの操作に応じて、プラグインの機能のためのライブラリのロードとプラグインの機能の両方を実行する。
【００３５】
ここで、本実施例では、用紙設定ボタン３０５押下時の処理を取り上げているが、プラグイン操作ＵＩの操作で本処理が実施されるケースはこれに限定されるものではなく、他のＵＩ操作（例えば編集／印刷ボタン３０４の押下）においても同様の処理をしてもよい。
【００３６】
●プラグインのコントロール
また、図８で示すように、プラグイン１０４のコントロール操作（たとえば有効化や無効化など）が行われた時には、その操作がＯＳライブラリ５０３を使用する操作であるか判断する（Ｓ８０１）。ＯＳライブラリ５０３を使用しないと判定した場合は、アドイン５０２のロード処理（Ｓ８０３）を行わなくてもよい。しかしながら、使用すると判定した場合には、アドイン５０２をロード済みか判定し（Ｓ８０２）、ロード済みでないと判定した場合にはアドイン５０２をロードする（Ｓ８０３）。その後、アドイン５０２のコントロールに関する処理を行う（Ｓ８０４）。プラグイン１０４のコントロールとは、たとえばプラグイン１０４のインストールやアンインストール、インストール済みのプラグイン１０４の無効化や有効化などを含んでよい。このようにプラグインのコントロールの際にも、ＯＳライブラリ５０３が使用される場合に初めてアドインおよびＯＳライブラリをロードする。このために、プラグインのコントロール時に、ＯＳライブラリ５０３のロードに伴う遅延を防止できる。なおステップＳ８０１におけるＯＳライブラリを使用するか否かの判定は、たとえば、あらかじめ使用の有無を示す情報をプラグインに関連付けて記憶しておき、その情報に基づいて判定してよい。
【００３７】
以上で説明してきたように、本実施形態のプラグイン１０４はアプリケーション１０３起動時にＵＩ表示のみを行い、プラグイン１０４のＵＩ操作に応じて必要となるライブラリのロードは、ＵＩ操作が行われた時に行う。このようなプラグインの制御フローとすることで、ライブラリのロードによるアプリケーション起動の遅延を防止できる。加えて、アプリケーションの起動時にはプラグイン起動ＵＩの表示を行わず、アプリケーションの起動直後からプラグインの操作のためのプラグイン操作ＵＩを表示し、プラグインを操作できるようになるため、操作性を向上させることが可能である。
【００３８】
＜他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３９】
１０１ ＰＣ、１０２ プリンタ、１０３ アプリケーション、１０４ プラグイン、１０５ プリンタドライバ、５０１ プラグインアドインローダー、５０２ プラグインアドイン、５０３ ＯＳライブラリ、５０４ オペレーティングシステム
【図１】
2019204286.tif 000003
【図２】
2019204286.tif 000004
【図３】
2019204286.tif 000005
【図４】
2019204286.tif 000006
【図５】
2019204286.tif 000007
【図６】
2019204286.tif 000008
【図７】
2019204286.tif 000009
【図８】
2019204286.tif 000010