(57)【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記コンピュータを、
前記情報処理装置にインストールされているアプリケーションが選択している選択プリンタドライバが第１プロトコルで選択プリンタに印刷データを送信するように設定されている場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを所定の方法で取得可能であるか否かを判断する判断手段として機能させ、前記選択プリンタは、前記選択プリンタドライバによる印刷データの送信先として選択されているプリンタであり、
前記コンピュータを、
前記判断手段による判断結果を示す判断結果情報を、前記アプリケーションに出力する第１出力手段と、
前記第１出力手段が、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す前記判断結果情報を出力した後に、前記アプリケーションから第１指示を受け付けた場合に、前記所定の方法で取得されたアドレスを用いて、前記第１プロトコルで前記選択プリンタに、特定要求を送信する送信手段と、
して機能させることを特徴とする制御プログラム。
【請求項２】
前記送信手段は、
前記選択プリンタドライバが前記第１プロトコルで前記選択プリンタに印刷データを送信するように設定されており、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す前記判断結果情報を前記第１出力手段が出力した後であり、前記アプリケーションから前記第１指示を受け付けた場合に、前記所定の方法で取得された、前記選択プリンタの前記第１プロトコルにおけるアドレス情報を用いて、前記第１プロトコルでプリンタに、前記特定要求を送信し、
前記選択プリンタドライバが第２プロトコルで前記選択プリンタに印刷データを送信するように設定されており、前記アプリケーションから前記第１指示を受け付けた場合に、前記選択プリンタの前記第２プロトコルにおけるアドレス情報を用いて、前記第２プロトコルでプリンタに、前記特定要求を送信することを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記送信手段は、
前記選択プリンタドライバが第１プロトコルで選択プリンタに印刷データを送信するように設定されている場合に、第１送信指令を第１通信プログラムに出力することで、前記第１通信プログラムを介して、前記特定要求を前記第１プロトコルで前記選択プリンタに送信し、前記第１通信プログラムは、前記情報処理装置にインストールされたプログラムであって、前記第１プロトコルでプリンタと通信することが可能なプログラムであり、前記第１送信指令は、前記所定の方法で取得された前記プリンタの前記第１プロトコルにおけるアドレスを用いて、前記第１プロトコルで前記選択プリンタに前記特定要求を送信することを指令する情報であり、
前記選択プリンタドライバが第２プロトコルで選択プリンタに印刷データを送信するように設定されている場合に、第２送信指令を第２通信プログラムに出力することで、前記第２通信プログラムを介して、前記特定要求を前記第２プロトコルで前記選択プリンタに送信し、前記第２通信プログラムは、前記情報処理装置にインストールされたプログラムであって、前記第２プロトコルでプリンタと通信することが可能なプログラムであり、前記第２送信指令は、前記所定の方法で取得された前記プリンタの前記第２プロトコルにおけるアドレスを用いて、前記第２プロトコルで前記選択プリンタに前記特定要求を送信することを指令する情報であることを特徴とする請求項２に記載の制御プログラム。
【請求項４】
前記第１通信プログラムと、前記第２通信プログラムと、前記制御プログラムとが１つのプログラムとして構成されていることを特徴とする請求項３に記載の制御プログラム。
【請求項５】
前記制御プログラムは、前記コンピュータを、
前記判断手段と、前記第１出力手段と、前記送信手段として機能させ、
前記第１通信プログラムは、前記コンピュータを、
プリンタドライバが第１プロトコルで印刷データをプリンタに送信する際に用いられる、前記プリンタの前記第１プロトコルにおけるアドレスを示すアドレス情報を前記所定の方法で取得する取得手段と、
前記送信手段が第１送信指令情報を出力した場合に、前記取得手段が取得した前記プリンタの前記第１プロトコルにおけるアドレスを用いて、第１送信指令情報に従った通信を、前記第１プロトコルで前記選択プリンタと行う通信手段として機能させることを特徴とする請求項４に記載の制御プログラム。
【請求項６】
前記取得手段は、
前記選択プリンタドライバが利用する選択通信ポートとして、第１プロトコルでの通信に用いられる通信ポートが選択されていることによって前記選択プリンタドライバが前記第１プロトコルでプリンタに印刷データを送信するように設定されている場合に、前記選択通信ポートに設定されているアドレスを、前記選択プリンタの前記第１プロトコルにおけるアドレスとして取得することを特徴とする請求項５に記載の制御プログラム。
【請求項７】
前記判断手段は、
前記選択通信ポートとして、第１プロトコルでの通信に用いられる通信ポートが設定されていることによって前記選択プリンタドライバが前記第１プロトコルでプリンタに印刷データを送信するように設定されている場合に、前記選択通信ポートの種類を識別する識別情報を取得し、取得された前記識別情報が、前記選択通信ポートは前記所定の方法によってアドレスを取得することが可能な種類であることを示す場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であると判断し、取得された前記識別情報が、前記選択通信ポートは前記所定の方法によってアドレスを取得することが可能ではない種類であることを示す場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能ではないと判断することを特徴とする請求項６に記載の制御プログラム。
【請求項８】
前記判断手段は、
取得された識別情報が、前記選択通信ポートはＯＳ標準の種類の通信ポートであることを示す場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であると判断し、取得された識別情報が、前記選択通信ポートはＯＳ標準の種類の通信ポートであることを示していない場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能ではないと判断することを特徴とする請求項６に記載の制御プログラム。
【請求項９】
前記判断手段は、
前記選択通信ポートのポート名に予め設定された文字列が含まれている場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であると判断し、前記選択通信ポートのポート名に前記文字列が含まれていない場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能ではないと判断することを特徴とする請求項６に記載の制御プログラム。
【請求項１０】
前記アプリケーションと前記制御プログラムとが１つのプログラムとして構成されていることを特徴とする請求項１乃至９の何れか１項に記載の制御プログラム。
【請求項１１】
前記アプリケーションは、
前記コンピュータを、
前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す判断結果情報を前記第１出力手段が出力した場合に、前記情報処理装置が備えるユーザインタフェースを介した前記特定要求を指示するための指示操作の受付を有効にし、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す判断結果情報を前記第１出力手段が出力しなかった場合に、前記指示操作の受付を無効にするように構成され、さらに、前記指示操作がされた場合に、前記特定要求を、前記制御プログラムに出力するように構成されていることを特徴とする請求項１乃至１０の何れか１項に記載の制御プログラム。
【請求項１２】
前記コンピュータを、
前記送信手段が特定要求をプリンタに送信したことに応じて、前記プリンタから特定要求に応じた情報を受信する受信手段と、
前記受信手段が受信した情報を前記アプリケーションに出力する第２出力手段と、
して機能させ、
前記アプリケーションは、前記第２出力手段により出力された情報を受け付けた場合に、当該情報を、前記情報処理装置の表示インタフェースに表示させるように構成されていることを特徴とする請求項１乃至１１の何れか１項に記載の制御プログラム。
【請求項１３】
前記アプリケーションは、プリンタに送信される印刷データに基づく画像である印刷対象画像を前記表示インタフェースに表示させるように構成されており、
前記受信手段が受信した情報は、前記印刷対象画像を印刷するための印刷媒体のサイズを含む情報であり、
前記アプリケーションは、前記第２出力手段により出力された情報を受け付けた場合に、当該情報に含まれるサイズに応じた大きさの印刷対象画像を前記表示インタフェースに表示させるように構成されたことを特徴とする請求項１２に記載の制御プログラム。
【請求項１４】
前記アプリケーションは、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す判断結果情報を前記第１出力手段が出力した場合に、前記情報処理装置が備えるユーザインタフェースを介した前記特定要求を指示するための指示操作の受付を有効にし、前記選択プリンタの前記第１プロトコルにおけるアドレスを前記所定の方法で取得可能であることを示す判断結果情報を前記第１出力手段が出力しなかった場合に、前記指示操作の受付を無効にするように構成され、さらに、前記指示操作がされた場合に、前記特定要求を、前記制御プログラムに出力するように構成されていることを特徴とする請求項１２又は１３に記載の制御プログラム。
【請求項１５】
前記コンピュータを、
前記判断手段によりアドレス情報を取得可能であると判断された場合に、前記所定の方法で取得されたアドレス情報を用いて、前記第１プロトコルでプリンタと通信を行う第２通信手段として機能させ、
前記第１出力手段は、
前記判断手段によりアドレス情報を取得可能であると判断され、前記第２通信手段によりプリンタと通信可能な場合に、第１の判断結果情報を前記アプリケーションに出力し、前記判断手段によりアドレス情報を取得可能であると判断され、前記第２通信手段によりプリンタと通信不能な場合に、第２の判断結果情報を前記アプリケーションに出力し、前記判断手段によりアドレス情報を取得不能であると判断された場合に、第３の判断結果情報を前記アプリケーションに出力し、
前記アプリケーションは、第１の判断結果情報を受け付けた場合に、前記特定要求を指示するための指示操作の受付を有効にし、前記指示操作がされた場合に、前記特定要求を、前記制御プログラムに出力するように構成されていることを特徴とする請求項１乃至１４の何れか１項に記載の制御プログラム。
【請求項１６】
前記アプリケーションは、第２の判断結果情報を受け付けた場合に、前記指示操作の受付を第１の態様で無効にし、第３の判断結果情報を受け付けた場合に、前記指示操作の受付を第２の態様で無効にするように構成されていることを特徴とする請求項１５に記載の制御プログラム。
【請求項１７】
前記第１プロトコルは、Ｂｌｕｅｔｏｏｔｈであることを特徴とする請求項１乃至１６の何れか１項に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データをプリンタに送信するためのアプリケーションがインストールされた情報処理装置のコンピュータが読み取り可能な制御プログラムに関する。
【背景技術】
【０００２】
印刷データをプリンタに送信するためのアプリケーションがインストールされた情報処理装置では、種々の通信プロトコルで、印刷データがプリンタに送信される。下記特許文献には、通信プロトコルとして、Ｂｌｕｅｔｏｏｔｈを用いて、印刷データをプリンタに送信する情報処理装置の一例が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１２４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、新たな通信方式で情報処理装置と通信可能なプリンタが開発された場合において、アプリケーションの大幅な改良等を行うことは望ましくない。このため、このような場合において、アプリケーションの大幅な改良等を行うことなく、新たに開発されたプリンタと通信可能な情報処理装置の提供を課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示する制御プログラムは、情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記コンピュータを、前記情報処理装置にインストールされているアプリケーションが選択している選択プリンタドライバが第１プロトコルで選択プリンタに印刷データを送信するように設定されている場合に、前記選択プリンタの前記第１プロトコルにおけるアドレスを所定の方法で取得可能であるか否かを判断する判断手段として機能させ、前記選択プリンタは、前記選択プリンタドライバによる印刷データの送信先として選択されているプリンタであり、前記コンピュータを、前記判断手段による判断結果を示す判断結果情報を、前記アプリケーションに出力する第１出力手段と、前記第１出力手段が、前記選択プリンタの前記第１プロトコルにおけるアドレスを所定の方法で取得可能であることを示す前記判断結果情報を出力した後に、前記アプリケーションから第１指示を受け付けた場合に、前記所定の方法で取得されたアドレスを用いて、前記第１プロトコルで前記選択プリンタに、特定要求を送信する送信手段と、して機能させることを特徴とする。
【発明の効果】
【０００６】
これにより、例えば、新たな通信方式で情報処理装置と通信可能なプリンタが開発された場合においても、アプリケーションに大幅な改良を加えることなく、制御プログラムを介して、その新たに開発されたプリンタと通信を行って、そのプリンタに特定要求を送信することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】プリンタシステム１のブロック図である。
【図２】アプリケーション２６とメディアモニタ２８と第１通信モジュール３０と第２通信モジュール３２とプリンタドライバ３４とポートモニタ３６とデバイスとの関係を概念的に示すブロック図である。
【図３】作成画面１００を示す図である。
【図４】作成画面１００を示す図である。
【図５】プリンタシステム１の作動シーケンスを示す図である。
【図６】プリンタシステム１の作動シーケンスを示す図である。
【図７】プリンタシステム１の作動シーケンスを示す図である。
【図８】オープン処理実行サブルーチンを示す図である。
【図９】送信処理実行サブルーチンを示す図である。
【図１０】受信処理実行サブルーチンを示す図である。
【発明を実施するための形態】
【０００８】
＜プリンタシステムの構成＞
図１は、本実施形態に係るプリンタシステム１のブロック図である。図１に示すプリンタシステム１は、ＰＣ（情報処理装置の一例）１０、及び３台のプリンタ５０ａ〜ｃを備える。ＰＣ１０は、ＣＰＵ（コンピュータの一例）１２、メモリ１４、ＬＣＤ（表示インタフェースの一例）１６、入力Ｉ／Ｆ１８、通信Ｉ／Ｆ２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【０００９】
ＰＣ１０及びプリンタ５０ａ〜ｃは、通信Ｉ／Ｆ２０及びネットワーク５２を通じて通信可能となっている。なお、ＰＣ１０とプリンタ５０ａ〜ｃとの通信プロトコルとして、例えば、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）が採用されている。具体的には、プリンタ５０ａの通信プロトコルは、Ｂｌｕｅｔｏｏｔｈ（第１プロトコルの一例）が採用され、プリンタ５０ｂの通信プロトコルは、ＵＳＢ（第２プロトコルの一例）が採用され、プリンタ５０ｃの通信プロトコルは、Ｗｉ−Ｆｉ（第２プロトコルの一例）が採用されている。
【００１０】
なお、プリンタ５０ａ〜ｃは、例えば、ラベルプリンタであり、ＰＣ１０との間で上記通信プロトコルを用いて、各種情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。ちなみに、ラベルプリンタは、例えば、ラミネートフィルム等の長尺状のテープにテキスト等を印刷してラベルを作成するプリンタである。
【００１１】
ＣＰＵ１２は、メモリ１４内のアプリケーション２５、プリンタドライバ３４ａ〜ｃ、ポートモニタ（通信ポートの一例）３６ａ〜ｃ、ＯＳ３８に従って処理を実行する。アプリケーション２５は、アプリケーション（アプリケーションの一例）２６、メディアモニタ（制御プログラムの一例）２８、第１通信モジュール（第１通信プログラムの一例）３０、第２通信モジュール（第２通信プログラムの一例）３２、を含んでいる。
【００１２】
アプリケーション２６は、プリンタ５０ａ〜ｃによって印刷される画像の画像データを作成するためのプログラムである。プリンタドライバ３４ａ〜ｃは、プリンタ５０ａ〜ｃのデバイスドライバであり、プリンタ５０ａ〜ｃの作動を制御する。なお、プリンタドライバ３４ａはプリンタ５０ａに対応し、プリンタドライバ３４ｂはプリンタ５０ｂに対応し、プリンタドライバ３４ｃはプリンタ５０ｃに対応している。
【００１３】
ポートモニタ３６ａ〜ｃは、プリンタドライバ３４ａ〜ｃの指令に従って、プリンタ５０ａ〜ｃに画像データ等を送信する。なお、ポートモニタ３６ａはプリンタ５０ａの印刷に用いられるよう設定されており、プリンタドライバ３４ａはポートモニタ３６ａを用いるよう設定されており、ポートモニタ３６ｂはプリンタ５０ｂの印刷に用いられるよう設定されており、プリンタドライバ３４ｂはポートモニタ３６ｂを用いるよう設定されており、ポートモニタ３６ｃはプリンタ５０ｃの印刷に用いられるよう設定されており、プリンタドライバ３４ｃはポートモニタ３６ｂを用いるよう設定されている。なお、ポートモニタは、ポートドライバと呼ばれるプログラムとセットで、ポートモニタとして機能してもよい。
【００１４】
メディアモニタ２８、第１通信モジュール３０、第２通信モジュール３２は、プリンタドライバ３４ａ〜ｃ，ポートモニタ３６ａ〜ｃを介することなく、プリンタ５０ａ〜ｃと通信を行うためのプログラムである。第１通信モジュール３０は、メディアモニタ２８の指令に従って、通信プロトコルがＢｌｕｅｔｏｏｔｈのデバイスとデータの送受信を行う。つまり、第１通信モジュール３０は、プリンタａとデータの送受信を行う。また、第２通信モジュール３２は、メディアモニタ２８の指令に従って、通信プロトコルがＷｉ−Ｆｉのデバイスとデータの送受信を行う。つまり、第２通信モジュール３２は、プリンタｃとデータの送受信を行う。
【００１５】
ＯＳ３８は、アプリケーション２６、メディアモニタ２８などに利用される基本的な機能を提供するプログラムである。ＯＳ３８は、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）等のオペレーティングシステムである。なお、以下の説明では、メディアモニタ２８等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「メディアモニタ２８が」という記載は、「メディアモニタ２８を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１６】
図２は、各プログラムやデバイスの関係を概念的に示している。アプリケーション２６は、印刷用の画像データを作成すると、印刷を実行するプリンタ５０に対応するプリンタドライバ３４に画像データを出力し、画像データを受け付けたプリンタドライバ３４は、自身に設定されているポートモニタ３６に画像データを出力する。そして、画像データを受け付けたポートモニタ３６は、通信Ｉ／Ｆ２０を介して、自身に対応するプリンタ５０に画像データを送信することで、そのプリンタ５０にラベルへの印刷処理を実行させる。なお、ポートモニタ３６には、自身に対応するプリンタ５０のアドレスに関する情報（以下、「アドレス情報」と記載する）が設定されており、ポートモニタ３６は、設定されているアドレス情報を用いて、プリンタ５０と通信を確立し、アドレス情報が示すプリンタ５０を宛先として画像データを送信する。なお、ポートモニタに設定されているアドレス情報は、ポートモニタの種類に対応する態様で、データ記憶領域に記憶されている。例えば、ＯＳ標準のポートモニタと、ＯＳ標準ではないポートモニタとでは、データ記憶領域に記憶される態様が異なる。
【００１７】
また、アプリケーション２６は、メディアモニタ２８にプリンタ５０に関する各種情報の要求を出力する。メディアモニタ２８は、各種情報の要求を受け付けると、第１通信モジュール３０若しくは第２通信モジュール３２に、要求された情報をプリンタ５０から取得する旨の指令を出力する。第１通信モジュール３０若しくは第２通信モジュール３２は、指令を受け付けると、通信Ｉ／Ｆ２０を介して、プリンタ５０と通信を確立し、要求された情報を取得する。そして、第１通信モジュール３０若しくは第２通信モジュール３２は、取得した情報を、メディアモニタ２８に出力し、メディアモニタ２８は、受け付けた情報をアプリケーション２６に出力する。
【００１８】
また、メモリ１４は、図１に示すように、データ記憶領域４０を備える。データ記憶領域４０は、プログラムの実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１９】
なお、メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２０】
ＬＣＤ１６は、ＰＣ１０の各種機能を表示する。入力Ｉ／Ｆ１８は、キーボード，マウス等を含み、ユーザ操作を入力するためのインタフェースである。
【００２１】
＜プリンタシステムの作動＞
プリンタシステム１では、アプリケーション２６が印刷用の画像データを作成するが、その際に、ＰＣ１０のＬＣＤ１６に、図３に示すように、印刷用画像データを作成するための作成画面１００を表示する。この作成画面１００には、デバイス選択ボタン１０２が表示され、そのデバイス選択ボタン１０２が操作されることで、アプリケーション２６は、ＰＣ１０と通信可能なプリンタから任意のプリンタを選択するための選択画面（図示省略）を表示する。なお、複数のポートモニタのうちから、プリンタドライバが用いるポートモニタが設定され、設定されたポートモニタには、プリンタドライバに対応するプリンタのアドレス情報が設定される。また、アドレス情報に対応するプリンタを示すプリンタ名が設定される。そして、データ記憶領域４０のプリンタ名に対応する領域に、設定されたプリンタ名と、設定されたプリンタドライバを示すプリンタドライバ識別情報とが対応付けて記憶される。また、インストールされたプリンタドライバに対応する領域には、プリンタドライバが用いるポートモニタを示すポートモニタ識別情報が記憶される。ポート名は、ポートモニタ識別情報の一例である。また、設定されたポートモニタに対応する領域には、ポートモニタの種類に応じた態様で、設定されたアドレス情報が記憶される。プリンタ名に対応する領域、プリンタドライバに対応する領域、ポートモニタに対応する領域は、例えば、ＯＳ３８が用いるレジストリ領域内に設けられる。なお、ＯＳ標準ではないポートモニタに対応する領域が、レジストリ領域以外に設けられていることも有り得る。なお、プリンタドライバが用いるポートモニタの設定などは、例えば、プリンタドライバのインストール時や、プリンタがＰＣ１０にプラグアンドプレイ接続された時に行われる。なお、各領域への情報の記憶は、領域に対応するプログラム自身が行っても良いし、インストールプログラムなど、各プログラムを設定するプログラムが行っても良い。そして、選択画面には、データ記憶領域に記憶されたプリンタ名の一覧が、選択可能なリストとして表示される。リストのうちから、任意のプリンタを選択する操作がなされると、アプリケーション２６は、選択されたプリンタ（以下、「選択プリンタ」と記載する）のプリンタ名を、デバイス選択ボタン１０２の上に表示する。
【００２２】
また、作成画面１００には、ラベル等の印刷媒体のサイズ（以下、「メディアサイズ」と記載する）を表示するためのサイズ表示欄１０６も、表示される。サイズ表示欄１０６には、例えば、ユーザ操作により設定されたメディアサイズ，デフォルト設定されているメディアサイズ等が表示される。そして、デバイス選択ボタン１０２，サイズ表示欄１０６の下方に、プレビュー画像１０８が表示される。このプレビュー画像１０８は、サイズ表示欄１０６に表示されているメディアサイズに応じた大きさの印刷媒体を示す画像である。
【００２３】
また、プリンタ５０ａ〜ｃには、自身にセットされている印刷媒体のサイズを検知する機能（以下、「メディアサイズ検知機能」と記載する）を有するものがあり、選択プリンタとして、メディアサイズ検知機能を有するプリンタが選択されている場合に、例えば、図４に示すように、アプリケーション２６は、作成画面１００にサイズチェックボタン１１０を表示する。この際、サイズチェックボタン１１０が操作されることで、アプリケーション２６が、選択プリンタに、選択プリンタにおいてセットされている印刷媒体のメディアサイズの情報をメディアモニタ２８と、第１通信モジュール３０または第２通信モジュール３２とを介して、要求します。要求を受けた選択プリンタがメディアサイズを検知し、検知されたメディアサイズに関する情報が、ＰＣ１０に送信される。そして、アプリケーション２６は、受信した情報に基づいて、検知されたメディアサイズを、サイズ表示欄１０６に表示する。また、アプリケーション２６は、プレビュー画像１０８として、検知されたメディアサイズに応じた大きさの印刷媒体を示す画像を表示する。
【００２４】
ただし、選択プリンタがメディアサイズ検知機能を有している場合であっても、選択プリンタのアドレス情報を取得することができなければ、選択プリンタとＰＣ１０との間で通信を確立させることができず、アプリケーション２６は、選択プリンタにセットされている印刷媒体のメディアサイズに関する情報を取得することはできない。このため、選択プリンタがメディアサイズ検知機能を有しているが、選択プリンタのアドレス情報を取得することが不能である場合および、選択プリンタがメディアサイズ検知機能を有していない場合に、アプリケーション２６は、サイズチェックボタン１１０を作成画面１００に表示しない。一方、選択プリンタがメディアサイズ検知機能を有しており、選択プリンタのアドレス情報を取得することが可能である場合に、アプリケーション２６は、サイズチェックボタン１１０を作成画面１００に表示する。
【００２５】
ちなみに、選択プリンタがメディアサイズ検知機能を有しているか否かの判断、および、選択プリンタのアドレス情報を取得することが可能であるか否かの判断は、アプリケーション２６でなく、メディアモニタ２８によって実行される。以下に、メディアモニタ２８の判断に従って、サイズチェックボタン１１０が作成画面１００に表示・非表示される際のプリンタシステム１の作動について、図５に示すシーケンス図を用いて、詳しく説明する。
【００２６】
なお、本明細書では、基本的に、プログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」「設定」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３８を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。また、ＣＰＵによる、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵによる、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであるかを示しているかを判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００２７】
まず、作成画面１００において、ユーザによる操作によってプリンタ名が選択されると、アプリケーション２６は、選択されたプリンタ名を取得し（Ｓ１００）、プリンタ名を、デバイス選択ボタン１０２の上に表示する。次に、アプリケーション２６は、可否情報の要求を選択プリンタのプリンタ名（以下、「プリンタ識別情報」と記載する）とともにメディアモニタ２８に出力する（Ｓ１０２）。なお、可否情報は、選択プリンタがメディアサイズ検知機能を有しているか否か、および、選択プリンタのアドレス情報を取得することが可能であるか否かを示す情報である。また、アプリケーション２６は、選択プリンタのプリンタ名をデータ記憶領域に記憶させる。そして、アプリケーション２６は、作成画面１００を表示する際に、データ記憶領域に記憶されているプリンタ名を取得し（Ｓ１００）、プリンタ名の表示と、可否情報の要求（Ｓ１０２）とを行う。
【００２８】
メディアモニタ２８は、可否情報の要求とプリンタ識別情報とを受け付けると、プリンタ識別情報により識別される選択プリンタの判定フラグを、データ記憶領域４０において検索し（Ｓ１０４）、データ記憶領域４０から取得する（Ｓ１０６）。具体的には、選択プリンタのプリンタ名に対応する記憶領域に記憶されているプリンタドライバ識別情報に基づいて、そのプリンタドライバに対応する記憶領域に記憶されている判定フラグを取得する。なお、判定フラグは、プリンタドライバ３４ａ〜ｃがＰＣ１０にインストールされた際に、データ記憶領域４０の、プリンタドライバ３４ａ〜ｃに対応する領域に記憶される情報であり、当該プリンタドライバ３４ａ〜ｃに対応するプリンタ５０ａ〜ｃがメディアサイズ検知機能を有しているか否かを示すフラグである。なお、メディアサイズ検知機能を有していないプリンタドライバに対応する領域には、フラグが記憶されない、ということも有り得る。
【００２９】
このため、メディアモニタ２８は、データ記憶領域４０から判定フラグを取得すると、その判定フラグに基づいて、選択プリンタがメディアサイズ検知機能を有しているか否かを判断する（Ｓ１０８）。具体的には、メディアサイズ検知機能を有していることを示す判定フラグを取得している場合、Ｓ１０８：ＹＥＳと判断する。選択プリンタがメディアサイズ検知機能を有していると判断されると（Ｓ１０８：ＹＥＳ）、メディアモニタ２８は、選択プリンタのポート名（識別情報の一例）の要求をプリンタ識別情報とともにＯＳ３８に出力する（Ｓ１１０）。そして、ＯＳ３８は、ポート名の要求とプリンタ識別情報とを受け付けると、プリンタ識別情報により識別される選択プリンタのポート名を、メディアモニタ２８に出力する（Ｓ１１２）。
【００３０】
続いて、メディアモニタ２８は、ポート名を受け付けると、そのポート名に基づいて、選択プリンタのアドレス情報、すなわち、ポート名が示すポートモニタに設定されているアドレス情報を、アプリケーション２５が対応する所定の方法で取得することが可能であるか否かを判断する（Ｓ１１４）。ポートモニタに設定されているアドレス情報は、ポートモニタに応じた態様で、データ記憶領域４０に記憶されている。アドレス情報の記憶態様が、アプリケーション２５が対応する所定の態様であれば、アプリケーション２５は、所定の方法でデータ記憶領域４０からアドレス情報を取得することが可能である。しかしながら、アドレス情報の記憶態様が所定の態様でないと、アプリケーション２５は、所定の方法でアドレス情報をデータ記憶領域４０から取得できない。例えば、ＯＳ標準のポートモニタであれば、アプリケーション２５が対応する態様で、アドレス情報が記憶されている。
【００３１】
なお、ポート名には、ポートモニタに対応した所定の文字列が含まれる。ポート名の設定が、例えば、プリンタドライバのインストール時や、プリンタがＰＣ１０にプラグアンドプレイ接続された時に行われる。なお、ポート名の設定は、ポートモニタ自身が行っても良いし、インストールプログラム、プラグアンドプレイプログラム、プリンタドライバ、など、ポート名を設定するプログラムが行っても良い。具体的には、ＯＳ標準のＵＳＢポートモニタに対応するポート名としては、通信プロトコルとしてＵＳＢを用いるプリンタ５０ｂのアドレス情報に対応するポート名として、「ＵＳＢ」の３文字を先頭に有するポート名が設定される。また、ＯＳ標準のＢｌｕｅｔｏｏｔｈポートモニタに対応するポート名として、「ＣＯＭ」若しくは、「ＢＴＨ」の３文字を先頭に有するポート名が設定される。
【００３２】
このため、ポート名の先頭の３文字が、「ＵＳＢ」、「ＣＯＭ」、「ＢＴＨ」の何れかである場合に、ポートモニタはＯＳ標準であることがわかる。そこで、メディアモニタ２８は、ポート名の先頭の３文字が「ＵＳＢ」、「ＣＯＭ」、「ＢＴＨ」の何れかであるかを判断する。そして、メディアモニタ２８は、ポート名の先頭の３文字が「ＵＳＢ」、「ＣＯＭ」、「ＢＴＨ」の何れかである場合に、アドレス情報を所定の方法で取得できると判断し、ポート名の先頭の３文字が「ＵＳＢ」、「ＣＯＭ」、「ＢＴＨ」以外である場合に、アドレス情報を所定の方法では取得できないと判断する。つまり、メディアモニタ２８は、ポート名が所定の文字列を含む場合に、ポート名はアドレス情報を取得可能な種類の名称であり、選択プリンタのアドレス情報を取得できると判断し、ポート名が所定の文字列を含まない場合に、ポート名はアドレス情報を取得可能な種類の名称でなく、選択プリンタのアドレス情報を取得できないと判断する。
【００３３】
なお、ＯＳ標準でないＢｌｕｅｔｏｏｔｈポートモニタに対応するポート名としては、例えば、先頭に「ＴＢＰ」、「ＩＰＢＴＭ」の文字列を含むポート名があり得る。
【００３４】
また、通信プロトコルとしてＷｉ−Ｆｉを用いるプリンタ５０ｃのアドレス情報に対応するポート名は所定の文字列を含まないが、ＯＳ標準のＷｉ−Ｆｉポートモニタに対応するポート名ならば、そのポート名をファイル名としたファイルが、データ記憶領域４０の所定の領域に記憶される。このため、メディアモニタ２８は、取得したポート名をファイル名とするファイルが、データ記憶領域４０の所定の領域に記憶されており、そのファイルを開けることができるか否かを判断する。そして、メディアモニタ２８は、ファイルを開けた場合に、アドレス情報を所定の方法で取得できると判断し、ファイルを開けない場合、若しくは、取得したポート名をファイル名とするファイルがデータ記憶領域４０の所定の領域に記憶されていない場合に、アドレス情報を所定の方法では取得できないと判断する。
【００３５】
このような手法に従って、アプリケーション２５が所定の方法でアドレス情報を取得できるか否かが判断され、アドレス情報を取得できると判断されると（Ｓ１１６：ＹＥＳ）、メディアモニタ２８は、可能情報をアプリケーション２６に出力する（Ｓ１２２）。可能情報を受け付けたアプリケーション２６は、サイズチェックボタン１１０を作成画面１００に表示する（Ｓ１２４）。一方、アドレス情報を取得できないと判断されると（Ｓ１１６：ＮＯ）、メディアモニタ２８は、不可能情報をアプリケーション２６に出力する（Ｓ１１８）。不可能情報を受け付けたアプリケーション２６は、サイズチェックボタン１１０を作成画面１００に表示しない（Ｓ１２０）。なお、Ｓ１０８で、選択プリンタがメディアサイズ検知機能を有していないと判断された場合（Ｓ１０８：ＮＯ）においても、メディアモニタ２８は、不可能情報をアプリケーション２６に出力し（Ｓ１１８）、アプリケーション２６は、サイズチェックボタン１１０を作成画面１００に表示しない（Ｓ１２０）。
【００３６】
次に、作成画面１００にサイズチェックボタン１１０が表示され、そのサイズチェックボタン１１０が操作された場合のプリンタシステム１の作動について、図６及び図７に示すシーケンス図を用いて、以下に詳しく説明する。ただし、以下の説明では、選択プリンタとして、プリンタ５０ａが選択されている場合、つまり、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａが選択されている場合について、説明する。
【００３７】
まず、作成画面１００においてサイズチェックボタン１１０が操作されると、その操作の入力を、アプリケーション２６が受け付ける（Ｓ２００）。次に、アプリケーション２６は、選択ドライバにセットされている印刷媒体のメディアサイズに関する情報（以下、「メディア情報」と記載する）の要求をプリンタ識別情報とともにメディアモニタ２８に出力する（Ｓ２０２）。
【００３８】
メディアモニタ２８は、メディア情報の要求とプリンタ識別情報とを受け付けると、ポート名の要求をプリンタ識別情報とともにＯＳ３８に出力する（Ｓ２０４）。そして、ＯＳ３８は、ポート名の要求とプリンタ識別情報とを受け付けると、プリンタ識別情報により識別される選択プリンタのポート名を、メディアモニタ２８に出力する（Ｓ２０６）。
【００３９】
メディアモニタ２８は、選択プリンタのポート名を受け付けると、選択プリンタの通信プロトコルに応じた通信モジュールに、オープン処理指示を出力する（Ｓ２０８）。本説明では、通信プロトコルとしてＢｌｕｅｔｏｏｔｈを用いるプリンタ５０ａが、選択プリンタとされているため、メディアモニタ２８は、オープン処理指示をポート名とともに第１通信モジュール３０に出力する。
【００４０】
第１通信モジュール３０は、オープン処理指示を受け付けると、オープン処理実行サブルーチンを実行する（Ｓ２１０）。オープン処理実行サブルーチンでは、図８に示すように、第１通信モジュール３０は、ポート名に基づいて、Ｂｌｕｅｔｏｏｔｈアドレスを検索する（Ｓ３００）。Ｂｌｕｅｔｏｏｔｈアドレスは、Ｂｌｕｅｔｏｏｔｈを用いたプリンタのアドレスであり、アドレス情報により特定されるアドレスの一例である。このため、第１通信モジュール３０は、ポート名に応じた対応するポートモニタの領域に記憶されているＢｌｕｅｔｏｏｔｈアドレスを、データ記憶領域４０において検索する。そして、第１通信モジュール３０は、Ｂｌｕｅｔｏｏｔｈアドレスの検索に成功したか否かを判断する（Ｓ３０２）。
【００４１】
この際、Ｂｌｕｅｔｏｏｔｈアドレスの検索に成功した場合（Ｓ３０２：ＹＥＳ）に、第１通信モジュール３０は、検索したＢｌｕｅｔｏｏｔｈアドレスを取得する。第１通信モジュール３０による、Ｂｌｕｅｔｏｏｔｈアドレスを取得する方法は、アプリケーション２５が対応する所定の方法の一例である。第１通信モジュールは、取得したＢｌｕｅｔｏｏｔｈアドレスに基づいて、選択プリンタと通信を行うための通信情報を作成する（Ｓ３０４）。次に、第１通信モジュール３０は、作成した通信情報を利用して、選択プリンタとの通信を接続する（Ｓ３０６）。この際、第１通信モジュール３０は、選択プリンタとの通信が接続されたか否かを判断する（Ｓ３０８）。そして、選択プリンタとの通信が接続された場合（Ｓ３０８：ＹＥＳ）に、第１通信モジュール３０は、成功情報を作成し（Ｓ３１０）、オープン処理実行サブルーチンが終了する。一方、選択プリンタとの通信が接続されなかった場合（Ｓ３０８：ＮＯ）に、第１通信モジュール３０は、失敗情報を作成し（Ｓ３１２）、オープン処理実行サブルーチンが終了する。なお、Ｓ３０２において、Ｂｌｕｅｔｏｏｔｈアドレスの検索に失敗した場合（Ｓ３０２：ＮＯ）にも、第１通信モジュール３０は、失敗情報を作成し（Ｓ３１２）、オープン処理実行サブルーチンが終了する。
【００４２】
次に、オープン処理実行サブルーチンが終了すると、図６に示すように、第１通信モジュール３０は、オープン処理実行サブルーチンにおける結果、つまり、オープン処理実行サブルーチンにおいて作成した成功情報、若しくは、失敗情報を、メディアモニタ２８に出力する（Ｓ２１２）。そして、メディアモニタ２８は、受け付けた情報が成功情報であるか否かを判断する（Ｓ２１４）。この際、メディアモニタ２８は、成功情報を受け付けている場合（Ｓ２１４：ＹＥＳ）に、送信処理指示を第１通信モジュール３０に出力する（Ｓ２１６）。第１通信モジュール３０は、送信処理指示を受け付けると、送信処理実行サブルーチンを実行する（Ｓ２１８）。
【００４３】
送信処理実行サブルーチンでは、図９に示すように、第１通信モジュール３０は、ステータス情報の要求を、接続された選択プリンタに送信する（Ｓ３２０）。この際、第１通信モジュール３０は、ステータス情報要求の送信に成功したか否かを判断する（Ｓ３２２）。そして、ステータス情報要求の送信に成功した場合（Ｓ３２２：ＹＥＳ）に、第１通信モジュール３０は、成功情報を作成し（Ｓ３２４）、送信処理実行サブルーチンが終了する。一方、ステータス情報要求の送信に成功しなかった場合（Ｓ３２２：ＮＯ）に、第１通信モジュール３０は、失敗情報を作成し（Ｓ３２６）、送信処理実行サブルーチンが終了する。
【００４４】
次に、送信処理実行サブルーチンが終了すると、図６に示すように、第１通信モジュール３０は、送信処理実行サブルーチンにおける結果、つまり、送信処理実行サブルーチンにおいて作成した成功情報、若しくは、失敗情報を、メディアモニタ２８に出力する（Ｓ２２０）。そして、メディアモニタ２８は、受け付けた情報が成功情報であるか否かを判断する（Ｓ２２２）。この際、メディアモニタ２８は、成功情報を受け付けている場合（Ｓ２２２：ＹＥＳ）に、メディアモニタ２８は、図７に示すように、受信処理指示を第１通信モジュール３０に出力する（Ｓ２２４）。第１通信モジュール３０は、受信処理指示を受け付けると、受信処理実行サブルーチンを実行する（Ｓ２２６）。
【００４５】
受信処理実行サブルーチンでは、図１０に示すように、第１通信モジュール３０は、ステータス情報を選択プリンタから受信するべく、受信用のバッファをデータ記憶領域４０に用意する（Ｓ３３０）。そして、第１通信モジュール３０は、選択プリンタからステータス情報を受信する（Ｓ３３２）。この際、第１通信モジュール３０は、ステータス情報の受信に成功したか否かを判断する（Ｓ３３４）。そして、ステータス情報の受信に成功した場合（Ｓ３３４：ＹＥＳ）に、第１通信モジュール３０は、成功情報を作成し（Ｓ３３６）、受信処理実行サブルーチンが終了する。一方、ステータス情報の受信に成功しなかった場合（Ｓ３３４：ＮＯ）に、第１通信モジュール３０は、失敗情報を作成し（Ｓ３３８）、受信処理実行サブルーチンが終了する。
【００４６】
次に、受信処理実行サブルーチンが終了すると、図７に示すように、第１通信モジュール３０は、受信処理実行サブルーチンにおける結果、つまり、受信処理実行サブルーチンにおいて作成した成功情報、若しくは、失敗情報を、メディアモニタ２８に出力する（Ｓ２２８）。なお、第１通信モジュール３０は、成功情報をメディアモニタ２８に出力する場合に、成功情報とともに、選択プリンタから受信したステータス情報も、メディアモニタ２８に主力する。メディアモニタ２８は、受信処理実行サブルーチンにおける結果を受け付けると、クローズ処理指示を第１通信モジュール３０に出力する（Ｓ２３０）。そして、第１通信モジュール３０は、クローズ処理指示を受け付けると、選択プリンタとの通信接続を切断する（Ｓ２３２）。
【００４７】
また、メディアモニタ２８は、受信処理実行サブルーチンにおける結果を受け付けると、受け付けた情報が成功情報であるか否かを判断する（Ｓ２３４）。この際、メディアモニタ２８は、成功情報を受け付けている場合（Ｓ２３４：ＹＥＳ）に、その成功情報とともに受け付けているステータス情報からメディア情報を抽出する（Ｓ２３６）。詳しくは、ステータス情報は、選択プリンタのステータスを示す情報であり、メディア情報以外にも、多くの情報を含んでいる。具体的には、例えば、選択プリンタの機種に関する情報，選択プリンタでのエラー情報，選択プリンタで印刷される文字のフォントに関する情報，選択プリンタとＰＣ１０との通信状態を示す情報，選択プリンタで用いられるインクの色に関する情報などを含んでいる。そして、メディア情報は、選択プリンタにセットされている印刷媒体の幅寸法に関する情報，選択プリンタにセットされている印刷媒体の長さ寸法に関する情報，選択プリンタにセットされている印刷媒体の種類に関する情報，選択プリンタにセットされている印刷媒体の種類を示すコード情報などを含んでいる。このため、メディアモニタ２８は、ステータス情報からメディア情報を抽出する。ただし、メディアモニタ２８は、ステータス情報から、メディア情報だけでなく、選択プリンタとＰＣ１０との通信状態を示す情報，選択プリンタで用いられるインクの色に関する情報なども抽出する。
【００４８】
そして、メディアモニタ２８は、抽出したメディア情報と、成功情報とをアプリケーション２６に出力する（Ｓ２３８）。アプリケーション２６は、メディア情報と成功情報とを受け付けると、作成画面１００のサイズ表示欄１０６に、メディア情報に応じたメディアサイズを表示するとともに、プレビュー画像１０８として、メディア情報に応じたサイズの印刷媒体の画像を表示する（Ｓ２４０）。
【００４９】
また、Ｓ２１４，Ｓ２２２，Ｓ２３４において、メディアモニタ２８が失敗情報を受け付けている場合（Ｓ２１４，Ｓ２２２，Ｓ２３４：ＮＯ）に、メディアモニタ２８は、失敗情報をアプリケーション２６に出力する（Ｓ２４２）。そして、アプリケーション２６は、失敗情報を受け付けると、ＬＣＤ１６にエラー画面（図示省略）を表示する。
【００５０】
また、選択プリンタとして、プリンタ５０ｃが選択されている場合、つまり、Ｗｉ−Ｆｉを用いるプリンタ５０ｃが選択されている場合、及び、プリンタ５０ｂが選択されている場合、つまり、ＵＳＢを用いるプリンタ５０ｂが選択されている場合には、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａが選択されている場合と同様の手法により、メディア情報が取得される。このため、Ｗｉ−Ｆｉを用いるプリンタ５０ｃが選択されている場合、及び、ＵＳＢを用いるプリンタ５０ｂが選択されている場合のメディア情報の取得方法に関して、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａが選択されている場合のメディア情報の取得方法と異なる箇所についてのみ、説明する。
【００５１】
選択プリンタとして、Ｗｉ−Ｆｉを用いるプリンタ５０ｃが選択されている場合において、メディアモニタ２８は、第１通信モジュール３０でなく、第２通信モジュール３２と通信を行う。つまり、メディアモニタ２８は、オープン処理指示，送信処理指示等を、第２通信モジュール３２に出力する。そして、第２通信モジュール３２が、オープン処理実行サブルーチン，送信処理実行サブルーチン等を実行する。その際、第２通信モジュール３２は、オープン処理実行サブルーチンのＳ３００において、Ｂｌｕｅｔｏｏｔｈアドレスを検索せずに、ＩＰアドレスを検索する。また、第２通信モジュール３２は、オープン処理実行サブルーチンのＳ３０６において、Ｂｌｕｅｔｏｏｔｈアドレスを用いずに、ＩＰアドレスを用いて、選択プリンタと通信を接続する。これにより、Ｗｉ−Ｆｉを用いるプリンタ５０ｃが選択されている場合においても、選択プリンタにセットされている印刷媒体のメディアサイズを作成画面１００に表示するとともに、そのメディアサイズに応じた大きさの画像をプレビュー画像１０８として表示することができる。
【００５２】
また、選択プリンタとして、ＵＳＢを用いるプリンタ５０ｂが選択されている場合において、メディアモニタ２８は、第１通信モジュール３０と第２通信モジュール３２とも通信を行うことなく、オープン処理実行サブルーチン，送信処理実行サブルーチン等を実行する。つまり、メディアモニタ２８は、オープン処理指示，送信処理指示等を出力せずに、自身で、オープン処理実行サブルーチン，送信処理実行サブルーチン等を実行する。そして、メディアモニタ２８は、オープン処理実行サブルーチンのＳ３００において、Ｂｌｕｅｔｏｏｔｈアドレスを検索せずに、ＵＳＢシンボリック名を検索する。また、メディアモニタ２８は、オープン処理実行サブルーチンのＳ３０６において、Ｂｌｕｅｔｏｏｔｈアドレスを用いずに、ＵＳＢシンボリック名を用いて、選択プリンタと通信を接続する。これにより、ＵＳＢを用いるプリンタ５０ｂが選択されている場合においても、選択プリンタにセットされている印刷媒体のメディアサイズを作成画面１００に表示するとともに、そのメディアサイズに応じた大きさの画像をプレビュー画像１０８として表示することができる。
【００５３】
なお、Ｓ１１４を実行するＣＰＵ１２は、判断手段の一例である。Ｓ１１８，Ｓ１２２を実行するＣＰＵ１２は、第１出力手段の一例である。Ｓ２３８を実行するＣＰＵ１２は、第２出力手段の一例である。Ｓ３００を実行するＣＰＵ１２は、取得手段の一例である。Ｓ３０６を実行するＣＰＵ１２は、通信手段及び第２通信手段の一例である。Ｓ３２０を実行するＣＰＵ１２は、送信手段の一例である。Ｓ３３２を実行するＣＰＵ１２は、受信手段の一例である。
【００５４】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
【００５５】
メディアモニタ２８は、選択プリンタとして、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａが選択されている場合に、選択プリンタのアドレス、つまり、Ｂｌｕｅｔｏｏｔｈアドレスを取得できるか否かを判断する。そして、メディアモニタ２８は、その判断結果をアプリケーション２６に出力する。また、アプリケーション２６は、受け付けた判断結果がＢｌｕｅｔｏｏｔｈアドレスを取得可能であることを示している場合に、メディア情報の要求を、メディアモニタ２８に出力可能に構成されている。そして、メディアモニタ２８は、アプリケーション２６からメディア情報の要求を受け付けると、Ｂｌｕｅｔｏｏｔｈアドレスを用いて通信を確立した選択プリンタに、メディア情報の要求を送信する。これにより、例えば、新たな通信方式でＰＣ１０と通信可能なプリンタが開発された場合においても、アプリケーション２６等に改良を加えることなく、メディアモニタ２８を介して、その新たに開発されたプリンタと通信を行って、そのプリンタにメディア情報の要求を送信することが可能となる。
【００５６】
メディアモニタ２８は、選択プリンタとして、ＵＳＢ、若しくは、Ｗｉ−Ｆｉを用いるプリンタ５０ｂ、ｃが選択されている場合に、ＵＳＢ、若しくは、Ｗｉ−Ｆｉのアドレス情報を取得できるか否かを判断する。そして、メディアモニタ２８は、アプリケーション２６からメディア情報の要求を受け付けると、ＵＳＢ、若しくは、Ｗｉ−Ｆｉのアドレス情報を用いて通信を確立した選択プリンタに、メディア情報の要求を送信する。これにより、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａだけでなく、ＵＳＢ、若しくは、Ｗｉ−Ｆｉを用いるプリンタ５０ｂ、ｃにも、メディア情報の要求を送信することが可能となる。
【００５７】
メディアモニタ２８は、アプリケーション２６からメディア情報の要求を受け付けると、メディア情報の要求を選択プリンタに送信する旨の送信指令を、第１通信モジュール３０に出力し、第１通信モジュール３０が、メディア情報の要求を選択プリンタに送信する。つまり、メディアモニタ２８は、第１通信モジュール３０を介して、メディア情報の要求を選択プリンタに送信する。これにより、メディア情報の要求を好適に選択プリンタに送信できる。
【００５８】
メディアモニタ２８は、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａに対応するポートモニタ３６ａに設定されているＢｌｕｅｔｏｏｔｈアドレスを取得する。これにより、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａとの通信を、好適に行うことができる。
【００５９】
メディアモニタ２８は、Ｂｌｕｅｔｏｏｔｈを用いるプリンタ５０ａに対応するポートモニタ３６ａに応じて設定されたポート名が、Ｂｌｕｅｔｏｏｔｈアドレスを取得可能な種類の名称である場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できると判断し、ポートモニタ３６ａに応じて設定されたポート名が、Ｂｌｕｅｔｏｏｔｈアドレスを取得可能な種類の名称でない場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できないと判断する。これにより、容易に、素早く、Ｂｌｕｅｔｏｏｔｈアドレスを取得できるか否かを判断できる。
【００６０】
メディアモニタ２８は、ポート名がＯＳ標準のＢｌｕｅｔｏｏｔｈポートモニタに対応するポート名である場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できると判断し、ポート名がＯＳ標準のＢｌｕｅｔｏｏｔｈポートモニタに対応するポート名でない場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できないと判断する。これにより、Ｂｌｕｅｔｏｏｔｈアドレスを取得できるか否かを適切に判断できる。
【００６１】
メディアモニタ２８は、ポート名の先頭の３文字に、「ＣＯＭ」若しくは、「ＢＴＨ」が含まれる場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できると判断し、ポート名の先頭の３文字に、「ＣＯＭ」若しくは、「ＢＴＨ」が含まれない場合に、Ｂｌｕｅｔｏｏｔｈアドレスを取得できないと判断する。これにより、Ｂｌｕｅｔｏｏｔｈアドレスを取得できるか否かを好適に判断できる。
【００６２】
アプリケーション２６は、メディアモニタ２８からアドレス情報を取得することができる旨の情報を受け付けた場合、つまり、図５に示すＳ１２２において可能情報を受け付けた場合に、サイズチェックボタン１１０を表示する。また、アプリケーション２６は、メディアモニタ２８からアドレス情報を取得することができない旨の情報を受け付けた場合、つまり、図５に示すＳ１１８において不能情報を受け付けた場合に、サイズチェックボタン１１０を表示しない。そして、サイズチェックボタン１１０が操作されると、アプリケーション２６は、メディア情報の要求をメディアモニタ２８に出力する。これにより、アドレス情報を取得可能な場合にのみ、サイズチェックボタン１１０が作成画面１００に表示され、作成画面１００における操作ボタンの操作性が向上する。
【００６３】
メディアモニタ２８は、メディア情報の要求が選択プリンタに送信されたことに応じて、メディア情報を取得し、取得したメディア情報を、アプリケーション２６に出力する。そして、アプリケーション２６は、メディア情報をＬＣＤ１６に表示する。これにより、ユーザは、選択プリンタにセットされている印刷媒体のメディアサイズを認識することができる。
【００６４】
アプリケーション２６は、メディア情報をメディアモニタ２８から受け付けた場合に、そのメディア情報に基づくメディアサイズの画像を、プレビュー画像１０８として作成画面１００に表示する。これにより、ユーザは、選択デバイスにセットされている印刷媒体のイメージを認識することができる。
【００６５】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、メディアモニタ２８において、アドレス情報を取得することができると判断された後に、作成画面１００のサイズチェックボタン１１０が操作されることで、メディアモニタ２８の指令により、ＰＣ１０と選択プリンタとの間で通信が接続可能であるか否かが判断される。つまり、図５に示すＳ１１６でアドレス情報を取得可能であると判断された後に、可能情報がアプリケーション２６に出力され、その情報に応じて、サイズチェックボタン１１０がＬＣＤ１６に表示される。そして、そのサイズチェックボタン１１０が操作されることで、図６に示すＳ２０４〜Ｓ２１２の処理が実行される。本発明では、この形態に限らず、サイズチェックボタン１１０が操作される前に、ＰＣ１０と選択プリンタとの間で通信が接続可能であるか否かが判断されてもよい。具体的には、図５に示すＳ１１６でアドレス情報を取得可能であると判断された後に、可能情報がアプリケーション２６に出力されず、図６に示すＳ２０４〜Ｓ２１２の処理が実行される。この際、メディアモニタ２８は、アドレス情報を取得可能であり、ＰＣ１０と選択プリンタとの間で通信が接続可能であることを示す第１の判断結果情報と、アドレス情報を取得可能であるが、ＰＣ１０と選択プリンタとの間で通信が接続不能であることを示す第２の判断結果情報と、アドレス情報を取得不能であることを示す第３の判断結果情報とのうちの何れかの情報をアプリケーション２６に出力する。そして、アプリケーション２６は、第１の判断結果情報を受け付けた場合に、サイズチェックボタン１１０を表示する。また、アプリケーション２６は、第２の判断結果情報を受け付けた場合に、サイズチェックボタン１１０をグレーアウトの状態で表示する。つまり、アプリケーション２６は、サイズチェックボタン１１０を操作不能な状態で表示する。また、アプリケーション２６は、第３の判断結果情報を受け付けた場合に、サイズチェックボタン１１０を表示しない。なお、アプリケーション２６は、第２、若しくは第３の判断結果情報を受け付けた場合に、サイズチェックボタン１１０を無効にすればよく、サイズチェックボタン１１０の非表示，サイズチェックボタン１１０の操作不能な状態での表示等、種々の態様で、サイズチェックボタン１１０が無効とされればよい。
【００６６】
また、上記実施形態では、アプリケーション２６が、不可能情報を受け付けると（図５：Ｓ１１８）、サイズチェックボタン１１０を作成画面１００に表示しない（Ｓ１２０）が、サイズチェックボタン１１０をグレーアウトの状態で作成画面１００に表示してもよい。このように、サイズチェックボタン１１０がグレーアウトで表示されることで、ユーザは、例えば、プリンタが今は通信できない状態であることがわかる。また、サイズチェックボタン１１０が表示されないことで、ユーザは、例えば、プリンタからサイズ情報を取れないことがわかる。
【００６７】
また、上記実施形態と異なり、アプリケーション２６が、可能情報を受け付けると（図５：Ｓ１２２）、図６に示すように、Ｓ２０２の処理を実行し、Ｓ２０４〜Ｓ２１４の処理が実行された後に、Ｓ２１４がＹｅｓであれば、サイズチェックボタン１１０を、有効な態様で作成画面１００に表示してもよい。また、Ｓ２１４がＮｏであれば、アプリケーション２６は、サイズチェックボタン１１０を、無効な態様（例えば、グレーアウト）で作成画面１００に表示してもよい。なお、無効な態様のサイズチェックボタン１１０が操作されても、アプリケーション２６はＳ２０２の処理を実行しない。
【００６８】
また、上記実施形態では、Ｗｉ−Ｆｉが第２プロトコルの一例として採用されているが、Ｗｉ−Ｆｉに加えて、有線ＬＡＮも第２プロトコルの一例として採用されてもよい、また、第２通信モジュール３２が、Ｗｉ−Ｆｉに加え、有線ＬＡＮにも対応するモジュールであってもよい。
【００６９】
また、上記実施形態では、アプリケーション２６、メディアモニタ２８などを含む構成であるアプリケーション２５という構成を記載しているが。アプリケーション２６、メディアモニタ２８などが、アプリケーション２５に含まれない、単独のプログラムとして構成されてもよい。また、上記実施形態で、メディアモニタ２８と第１通信モジュール３０と第２通信モジュール３２とは、それぞれ、単一のプログラムとして構成されているが、メディアモニタ２８と第１通信モジュール３０と第２通信モジュール３２とが１つのプログラムとして構成されてもよい。つまり、メディアモニタ２８と第１通信モジュール３０と第２通信モジュール３２との集合体が、１つのプログラムであってもよい。
【００７０】
また、上記実施形態では、ＣＰＵ１２によって図５乃至図１０７に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００７１】
１０：ＰＣ、１２：ＣＰＵ、２６：アプリケーション、２８：メディアモニタ、５０：プリンタ
【図１】
0006988421.tif 000002
【図２】
0006988421.tif 000003
【図３】
0006988421.tif 000004
【図４】
0006988421.tif 000005
【図５】
0006988421.tif 000006
【図６】
0006988421.tif 000007
【図７】
0006988421.tif 000008
【図８】
0006988421.tif 000009
【図９】
0006988421.tif 000010
【図１０】
0006988421.tif 000011