(57)【要約】【課題】接続されるデバイス機器が何であるかが不明なローカルポートに印刷装置を接続する場合であっても、印刷装置の切り替え操作の手間を省き、ユーザの使い勝手を格段に向上すること。【解決手段】ＣＰＵ２０１により実行される監視制御プログラム２１５が、印刷装置を含む複数のデバイス機器と接続可能なＰＣ１００のローカルポート２１２に印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定し、該デバイスドライバがインストールされていると判定した場合には、前記接続検知された印刷装置を「通常使用するプリンタ」として設定する構成を特徴とする。【選択図】      図２
2005011054.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置であって、
前記ローカルポートに印刷装置が接続又は切断されたことを検知する検知手段と、
前記検知手段が前記ローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定する第１の判定手段と、
前記第１の判定手段がデバイスドライバがインストールされていると判定した場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定する第１の設定手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記第１の設定手段により印刷出力を行わせる印刷装置の設定が変更された場合、該変更前に設定情報を記憶する第１の記憶手段と、
前記検知手段が前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定手段と、
前記第２の判定手段が前記切断された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合には、前記印刷出力を行わせる印刷装置の設定を前記第１の記憶手段に記憶された変更前の設定情報に再設定する第２の設定手段と、
を設けたことを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記第１の設定手段は、前記第１の判定手段がデバイスドライバがインストールされていると判定した場合であっても、前記接続検知された印刷装置の能力に応じて、該印刷装置の印刷出力を行わせる印刷装置への設定を制限することを特徴とする請求項１又は２記載の印刷制御装置。
【請求項４】
前記第２の設定手段は、前記第２の判定手段が前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合であっても、前記第１の記憶手段に記憶された変更前の設定情報に対応する印刷装置の能力に応じて、前記印刷出力を行わせる印刷装置の設定を前記第１の記憶手段に記憶された変更前の設定情報へ再設定することを制限することを特徴とする請求項２記載の印刷制御装置。
【請求項５】
印刷装置への印刷出力回数を印刷装置ごとに記憶する第２の記憶手段を設け、
前記第１の設定手段は、前記第１の判定手段がデバイスドライバがインストールされていると判定した場合であっても、前記第２の記憶手段に記憶される前記接続検知された印刷装置の印刷出力回数に応じて、該印刷装置の印刷出力を行わせる印刷装置への設定を制限することを特徴とする請求項１記載の印刷制御装置。
【請求項６】
印刷装置への印刷出力回数を印刷装置ごとに記憶する第２の記憶手段と、
前記検知手段が前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定手段と、
前記第２の判定手段が前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合には、前記第２の記憶手段に記憶される印刷装置の印刷出力回数に応じて選択した印刷装置を、前記印刷出力を行わせる印刷装置に設定する第３の設定手段と、
を設けたことを特徴とする請求項１記載の印刷制御装置。
【請求項７】
前記ローカルポートへの印刷装置の接続は、前記ローカルポートへ物理的に接続された印刷装置に電源が投入されたことを含み、前記ローカルポートからの印刷装置の切断は、前記ローカルポートへ物理的に接続された印刷装置の電源が遮断されたことを含むことを特徴とする請求項１〜６のいずれかに記載の印刷制御装置。
【請求項８】
前記ローカルポートは、ＵＳＢポートを含むことを特徴とする請求項１〜７のいずれかに記載の印刷制御装置。
【請求項９】
印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置であって、
前記ローカルポートにデバイス機器が接続又は切断されたことを検知する検知手段と、
前記検知手段が前記ローカルポートにデバイス機器が接続ことを検知した場合に、前記接続検知されたデバイス機器に対して対応付けられるデバイスドライバがプリンタドライバである事を認識する認識手段と、
前記認識手段がプリンタドライバであることを認識した場合には、前記接続検知されたデバイス機器を印刷出力を行わせる印刷装置として登録する登録手段と、
を有することを特徴とする印刷制御装置。
【請求項１０】
印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置における印刷制御方法であって、
前記ローカルポートに印刷装置が接続又は切断されたことを検知する検知工程と、
前記検知工程により前記ローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定する第１の判定工程と、
前記第１の判定工程によりデバイスドライバがインストールされていると判定された場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定する第１の設定工程と、
を有することを特徴とする印刷制御方法。
【請求項１１】
前記第１の設定工程により印刷出力を行わせる印刷装置の設定が変更された場合、該変更前に設定情報をメモリに記憶させる第１の記憶工程と、
前記検知工程により前記ローカルポートから印刷装置が切断されたことが検知された場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定工程と、
前記第２の判定工程により前記切断された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、前記印刷出力を行わせる印刷装置の設定を前記メモリに記憶された変更前の設定情報に再設定する第２の設定工程と、
を設けたことを特徴とする請求項１０記載の印刷制御方法。
【請求項１２】
印刷装置への印刷出力回数を印刷装置ごとにメモリに記憶する第２の記憶工程と、
前記検知工程により前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定工程と、
前記第２の判定工程により前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、前記メモリに記憶される印刷装置の印刷出力回数に応じて選択した印刷装置を、前記印刷出力を行わせる印刷装置に設定する第２の設定工程と、
を有することを特徴とする請求項１１記載の印刷制御方法。
【請求項１３】
印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置における印刷制御方法であって、
前記ローカルポートにデバイス機器が接続又は切断されたことを検知する検知工程と、
前記検知工程が前記ローカルポートにデバイス機器が接続されたことを検知した場合に、前記接続検知されたデバイス機器に対して対応付けられるデバイスドライバがプリンタドライバである事を認識する認識工程と、
前記認識工程でプリンタドライバであることを認識した場合には、前記接続検知されたデバイス機器を印刷出力を行わせる印刷装置として登録する登録工程と、
を有することを特徴とする印刷制御方法。
【請求項１４】
請求項１０〜１３のいずれかに記載された印刷制御方法を実行するためのプログラム。
【請求項１５】
請求項１０〜１３のいずれかに記載された印刷制御方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置および印刷制御方法およりプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
Ｗｉｎｄｏｗｓ（登録商標）等のＯＳで動作するパーソナルコンピュータ（以下、ＰＣ）における印刷環境では、複数のプリンタドライバをインストールすることで複数のプリンタからの印刷を可能にすることが出来る。
【０００３】
操作者が、複数のプリンタドライバがインストールされているＰＣでアプリケーションからの印刷を実行すると、出力するためのデフォルトプリンタとしてＯＳで「通常使うプリンタ」に設定されているプリンタが自動的に選択される。
【０００４】
そして、出力したいプリンタが、その「通常使うプリンタ」と異なる場合、操作者が、アプリケーションの印刷設定でプリンタを変更するか、ＯＳの提供するプリンタの設定手段（例えば、プリンタフォルダ）において「通常使うプリンタ」の設定の変更を行った後に印刷を実行する必要がある。
【０００５】
特に、ネットワークプリンタではなく、ローカルプリンタから出力したいとき、まずそのプリンタをＰＣに対してケーブルで接続して印刷を実行することになる。
【０００６】
しかし、接続しておいたプリンタのドライバが「通常使うプリンタ」に設定されていないと、アプリケーションからプリンタを選び直さない限り、その接続中のプリンタに対しての出力処理は行われず、「通常使うプリンタ」に設定されているプリンタに対して処理が行われる。
【０００７】
そのため、操作者は印刷設定のときにアプリケーションから現在接続されているプリンタをわざわざ選択し直すという煩わしい作業が発生する。
【０００８】
例えば、印刷出力先となるプリンタの切り替えに関する操作者の煩わしい作業を軽減するために、どのプリンタで印刷を行うかを選択するための工夫が、特開平１０−４９３２０号公報（特許文献１）に開示されている。
【０００９】
特許文献１では、印刷出力先としてネットワークプリンタとローカルプリンタを切り替える印刷制御装置及び方法を開示するものである。この印刷制御装置は、ローカルプリンタの電源が投入されたことを検出するとその他の印刷装置（例えば、ネットワークプリンタ）への印刷出力する設定がなされているか否かを判定して、前記その他の印刷装置への設定がなされている場合にはローカルプリンタに印刷出力を行うように設定変更を行うものである。更には、前記印刷制御装置は、前記設定の変更と共に前記その他の印刷装置への印刷出力設定を保存しておき、ローカルプリンタの電源が遮断された際には保存しておいた前記その他の印刷装置への印刷出力の設定に戻すものである。
【００１０】
【特許文献１】
特開平１０−４９３２０号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、上記特許文献１に記載の印刷制御装置においては、ローカルポートには、プリンタが接続されていることが前提となっており、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（以下、ＵＳＢ）のように接続されるデバイスが何であるかが不明なシステムに適用できるものでない。
【００１２】
例えば、特許文献１においては、電源がオンしたことを印刷制御装置が確認するために、段落番号＜００１９＞乃至＜００２４＞にあるように、ＬＢＰ１５００が積極的に電源オンをホストコンピュータ３０００に通知する。
【００１３】
また、その変形例として段落番号＜００２９＞或いは＜００３０＞にあるように、ホストコンピュータ３０００がポーリングによるステータス取得を行うか、通信可能状態になってから電源オン状態を取得するものである。
【００１４】
つまり、ある特定のポートに接続される機器が何であるかや、その機器に対するプリンタドライバがインストール済みであることが予め分かっていることを前提にしており、接続される機器が何であるかの確認やその機器に対するドライバのインストール状況の確認等は行っておらず、特に考慮しなくても良い様になっている。
【００１５】
それ故、ＵＳＢのように物理的に複数のポートがＰＣに存在し、それらに対して様々なデバイスが接続され得る環境を有するポートに対してプリンタが接続された場合に、上記特許文献１の技術を適応することは困難であった。
【００１６】
また、上記特許文献１の技術では、ローカルに接続されるプリンタがどのようなものであっても必ず印刷出力先を切り換えてしまうため、使用頻度の低いプリンタや特殊な機能を有するプリンタを接続しただけでデフォルトプリンタ設定を行ってしまうため、場合によっては不都合が起きる（かえって使用しづらくなってしまう等）ことがあった。
【００１７】
また、上記特許文献１においては、ローカルプリンタへの印刷出力設定変更前にネットワークプリンタへの出力リダイレクト（印刷出力先の論理ポートの接続）の設定が行われていると、ローカルポートに接続されているプリンタの電源がオフになったら必然的にネットワークプリンタに出力リダイレクトを行うため、ユーザの使用頻度やプリンタの機能等に対しての考慮・検討が含まれていなかった等の問題点があった。
【００１８】
本発明は上記の課題を解決するためになされたものであり、ユーザによるデフォルトプリンタの切り替えの手間を省いてアプリケーション等からの印刷で誤った出力を防ぎ、また常にユーザの使用頻度の高いプリンタに対して「通常使うプリンタに設定」することができる印刷制御装置及びその制御方法、プログラムおよび記憶媒体を提供することを目的とする。
【００１９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、印刷装置を含む複数のデバイス機器と接続可能な印刷制御装置のローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定し、該デバイスドライバがインストールされていると判定した場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定することにより、接続されるデバイス機器が何であるかが不明なローカルポートに印刷装置を接続する場合であっても、印刷装置の切り替え操作の手間を省き、ユーザの使い勝手を格段に向上することができ、印刷装置を含む複数のデバイス機器と接続可能な印刷制御装置のローカルポートに印刷装置を接続／切断する場合であっても、印刷装置の接続／切断時の印刷装置の切り替え操作の手間を省き、ユーザの使い勝手を格段に向上することができる印刷装置自動選択環境を提供することを可能とする印刷制御装置および印刷制御方法およりプログラムおよび記録媒体を提供することである。
【００２０】
【課題を解決するための手段】
本発明の第１の発明は、印刷装置を含む複数のデバイス機器と接続可能なローカルポート（図２に示すローカルポート２１２）を有する印刷制御装置（図１に示すＰＣ１００）であって、前記ローカルポートに印刷装置が接続又は切断されたことを検知する検知手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０２，Ｓ８０３，Ｓ８０４，Ｓ８１２、図６のステップＳ３０２，Ｓ３０３，Ｓ３０４，Ｓ３１２、図８のステップＳ４０２，Ｓ４０３，Ｓ４０４，Ｓ４１２）と、前記検知手段が前記ローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定する第１の判定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０６、図６のステップＳ３０６、図８のステップＳ４０６）と、前記第１の判定手段がデバイスドライバがインストールされていると判定した場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定する第１の設定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０８、図６のステップＳ３１０、図８のステップＳ４０９）とを有することを特徴とする。
【００２１】
本発明の第２の発明は、前記第１の設定手段により印刷出力を行わせる印刷装置の設定が変更された場合、該変更前に設定情報を記憶する第１の記憶手段（図５のデフォルトフラグ６０４，図７のデフォルトフラグ９０４）と、前記検知手段が前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８１３、図６のステップＳ３１５）と、前記第２の判定手段が前記切断された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合には、前記印刷出力を行わせる印刷装置の設定を前記第１の記憶手段に記憶された変更前の設定情報に再設定する第２の設定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８１４、図６のステップＳ３１７）とを設けたことを特徴とする。
【００２２】
本発明の第３の発明は、前記第１の設定手段は、前記第１の判定手段がデバイスドライバがインストールされていると判定した場合であっても、前記接続検知された印刷装置の能力に応じて、該印刷装置の印刷出力を行わせる印刷装置への設定を制限する（図６のステップＳ３０９で「ＮＯ」）ことを特徴とする。
【００２３】
本発明の第４の発明は、前記第２の設定手段は、前記第２の判定手段が前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合であっても、前記第１の記憶手段に記憶された変更前の設定情報に対応する印刷装置の能力に応じて、前記印刷出力を行わせる印刷装置の設定を前記第１の記憶手段に記憶された変更前の設定情報へ再設定することを制限する（図６のステップＳ３１６で「ＹＥＳ」）ことを特徴とする。
【００２４】
本発明の第５の発明は、印刷装置への印刷出力回数を印刷装置ごとに記憶する第２の記憶手段（図９に示す印刷回数情報）を設け、前記第１の設定手段は、前記第１の判定手段がデバイスドライバがインストールされていると判定した場合であっても、前記第２の記憶手段に記憶される前記接続検知された印刷装置の印刷出力回数に応じて、該印刷装置の印刷出力を行わせる印刷装置への設定を制限する（図８のステップＳ４０８で「ＮＯ」）ことを特徴とする。
【００２５】
本発明の第６の発明は、印刷装置への印刷出力回数を印刷装置ごとに記憶する第２の記憶手段（図９に示す印刷回数情報）と、前記検知手段が前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図８のステップＳ４１５）と、前記第２の判定手段が前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定した場合には、前記第２の記憶手段に記憶される印刷装置の印刷出力回数に応じて選択した印刷装置を、前記印刷出力を行わせる印刷装置に設定する第３の設定手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図８のステップＳ４１６）とを設けたことを特徴とする。
【００２６】
本発明の第７の発明は、前記ローカルポートへの印刷装置の接続は、前記ローカルポートへ物理的に接続された印刷装置に電源が投入されたことを含み、前記ローカルポートからの印刷装置の切断は、前記ローカルポートへ物理的に接続された印刷装置の電源が遮断されたことを含むことを特徴とする。
【００２７】
本発明の第８の発明は、前記ローカルポートは、ＵＳＢポートを含むことを特徴とする。
【００２８】
本発明の第９の発明は、印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置であって、前記ローカルポートにデバイス機器が接続又は切断されたことを検知する検知手段と、前記検知手段が前記ローカルポートにデバイス機器が接続ことを検知した場合に、前記接続検知されたデバイス機器に対して対応付けられるデバイスドライバがプリンタドライバである事を認識する認識手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０５，Ｓ８０６）と、前記認識手段がプリンタドライバであることを認識した場合には、前記接続検知されたデバイス機器を印刷出力を行わせる印刷装置として登録する登録手段（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０８、図６のステップＳ３１０、図８のステップＳ４０９）とを有することを特徴とする。
【００２９】
本発明の第１０の発明は、印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置における印刷制御方法であって、前記ローカルポートに印刷装置が接続又は切断されたことを検知する検知工程（図３のステップＳ８０２，Ｓ８０３，Ｓ８０４，Ｓ８１２、図６のステップＳ３０２，Ｓ３０３，Ｓ３０４，Ｓ３１２、図８のステップＳ４０２，Ｓ４０３，Ｓ４０４，Ｓ４１２）と、前記検知工程により前記ローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定する第１の判定工程（図３のステップＳ８０６、図６のステップＳ３０６、図８のステップＳ４０６）と、前記第１の判定工程によりデバイスドライバがインストールされていると判定された場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定する第１の設定工程（図３のステップＳ８０８、図６のステップＳ３１０、図８のステップＳ４０９）とを有することを特徴とする。
【００３０】
本発明の第１１の発明は、前記第１の設定工程により印刷出力を行わせる印刷装置の設定が変更された場合、該変更前に設定情報をメモリに記憶させる第１の記憶工程（図３のステップＳ８０９、図６のステップＳ３１１）と、前記検知工程により前記ローカルポートから印刷装置が切断されたことが検知された場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定工程（図３のステップＳ８１３、図６のステップＳ３１５）と、前記第２の判定工程により前記切断された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、前記印刷出力を行わせる印刷装置の設定を前記メモリに記憶された変更前の設定情報に再設定する第２の設定工程（図３のステップＳ８１４、図６のステップＳ３１７）とを設けたことを特徴とする。
【００３１】
本発明の第１２の発明は、印刷装置への印刷出力回数を印刷装置ごとにメモリに記憶する第２の記憶工程（図８のステップＳ４１２）と、前記検知工程により前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定する第２の判定工程（図８のステップＳ４１５）と、前記第２の判定工程により前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、前記メモリに記憶される印刷装置の印刷出力回数に応じて選択した印刷装置を、前記印刷出力を行わせる印刷装置に設定する第２の設定工程（図８のステップＳ４１６）とを有することを特徴とする。
【００３２】
本発明の第１３の発明は、印刷装置を含む複数のデバイス機器と接続可能なローカルポートを有する印刷制御装置における印刷制御方法であって、前記ローカルポートにデバイス機器が接続又は切断されたことを検知する検知工程と、前記検知工程が前記ローカルポートにデバイス機器が接続されたことを検知した場合に、前記接続検知されたデバイス機器に対して対応付けられるデバイスドライバがプリンタドライバである事を認識する認識工程（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０５，Ｓ８０６）と、前記認識工程がプリンタドライバであることを認識した場合には、前記接続検知されたデバイス機器を印刷出力を行わせる印刷装置として登録する登録工程（図２に示すＣＰＵ２０１により実行される監視制御プログラム２１５、図３のステップＳ８０８、図６のステップＳ３１０、図８のステップＳ４０９）とを有することを特徴とする。
【００３３】
本発明の第１４の発明は、第１０〜１３の発明のいずれかに記載された印刷制御方法を実行するためのプログラムであることを特徴とする。
【００３４】
本発明の第１５の発明は、第１０〜１３の発明のいずれかに記載された印刷制御方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００３５】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００３６】
本発明は、特に、複数の印刷装置と接続され、そのいずれかから印刷出力を行わせる印刷制御装置に関するものである。
【００３７】
〔第１実施形態〕
図１は、本発明の第１実施形態を示す印刷制御装置を適用可能な印刷制御システムの構成を示す図である。
【００３８】
図１において、１００は印刷制御装置で、パーソナルコンピュータ等で構成され（以下、ＰＣ１００）、Ａ４サイズの用紙に印刷するために用いられる小型のローカルプリンタ１０１或いは大判のＡ０サイズやＡ１サイズの印刷に用いられる大型のローカルプリンタ１０２と接続するためのローカルポート（例えば、ＵＳＢ）を複数有しており、アプリケーションプログラムやプリンタドライバを用いてローカルプリントが可能である。例えば、ローカルポートがＵＳＢポートである場合には、ＵＳＢポートに対してはプリンタに限らず、マウス、キーボード、メモリデバイス、ＣＤ−ＲＯＭドライブ、ＤＶＤドライブ他様々なデバイスの接続が可能である。
【００３９】
また、ＰＣ１００は、ローカルエリアネットワーク（ＬＡＮ）１０４にＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を用いて接続されており、ネットワーク経由でネットワークプリンタ１０３からの印刷が可能な構成を有している。
【００４０】
次に、図１に示したＰＣ１００のハードウェア構成について、図２を用いて説明する。
【００４１】
図２は、図１に示したＰＣ１００のハードウェア構成を示すブロック図である。
【００４２】
図２において、２０１はＣＰＵで、システムバス２０２に接続される各デバイスを統括的に制御する。また、２０４はＲＯＭ、２１１は外部メモリで、ＲＯＭ２０４あるいは外部メモリ２１１には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や後述する各種機能を実現するためのプログラムが記憶されている。
【００４３】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００４４】
２０５は入力コントローラで、入力部２０９からの入力を制御する。この入力部２０９としては、特に、パーソナルコンピュータ等の端末では、キーボード（ＫＢ）、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、タッチパネル、ボタン、スイッチ等が挙げられる。
【００４５】
２０６は表示用ビデオコントローラで、表示部（ＣＲＴ）２１０の表示を制御する。この表示部２１０としては、例えばＣＲＴや液晶等が挙げられる。
【００４６】
２０７は外部メモリコントローラ（ＭＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、外部メモリ２１１には、各種機能を実現するための各種テーブル、パラメータが記憶されている。
【００４７】
この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００４８】
２１５は監視制御プログラムで、外部メモリ２１１に記憶されている。この監視制御プログラム２１５は、その実行が指示された場合に、ＲＡＭ２０３にロードされＣＰＵ２０１により実行されるものである。本監視制御プログラム２１５は、例えばＵＳＢデバイスの接続等のＰＣ１００へのデバイス接続が検出されることで起動されても良いし、ユーザからの入力指示、ＰＣの起動時などに起動され常駐することで常にＵＳＢデバイスの接続状態を監視することも可能である。
【００４９】
２０８は通信Ｉ／Ｆコントローラで、ＮＩＣやＮＣＵ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）等で構成され、ＴＣＰ／ＩＰプロトコルを用いてＬＡＮ経由で通信を行うことや公衆回線を通して外部との通信を可能とするものである。
【００５０】
また、２１２はローカルポートコントローラで、ローカルデバイスとの通信を制御するものであり、ローカルインターフェースであるパラレルポート（ＩＥＥＥ１２８４）での通信、ＲＳ−２３２Ｃのシリアル通信、ＵＳＢ、ＩＥＥＥ１３９４を用いたシリアル通信の夫々を制御するコントローラである。
【００５１】
２１３はＵＳＢチップで、ローカルポートコントローラ２１２の一例として、ＵＳＢの通信制御用のコントロール部分である。このＵＳＢチップ２１３は、ＵＳＢ端子電圧等の監視や通信処理を行うものであり、ＯＳやアプリ等からのデータ通信を実現するものである。
【００５２】
また、２１４はレジストリで、ハードウェア構成やデバイスドライバ情報、アプリケーション情報など、ＰＣ１００のシステム及び制御に関わる情報が記録される外部メモリ２１１内に記憶されているファイルであり、ＰＣ１００にインストールされているＯＳやアプリケーションにより記録される。監視制御プログラム２１５が監視するデバイスの情報等もこのレジストリ２１４に記録されている。
【００５３】
以下、図３〜図５を参照して、本発明の第１実施形態における監視制御プログラムの基本的な処理について説明する。
【００５４】
上述したように、ＣＰＵ２０１により実行される監視制御プログラム２１５は、ＯＳと協働することでユーザがローカルポートに接続したプリンタ（本実施形態ではＵＳＢケーブルで接続したプリンタ）をこのシステムが定める条件に従って「通常使うプリンタに設定」し、そのプリンタの接続が切れると、このシステムが定める条件のプリンタを「通常使うプリンタに設定」する処理を実行する。その一例について、以下図３のフローチャートに従って各ステップについて監視制御プログラム２１５の動作を説明する。
【００５５】
図３は、本発明の印刷制御装置における第１の制御処理手順の一例を示すフローチャートであり、本発明の第１実施形態における監視制御プログラム（以下、監視制御手段２１５）の基本的な処理フローに対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１により外部メモリ２１１又はその他の記録媒体に格納されたプログラムに基づいて実行されるものである。また、図中のＳ８０１〜Ｓ８１４は各ステップを示す。
【００５６】
本実施形態では、まず監視制御手段２１５は起動されると、ステップＳ８０１において、監視状態のデータ初期化を行う。このデータを基にして、後述するローカルポートへデバイスが接続される（電源オンを含む）或いはデバイスが抜かれる（電源オフを含む）ことの監視動作を行う。
【００５７】
この監視状態の初期化動作では、監視制御手段２１５は、ＯＳがＰＣ１００の制御に用いる各種キー情報を格納しているレジストリ２１４の中からローカルポートに接続されているデバイスの情報を取得し、デバイスキー情報としてＲＡＭ２０３内に確保している記憶領域に保存する。図４にそのデバイスキー情報の内容を示す。
【００５８】
本実施形態では、ローカルポートをＵＳＢとして考えた場合を例にして説明する。監視制御手段２１５は、デバイスキー、各デバイスタイプ等をＷｉｎｄｏｗｓ（登録商標）ＡＰＩ等を用いて取得し、図４に示すように、デバイスキー５０１，デバイスタイプ５０２としてデバイスキー情報に格納する。レジストリ情報からはデバイスタイプ自体が取得できない場合もあり、その場合にはデバイス名称を取得しておく。ここで接続されているデバイスキーの数をカウントして同時にレジストリキー数５０３としてデバイスキー情報に格納しても良いが、デバイスキーの数は必要に応じてカウントすることも可能である。これらのレジストリ２１４内の情報は、監視制御手段２１５がＷｉｎｄｏｗｓ（登録商標）の場合Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩを用いて取得することが可能である。
【００５９】
さらに、ステップＳ８０１の監視状態の初期化動作において、監視制御手段２１５は、起動された時点でプリンタドライバがインストールされているプリンタのプリンタ名，デバイスドライバ名，ポート名等の情報（インストールプリンタ情報）を取得し、図５に示すように確保しているＲＡＭ２０３の領域内に、インストールプリンタ名６０１，デバイスドライバ名６０２，ポート名６０３として格納する。このインストールプリンタ情報は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩ（例えば、ＥｎｕｍＰｒｉｎｔｅｒｓ関数）を用いて取得することが可能である。監視制御手段２１５がこの関数を用いることで、ＯＳはレジストリ２１４に記載されている情報を取得して、監視制御手段２１５に対して既にプリンタドライバがインストールされているプリンタドライバ名等を通知する。
【００６０】
また、現在接続されているプリンタに関しては、対応するデバイスキーからポート名，プリンタドライバ名を取得し、対応するインストールプリンタ情報内のレジストリキー６０５として記憶しておく。
【００６１】
さらに、監視制御手段２１５は、この時点で「通常使うプリンタ」に設定されているプリンタ（デフォルトで使用するように設定されているプリンタ）の情報を、レジストリ２１４の情報から取得し、この情報もＲＡＭ２０３の領域内にデフォルトフラグ６０４として保存する。この時、「通常使うプリンタ」に設定されているプリンタのデフォルトフラグ６０４のみ「１」とし、その他のプリンタのデフォルトフラグ６０４は「０」とする。これにより、この時点でドライバがインストールされているプリンタのうちどのプリンタに対してデフォルトプリンタの設定がなされているかが判別できる。
【００６２】
次に、ステップＳ８０２において、監視制御手段２１５は、デバイスに変化があることを示すイベントがＯＳから発生されるまで待機する。なお、デバイスの接続（例えば、ＵＳＢの電源端子電圧が「０Ｖ」から「３．３Ｖ」になる）／切断（例えば、ＵＳＢの電源端子電圧が「３．３Ｖ」から「０Ｖ」になる）がＵＳＢチップ２１３を介してＯＳによって検出されると、例えば、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩのＷＭ＿ＤＥＶＩＣＥＣＨＡＮＧＥにイベントが入り、レジストリ２１４内のハードウェアに関する情報が格納されるレジストリにデバイスキーが増やされる。
【００６３】
監視制御手段２１５は、このイベントがＯＳから発生されたことを検知するまで待機し、このイベントを検知すると、ステップＳ８０３に進み、レジストリ２１４のキーの変化が「追加」であるか「削除」であるか判定する。即ち、監視制御手段２１５は、ＵＳＢのデバイスが追加接続（電源オンを含む）されたか或いは抜かれて（取り外されて）削除（電源オフを含む）されたかを、新たにレジストリ２１４からデバイスキー情報を取得し、該デバイスキー情報と、ステップＳ８０１で既にＲＡＭ２０３に保存しているデバイスキー情報（図４）と比較することで判断する。つまり、ここでは、ＵＳＢデバイスのデバイスキーが追加されたことを判定することで、新たなＵＳＢデバイスが追加接続されたと判断し、一方、ＵＳＢデバイスのデバイスキーが削除されたことを判定することで、ＵＳＢデバイスが取り外されたと判断する。
【００６４】
この判定は、監視制御手段２１５がこの時点でのレジストリ２１４内に存在するデバイスのキーの数をカウントして、既にＲＡＭ２０３に格納しているデバイスキー情報（図４）のデバイスキー数５０３と比較しても良いし（増加している場合には「追加」、一方、減少している場合には「削除」）、監視制御手段２１５がこの時点のレジストリ２１４情報を再度すべて取得してＲＡＭ２０３の別領域に保存してステップＳ８０１で格納した各デバイス情報（図４）と比較して差となるデバイスを判定しても良い。
【００６５】
そして、ステップＳ８０３で、ＵＳＢデバイスのデバイスキーが追加されたと判定した場合には、ステップＳ８０４に進み、監視制御手段２１５は追加されたデバイスのキー情報を、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩ等を用いてレジストリ２１４から取得しＲＡＭ２０３に格納してデバイスキー情報（図４）を更新するとともに、追加されたデバイスのキー情報をＲＡＭ２０３のワーク領域に格納しておく。なお、上述のステップＳ８０３において、ＵＳＢデバイスのレジストリ情報に変化がおきた時点のローカル接続のデバイスに関するレジストリ２１４の情報を一括ですべて取得して一時保存している場合には、ステップＳ８０３の時点で取得しているデータを用いてＲＡＭ２０３内のデバイスキー情報（図４）を追加更新しても良い。
【００６６】
次に、ステップＳ８０５において、監視制御手段２１５は、ステップＳ８０４においてＲＡＭ２０３に格納済みの追加されたデバイスキーの中の値を用いて接続されたデバイスがプリンタであるか否かを判別する。この判定手段による判定方法としては、例えば、ＰＣに接続されるハードウェアの状態に係わる情報が格納されるレジストリに作成されるキー情報に記載されるデバイスタイプ（プリンタ）を示す情報を用いることで判定できる。また、ＤｅｖｉｃｅＤｅｓｃに記載されるデバイス名称を用いることも可能である。一例では、このプリンタ名を認識するために、対象とする情報として予め外部メモリ２１１に不図示のプリンタ名情報一覧を格納しておき、それらと比較してプリンタであるか否かを判定することでも実現が可能である。
【００６７】
接続されたデバイスがプリンタでない或いは不明であると判定した場合には、ステップＳ８０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるまで待機する。
【００６８】
一方、ステップＳ８０５で、接続されたデバイスがプリンタであると判定した場合には、ステップＳ８０６において、追加されたデバイスキーの中の値を用いて所定の手順で、追加接続されたプリンタのデバイスドライバがインストール済みか否かを判定し、インストール済みでないと判定した場合には、本処理の対象から外し、ステップＳ８０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。なお、新たに接続されたプリンタのデバイスドライバがインストール済みでない場合にはＯＳ等の提供するインストーラまたはウィザードが起動することになる。インストール済みであるか否かは、デバイスが追加された際に作成されるレジストリのキー情報（例えば、ハードウェアキー）と、インストール済みのプリンタドライバに関する情報の格納されるレジストリのキー情報（ドライバのキーの値）のどれかが一致することで判定できる。ここで、インストール済みのプリンタドライバに関する情報はステップＳ８０１の初期化処理で取得しているので、このＲＡＭ２０３内の情報との一致を検出しても良い。この場合は、比較対象の一方の情報を予め取得しているので、新たに情報を取得する必要がないため処理を早めることが可能である。
【００６９】
ここで、ステップＳ８０５及びステップＳ８０６を順次別々に行っているが、処理としてはこれに限らない。ステップＳ８０６においてインストール済みのプリンタドライバに関するレジストリ内のキー情報にたどりついた時点で、プリンタであることが判定或いは認識でき且つインストール済みであることを判定或いは認識してプリンタドライバがインストールされている場合には後述の処理で通常使うプリンタとして設定することでも構わない。これは例えば、ハードウェアキーに設定される“Ｄｒｉｖｅｒ”の値と一致するドライバのキー情報に対するドライバがＲＡＭ２０３に格納される図５に示されるドライバ名と一致するか否かで判定するなどで実現できる。ただし、これに限らずハードウェアキーに対応するドライバキーが存在し、ドライバキーの作成されているレジストリの階層がローカルプリンタに対するものであることでもそれがプリンタドライバであると判定・認識するなど他の変形でも実現可能である。
【００７０】
変形例としては、ステップＳ８０５においてデバイスドライバがインストールされているか否かを判定しておき、ステップＳ８０６においてデバイスドライバがプリンタであるか否かを判定しても良い。
【００７１】
一方、ステップＳ８０６で、追加接続されたプリンタのデバイスドライバがインストール済みであると判定した場合には、該追加接続されたプリンタのポート名，プリンタドライバ名等を取得し、ＲＡＭ２０３内に格納されているインストールプリンタ情報（図５）と比較し、対応するインストールプリンタのデバイスキー６０５に追加接続されたプリンタのデバイスキーの情報を保存しておく。
【００７２】
ここで監視制御手段２１５は、取得したプリンタ名，プリンタドライバ名，ポート名をＲＡＭ２０３内のインストールプリンタ情報（図５）に保存しておく。なお、Ｗｉｎｄｏｗｓ（登録商標）等においては、１台のプリンタをインストールプリンタ名称の異なる複数のプリンタとして登録することが可能であるが、このように、対応するインストールプリンタが複数ある場合には、該複数の対応するインストールプリンタのデバイスキー６０５にそれぞれ追加接続されたプリンタのデバイスキーの情報を保存しておくものとする。
【００７３】
さらに、監視制御手段２１５は、追加接続されたプリンタのインストールプリンタ名（複数登録されている場合には全て）を識別可能にＲＡＭ２０３のワークエリアに保存しておく。
【００７４】
次に、ステップＳ８０７において、監視制御手段２１５は、追加接続されたプリンタが、「通常使うプリンタ」に設定となっているかどうかを、ＲＡＭ２０３に格納されているインストールプリンタ情報（図５）のデフォルトフラグ６０４から判断する。なお、この判定は、監視制御手段２１５はＷｉｎｄｏｗｓ（登録商標）ＡＰＩを用いて再取得して判別することも可能である。
【００７５】
ステップＳ８０７で、追加接続されたプリンタが、「通常使うプリンタ」に設定済みであると判定した場合には、ステップＳ８０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【００７６】
一方、ステップＳ８０７で、追加接続されたプリンタが、「通常使うプリンタ」に設定済みでないと判定した場合には、ステップＳ８０８に進み、追加接続されたプリンタに対して「通常使うプリンタ」に設定する処理を行う。即ち、監視制御手段２１５は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩのＳｅｔＤｅｆａｕｌｔＰｒｉｎｔｅｒ関数等を用いて通常使うプリンタに設定する。なお、上述したように追加接続された１台のプリンタが複数のプリンタとして登録されている場合には、そのいずれかを「通常使うプリンタ」として設定するものとする。
【００７７】
そして、ステップＳ８０９において、監視制御手段２１５は、新たにデフォルトプリンタにインストールプリンタのデフォルトフラグ６０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、それ以前にデフォルトプリンタに設定されていたインストールプリンタのデフォルトフラグ６０４には「前回の通常使うプリンタ」であることが分かる値、例えば「−１」とするように、ＲＡＭ２０３内の監視用データを更新する。
【００７８】
次に、ステップＳ８１０において、ユーザからの終了命令があるか否かを判定し、終了命令がないと判定した場合には、ステップＳ８０２に戻り、更新された監視状態データを元に監視を続ける。
【００７９】
一方、ステップＳ８１０で、ユーザからの終了命令があると判定した場合には、処理を終了する。
【００８０】
次に、ステップＳ８０３で、監視制御手段２１５が、新たに取得したレジストリ２１４の情報と、ＲＡＭ２０３に保存している情報を比較してキー情報が減少しており、デバイスが抜かれて、デバイスキーが削除されたと判定した場合の処理について説明する。
【００８１】
ステップＳ８０３で、ＵＳＢデバイスのデバイスキーが削除されたと判定した場合には、ステップＳ８１１に進み、監視制御手段２１５は削除されたデバイスのキー情報を取得する。この取得処理は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩ等を用いて変化が起きた時点でのデバイスキーをレジストリ２１４から取得し、予めＲＡＭ２０３に格納してデバイスキー情報（図４）と比較することにより、削除されたデバイスキーを取得することができる。即ち、ＲＡＭ２０３に格納されているデバイスキー情報（図４）と、変化がおきた時点でのデバイスキー情報との差を取ることで、削除されたデバイスキーを検出する。
【００８２】
次に、ステップＳ８１２において、削除されたキーがプリンタであるかを判定する。この判定も、ＲＡＭ２０３内に記録される変化前のデバイスキー情報（図４）から判定できるものである。
【００８３】
そしてステップＳ８１２で、削除されたキーがプリンタに対応するデバイスキーでないと判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新し、ステップＳ８０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【００８４】
一方、ステップＳ８１２で、削除されたキーがプリンタに対応するデバイスキーであると判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新するとともに、インストールプリンタ情報内のデバイスキー６０５（図５）を削除し、ステップＳ８１３に進む。
【００８５】
次に、ステップＳ８１３において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されているか否かを判断し、「通常使うプリンタ」に設定されていないと判断した場合には、ステップＳ８０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【００８６】
一方、ステップＳ８１３において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されていると判断した場合には、ステップＳ８１４に進み、監視制御手段２１５は、保存しておいた前回の設定に戻す処理を行う。即ち、監視制御手段２１５は、ＲＡＭ２０３に格納されているインストールプリンタ情報（図５）内のデフォルトフラグ６０４で、「前回の通常使うプリンタ」を示す値となっているインストールプリンタを「通常使うプリンタ」に設定する処理を行い、「通常使うプリンタ」に再設定されたインストールプリンタのデフォルトフラグ６０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、削除されたプリンタのデフォルトフラグ６０４には「前回の通常使うプリンタ」であることが分かる値、例えば「−１」とするように、ＲＡＭ２０３内の監視用データを更新する。なお、前回の設定が保存されていない場合には、そのままの設定とする。
【００８７】
そして、ステップＳ８１４の処理が終了すると、ステップＳ８１０に進む。
【００８８】
以上説明したように、本実施形態によれば、ＵＳＢ等の接続されるデバイスが何であるかが不明なローカルポートにプリンタが接続される（電源ＯＮを含む）と、該プリンタの接続を監視し、該接続されたプリンタにデバイスドライバがインストールされていた場合に、該プリンタを通常使うプリンタに自動的に設定することができ、またそのプリンタの接続が切断された（電源ＯＦＦを含む）ときに、前回通常使うプリンタに設定されていたプリンタを自動的に通常使うプリンタに設定でき、ＵＳＢのように接続されるデバイスが何であるかが不明なローカルポートを用いたシステムであっても、プリンタ切り替え操作の手間を省き、ユーザの使いかってを格段に向上することができる。
【００８９】
〔第２実施形態〕
上記第１実施形態では、新たにローカルポートにプリンタが接続され、且つ、該プリンタのデバイスドライバがインストールされている場合に、該接続されたプリンタをデフォルトプリンタに設定する構成について説明したが、新たにローカルポートにプリンタが接続され、且つ、該プリンタのデバイスドライバがインストールされている場合であって、さらに、該プリンタの能力が設定条件を満たしている場合に、該接続されたプリンタをデフォルトプリンタに設定するように構成してもよい。以下、図４，図６，図７を参照して、本発明の第２実施形態における監視制御プログラムの基本的な処理について説明する。基本的なハードの構成は上述した第１実施形態と同様である。
【００９０】
図６は、本発明の印刷制御装置における第２の制御処理手順の一例を示すフローチャートであり、本発明の第２実施形態における監視制御プログラム（以下、監視制御手段２１５）の基本的な処理フローに対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１により外部メモリ２１１又はその他の記録媒体に格納されたプログラムに基づいて実行されるものである。また、図中のＳ３０１〜Ｓ３１７は各ステップを示す。図中のステップＳ３０１〜ステップＳ３０７は、第１実施形態の図３におけるステップＳ８０１〜ステップＳ８０７と処理が同じであるため詳述を省略する。
【００９１】
本実施形態では、まず監視制御手段２１５は起動されると、ステップＳ３０１において、監視状態のデータ初期化を行う。このデータを基にして、後述するローカルポートへデバイスが接続される（電源オンを含む）或いはデバイスが抜かれる（電源オフを含む）ことの監視動作を行う。ここで第１実施形態のステップＳ８０１と異なるのは、図７に示すプリンタ能力９０５及び特殊フラグ９０６を追加の取得、格納を行うことである。ステップＳ３０１においてＲＡＭ２０３に作成される図７に関する他のデータ内容はそれぞれステップＳ８０１で作成された図４のデータ内容に相当する。
【００９２】
つまりステップＳ３０１において、監視制御手段２１５は、デバイスドライバがインストール済みである各プリンタの能力を、例えばＷｉｎｄｏｗｓ（登録商標）ＡＰＩのＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓ関数を使って取得し、各プリンタの能力をプリンタ能力９０６としてインストールプリンタ情報（図７）に格納する。
【００９３】
さらに、取得したプリンタ能力に基づいて、サポートしている用紙サイズに「Ａ１」以上の大きさのものがあるインストールプリンタに対して、他の処理の目安として特殊フラグ９０６に「１」を立てる。
【００９４】
ステップＳ３０２〜ステップＳ３０６の処理を終了後、ステップＳ３０７で、追加接続されたプリンタが、「通常使うプリンタ」に設定済みでないと判定した場合には、ステップＳ３０８に進み、監視制御手段２１５は、判別したプリンタからそのデバイスドライバがサポートしているプリンタ能力（例えば、最大用紙サイズ等）を取得する。この処理は、監視制御手段２１５がＷｉｎｄｏｗｓ（登録商標）ＡＰＩの関数にインストールプリンタ名とポート名を値として渡すことで実現するものである。そして、監視制御手段２１５は、取得した新たに追加されたプリンタに対する能力の情報も、ＲＡＭ２０３のインストールプリンタ情報（図７）のプリンタ能力９０５に格納する。
【００９５】
次に、ステップＳ３０９において、監視制御手段２１５は、新たに追加されたプリンタのサポートしているプリンタ能力（例えば、最大用紙サイズ等）を用いて通常使うプリンタに設定する条件に合っているか否かを判断する。例えば、新たに追加されたプリンタが、「Ａ１」以上の用紙サイズをサポートしている場合は、特殊なプリンタであって通常使うプリンタ設定を自動に設定してしまうと、ユーザが混乱すると共に設定を戻すための煩わしい操作が必要になるため、通常使うプリンタに設定する条件に合っていないと判断して、通常使うプリンタへの設定の処理は行わず、新たにデフォルトプリンタにインストールプリンタの特殊フラグ９０６を「通常使うプリンタ」の自動設定対象になる条件を満たしていないプリンタを示す値「１」とした後、ステップＳ３０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【００９６】
なお、監視制御手段２１５、プリンタの能力に関して、最大用紙サイズはＡ３でオフィス等で使われる平均的なプリンタである場合に、「通常使うプリンタ」の自動設定対象になる条件を満たしているものとして判断する。
【００９７】
一方、新たに追加されたプリンタのサポートする最大用紙サイズが「Ａ３」である場合は、平均的なプリンタである場合に、「通常使うプリンタ」の自動設定対象になる条件を満たしているものとして判断し、ステップＳ３１０に進み、追加接続されたプリンタに対して「通常使うプリンタ」に設定する処理を行う。即ち、監視制御手段２１５は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩのＳｅｔＤｅｆａｕｌｔＰｒｉｎｔｅｒ関数等を用いて通常使うプリンタに設定する。なお、上述したように追加接続された１台のプリンタが複数のプリンタとして登録されている場合には、そのいずれかを「通常使うプリンタ」として設定するものとする。
【００９８】
そして、ステップＳ３１１において、監視制御手段２１５は、新たにデフォルトプリンタにインストールプリンタのデフォルトフラグ９０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、それ以前にデフォルトプリンタに設定されていたインストールプリンタのデフォルトフラグ９０４には「前回の通常使うプリンタ」であることが分かる値、例えば「−１」とするように、ＲＡＭ２０３内の監視用データを更新する。
【００９９】
次に、ステップＳ３１２において、ユーザからの終了命令があるか否かを判定し、終了命令がないと判定した場合には、ステップＳ３０２に戻り、更新された監視状態データを元に監視を続ける。
【０１００】
一方、ステップＳ３１２で、ユーザからの終了命令があると判定した場合には、処理を終了する。
【０１０１】
次に、ステップＳ３０３で、監視制御手段２１５が、新たに取得したレジストリ２１４の情報と、ＲＡＭ２０３に保存している情報を比較してキー情報が減少しており、デバイスが抜かれて、デバイスキーが削除されたと判定した場合の処理について説明する。
【０１０２】
ステップＳ３０３で、ＵＳＢデバイスのデバイスキーが削除されたと判定した場合には、ステップＳ３１３に進み、監視制御手段２１５は削除されたデバイスのキー情報を取得する。この取得処理は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩ等を用いて変化が起きた時点でのデバイスキーをレジストリ２１４から取得し、予めＲＡＭ２０３に格納してデバイスキー情報（図４）と比較することにより、削除されたデバイスキーを取得することができる。即ち、ＲＡＭ２０３に格納されているデバイスキー情報（図４）と、変化がおきた時点でのデバイスキー情報との差を取ることで、削除されたデバイスキーを検出する。
【０１０３】
次に、ステップＳ３１４において、削除されたキーがプリンタであるかを判定する。この判定も、ＲＡＭ２０３内に記録される変化前のデバイスキー情報（図４）から判定できるものである。
【０１０４】
そしてステップＳ３１４で、削除されたキーがプリンタに対応するデバイスキーでないと判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新し、ステップＳ３０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【０１０５】
一方、ステップＳ３１４で、削除されたキーがプリンタに対応するデバイスキーであると判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新するとともに、インストールプリンタ情報内のデバイスキー９０７（図７）を削除し、ステップＳ３１５に進む。
【０１０６】
次に、ステップＳ３１５において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されているか否かをＲＡＭ２０３内のデフォルトフラグ９０４から判断し、「通常使うプリンタ」に設定されていないと判断した場合には、ステップＳ３０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【０１０７】
一方、ステップＳ３１５において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されていると判断した場合には、ステップＳ３１６に進み、監視制御手段２１５は、ＲＡＭ２０３に格納されたインストールプリンタ情報（図７）の特殊フラグ９０６を用いてどのプリンタを通常使うプリンタに設定するかを判断する。
【０１０８】
ステップＳ３１６において、前回通常使うプリンタだったプリンタの特殊フラグ９０６が「１」である場合、監視制御手段２１５は、前回通常使うプリンタだったプリンタに対し「通常使うプリンタに設定」とする処理は行わず、ステップＳ３０２に戻り、再度、監視状態となり、デバイスに変化がある旨のイベントが検出されるのまで待機する。
【０１０９】
一方、ステップＳ３１６で、前回通常使うプリンタだったプリンタの特殊フラグ９０６が「１」でない場合は、ステップＳ３１７に進み、監視制御手段２１５は、保存しておいた前回の設定に戻す処理を行う。即ち、監視制御手段２１５は、ＲＡＭ２０３に格納されているインストールプリンタ情報（図７）内のデフォルトフラグ９０４で、「前回の通常使うプリンタ」を示す値となっているインストールプリンタを「通常使うプリンタ」に設定する処理を行い、「通常使うプリンタ」に再設定されたインストールプリンタのデフォルトフラグ９０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、削除されたプリンタのデフォルトフラグ５０４には「前回の通常使うプリンタ」であることが分かる値、例えば「−１」とするように、ＲＡＭ２０３内の監視用データを更新する。
【０１１０】
そして、ステップＳ３１７の処理が終了すると、ステップＳ３１２に進む。
【０１１１】
なお、上記実施形態では、プリンタの能力が条件設定にあうかどうかを判定する場合、プリンタのサポートしている最大用紙サイズに基づいて判断する構成について示したが、プリンタの印字速度に基づいて判断してもよい。例えば、プリンタの印字速度が所定の閾値（例えば、Ａ４サイズで、１０枚／分）を越える場合には、通常使用するプリンタに設定する条件に合っていると判断し、一方、プリンタの印字速度が所定の閾値を越えない場合には、特殊なプリンタであり通常使用するプリンタに設定する条件に合っていないと判断するように構成してもよい。
【０１１２】
なお、監視制御手段２１５は、プリンタの能力に関して、最大用紙サイズはＡ３でオフィス等で使われる平均的なプリンタである場合に、「通常使うプリンタ」の自動設定対象になる条件を満たしているものとして判断する。
【０１１３】
また、図６のフローチャートでは、ステップＳ３１６で、前回通常使うプリンタであったプリンタの特殊フラグ９０６が「１」である場合（Ｓ３１６でＹＥＳの場合）、ステップＳ３０２に戻る構成（通常使うプリンタの設定を前回の設定に戻さずそのままとする構成）を示したが、ステップＳ３１６で、前回通常使うプリンタだったプリンタの特殊フラグ９０６が「１」である場合（Ｓ３１６でＹＥＳの場合）、監視制御手段２１５は、特殊フラグ９０６のないインストールプリンタを検索し、特殊フラグ９０６のないインストールプリンタがあった場合には、そのインストールプリンタを「通常使うプリンタに設定」するように構成してもよい。
【０１１４】
以上説明したように、本実施形態によれば、ＵＳＢ等の接続されるデバイスが何であるかが不明なローカルポートにプリンタが接続される（電源ＯＮを含む）と、該プリンタの接続を監視し、該接続されたプリンタを監視制御手段２１５が設定条件（最大用紙サイズ，印字速度等）を満たす場合のみ通常使うプリンタに自動的に設定することができ、最大用紙サイズがＡ１以上であったり、印字速度が極めて遅いような特殊なプリンタを接続しただけで、その特殊なプリンタがデフォルトプリンタに設定されてしまう等の不都合を防止することができる。
【０１１５】
また、プリンタの接続が切断された（電源ＯＦＦを含む）ときにも、前回通常使うプリンタに設定されていたプリンタを、上述の設定条件を満たす場合にのみ自動的に通常使うプリンタに戻すので、プリンタの接続を切断しただけで、その前の通常使うプリンタに設定されていたプリンタが特殊なプリンタであっても、強制的に、その特殊なプリンタを通常使うプリンタにしてしまうという等の不都合も防止し、ユーザの使い勝手を格段に向上することができる。
【０１１６】
〔第３実施形態〕
上記第２実施形態では、新たにローカルポートにプリンタが接続され、且つ、該プリンタのデバイスドライバがインストールされ、さらに、該プリンタの能力が設定条件を満たしている場合に、該接続されたプリンタをデフォルトプリンタに設定する構成について説明したが、新たにローカルポートにプリンタが接続され、且つ、該プリンタのデバイスドライバがインストールされ、さらに、該プリンタの使用頻度が所定の閾値を越えている場合に、該接続されたプリンタをデフォルトプリンタに設定するように構成してもよい。以下、図４，図５，図８，図９を参照して、本発明の第３実施形態における監視制御プログラムの基本的な処理について説明する。図中のステップＳ４０１、ステップＳ４０３〜ステップＳ４０７は、第１実施形態の図３におけるステップＳ８０１、ステップＳ８０３〜ステップＳ８０７と処理が同じであるため詳述を省略する。
【０１１７】
図８は、本発明の印刷制御装置における第３の制御処理手順の一例を示すフローチャートであり、本発明の第３実施形態における監視制御プログラム（以下、監視制御手段２１５）の基本的な処理フローに対応する。なお、このフローチャートの処理は、図２に示したＣＰＵ２０１により外部メモリ２１１又はその他の記録媒体に格納されたプログラムに基づいて実行されるものである。また、図中のＳ４０１〜Ｓ４１６は各ステップを示す。
【０１１８】
本実施形態では、まず監視制御手段２１５が起動されると、ステップＳ４０１において、監視状態のデータ初期化を行う。このデータを基にして、後述するローカルポートへデバイスが接続される（電源オンを含む）或いはデバイスが抜かれる（電源オフを含む）ことの監視動作を行う。
【０１１９】
次に、ステップＳ４０２において、監視制御手段２１５は、ＯＳのプリントマネージャのキューに印刷ジョブが追加されたことを示すイベント、又はデバイスに変化があることを示すイベントがＯＳから発生され、該イベントを検知するまで待機する。
【０１２０】
ＯＳのプリントマネージャのキューに印刷ジョブが追加されるとＷｉｎｄｏｗｓ（登録商標）ＡＰＩのＷＭ＿ＳＰＯＯＬＥＲＳＴＡＴＵＳにイベントが入ってくる。このイベントを検出して、監視制御手段２１５は印刷ジョブが送られたプリンタを特定する、或いは監視制御手段２１５は、プリンタと双方向に通信できる手段をもち、ＯＳのプリントマネージャのキューに印刷ジョブが追加されたことを示すイベントが発生したと判断した場合には、ステップＳ４１２進み、このタイミングでプリンタと双方向に通信して情報を取得し、どのプリンタからジョブが送られたのかを判断し、図９に示すように外部メモリ２１１内の記憶領域に、インストールプリンタ９０１の印刷回数９０２として保存し、ステップＳ４０２に戻り、再度、監視状態となり、所定のイベントが検出されるのまで待機する。
【０１２１】
また、デバイスの接続（例えば、ＵＳＢの電源端子電圧が「０Ｖ」から「３．３Ｖ」になる）／切断（例えば、ＵＳＢの電源端子電圧が「３．３Ｖ」から「０Ｖ」になる）がＵＳＢチップ２１３を介してＯＳによって検出されると、例えば、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩのＷＭ＿ＤＥＶＩＣＥＣＨＡＮＧＥにイベントが入り、レジストリ２１４内のハードウェアに関する情報が格納されるレジストリにデバイスキーが増やされる。
【０１２２】
監視制御手段２１５は、このデバイスに変化があることを示すイベントがＯＳから発生されたことを検知すると、ステップＳ４０３に進み、レジストリ２１４のキーの変化が「追加」であるか「削除」であるか判定する。即ち、監視制御手段２１５は、ＵＳＢのデバイスが追加接続（電源オンを含む）されたか或いは抜かれて（取り外されて）削除（電源オフを含む）されたかを、新たにレジストリ２１４からデバイスキー情報を取得し、該デバイスキー情報と、ステップＳ４０１で既にＲＡＭ２０３に保存しているデバイスキー情報（図４）と比較することで判断する。つまり、ここでは、ＵＳＢデバイスのデバイスキーが追加されたことを判定することで、新たなＵＳＢデバイスが追加接続されたと判断し、一方、ＵＳＢデバイスのデバイスキーが削除されたことを判定することで、ＵＳＢデバイスが取り外されたと判断する。
【０１２３】
この判定は、監視制御手段２１５がこの時点でのレジストリ２１４内に存在するデバイスのキーの数をカウントして、既にＲＡＭ２０３に格納しているデバイスキー情報（図４）のデバイスキー数５０３と比較しても良いし（増加している場合には「追加」、一方、減少している場合には「削除」）、監視制御手段２１５がこの時点のレジストリ２１４情報を再度すべて取得してＲＡＭ２０３の別領域に保存してステップＳ４０１で格納した各デバイスキー情報（図４）と比較して差となるデバイスを判定しても良い。
【０１２４】
そして、ステップＳ４０３〜ステップＳ４０７の処理を終了後に、ステップＳ４０７で、追加接続されたプリンタが、「通常使うプリンタ」に設定済みであると判定した場合には、ステップＳ４０２に戻り、再度、監視状態となり、上述した所定のイベントが検出されるまで待機する。
【０１２５】
一方、ステップＳ４０７で、追加接続されたプリンタが、「通常使うプリンタ」に設定済みでないと判定した場合には、ステップＳ４０８に進み、該接続されたプリンタの印刷回数が所定の印刷回数を越えているか否かを判断することで、使用頻度の高いプリンタであるか否かを判断し、使用頻度の高いプリンタでないと判断した場合には、ステップＳ４０２に戻り、再度、監視状態となり、上述した所定のイベントが検出されるのまで待機する。
【０１２６】
一方、ステップＳ４０８で、接続されたプリンタが使用頻度の高いプリンタであると判断した場合には、ステップＳ４０９に進み、追加接続されたプリンタに対して「通常使うプリンタ」に設定する処理を行う。即ち、監視制御手段２１５は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩのＳｅｔＤｅｆａｕｌｔＰｒｉｎｔｅｒ関数等を用いて通常使うプリンタに設定する。
【０１２７】
そして、ステップＳ４１０において、監視制御手段２１５は、新たにデフォルトプリンタにインストールプリンタのデフォルトフラグ６０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、それ以前にデフォルトプリンタに設定されていたインストールプリンタのデフォルトフラグ６０４を「０」とするように、ＲＡＭ２０３内の監視用データを更新する。
【０１２８】
次に、ステップＳ４１１において、ユーザからの終了命令があるか否かを判定し、終了命令がないと判定した場合には、ステップＳ４０２に戻り、再度、監視状態となり、上述した所定のイベントが検出されるのまで待機する。
【０１２９】
一方、ステップＳ４１１で、ユーザからの終了命令があると判定した場合には、処理を終了する。
【０１３０】
次に、ステップＳ４０３で、監視制御手段２１５が、新たに取得したレジストリ２１４の情報と、ＲＡＭ２０３に保存している情報を比較してキー情報が減少しており、デバイスが抜かれて、デバイスキーが削除されたと判定した場合の処理について説明する。
【０１３１】
ステップＳ４０３で、ＵＳＢデバイスのデバイスキーが削除されたと判定した場合には、ステップＳ４１３に進み、監視制御手段２１５は削除されたデバイスのキー情報を取得する。この取得処理は、Ｗｉｎｄｏｗｓ（登録商標）ＡＰＩ等を用いて変化が起きた時点でのデバイスキーをレジストリ２１４から取得し、予めＲＡＭ２０３に格納してデバイスキー情報（図４）と比較することにより、削除されたデバイスキーを取得することができる。即ち、ＲＡＭ２０３に格納されているデバイスキー情報（図４）と、変化がおきた時点でのデバイスキー情報との差を取ることで、削除されたデバイスキーを検出する。
【０１３２】
次に、ステップＳ４１４において、削除されたキーがプリンタであるかを判定する。この判定も、ＲＡＭ２０３内に記録される変化前のデバイスキー情報（図４）から判定できるものである。
【０１３３】
そしてステップＳ４１４で、削除されたキーがプリンタに対応するデバイスキーでないと判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新し、ステップＳ４０２に戻り、再度、監視状態となり、上述した所定のイベントが検出されるのまで待機する。
【０１３４】
一方、ステップＳ４１４で、削除されたキーがプリンタに対応するデバイスキーであると判定した場合には、ＲＡＭ２０３内に記録されているデバイスキー情報（図４）を更新するとともに、インストールプリンタ情報内のデバイスキー６０５（図５）を削除し、ステップＳ４１５に進む。
【０１３５】
次に、ステップＳ４１５において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されているか否かを判断し、「通常使うプリンタ」に設定されていないと判断した場合には、ステップＳ４０２に戻り、再度、監視状態となり、上述した所定のイベントが検出されるのまで待機する。
【０１３６】
一方、ステップＳ４１５において、監視制御手段２１５は、削除されたキーに対応していたプリンタが、「通常使うプリンタ」に設定されていると判断した場合には、ステップＳ４１６に進み、監視制御手段２１５は、印刷回数情報（図９）に基づいて、現在接続されているプリンタにおいてプリンタの印刷回数が所定の印刷回数を越えているプリンタ（使用頻度の高いプリンタ）を「通常使うプリンタ」に設定する処理を行い、「通常使うプリンタ」に再設定されたインストールプリンタのデフォルトフラグ６０４をデフォルトプリンタ（通常使うプリンタ）を示す値「１」とし、削除されたプリンタのデフォルトフラグ６０４を「０」とするように、ＲＡＭ２０３内の監視用データを更新する。なお、所定の印刷回数を越えているプリンタ（使用頻度の高いプリンタ）が存在しない場合には、そのままの設定とする。
【０１３７】
そして、ステップＳ４１６の処理が終了すると、ステップＳ４１１に進む。
【０１３８】
なお、本実施形態では、所定の印刷回数を越えているプリンタを、「使用頻度の高いプリンタ」と判断する構成について説明したが、印刷回数の最多のプリンタを「使用頻度の高いプリンタ」と判断するように構成してもよい。
【０１３９】
また、図８のフローチャートでは、監視制御手段２１５が、ステップＳ４０２において、ＯＳのプリントマネージャのキューに印刷ジョブが追加されたことを示すイベント、又はデバイスに変化があることを示すイベントの発生を検知し、ＯＳのプリントマネージャのキューに印刷ジョブが追加されたことを示すイベントを検知した場合、どのプリンタからジョブが送られたのかを判断してそのプリンタの印刷回数を更新する構成について説明したが、ＯＳのプリントマネージャのキューに印刷ジョブが追加されたことを示すイベントの検知と印刷回数の更新を行うプログラムを監視制御手段２１５以外に設け、監視制御手段２１５はステップＳ４０１で、外部メモリに記憶される印刷回数を取得し、その時点で最も印刷回数の多いプリンタを使用頻度の高いプリンタとして記憶しておき、この情報に基づいてステップＳ４０８，Ｓ４１６の処理を行うように構成してもよい。
【０１４０】
また、ステップＳ４０８の処理を省略し、プリンタ接続時には、該接続されたプリンタにデバイスドライバがインストールされていた場合に、該プリンタを通常使うプリンタに自動的に設定し、プリンタ切断時には、使用頻度の高いプリンタを通常使うプリンタに自動設定するように構成してもよい。
【０１４１】
以上説明したように、本実施形態によれば、ＵＳＢ等の接続されるデバイスが何であるかが不明なローカルポートへのプリンタの接続（電源ＯＮを含む）を検知すると、該接続されたプリンタを（該プリンタが使用頻度の高いプリンタである場合のみ）通常使うプリンタに自動的に設定することができ、使用頻度の低いプリンタを接続しただけで、その使用頻度の低いプリンタがデフォルトプリンタに設定されてしまう等の不都合を防止することができる。
【０１４２】
また、プリンタの接続が切断された（電源ＯＦＦを含む）ときにも、使用頻度の高いプリンタを自動的に通常使うプリンタに戻すので、プリンタの接続を切断しただけで、使用頻度の低いプリンタを強制的に通常使うプリンタにしてしまうという等の不都合も防止し、ユーザの使い勝手を格段に向上することができる。
【０１４３】
〔第４実施形態〕
上記第２実施形態と第３実施形態とを選択可能とした構成としてもよい。以下、この実施形態について説明する。基本的なハードの構成は上述した第１実施形態と同様である。
【０１４４】
この監視制御手段２１５は、使用するユーザに第２実施形態の処理（プリンタの能力が設定能力を満たしている場合のみ通常使用するプリンタに設定変更する処理）か第３実施形態の処理（使用頻度の高いプリンタのみ通常使用するプリンタに設定変更する処理）かを選択させる機能をもつ。即ち、ユーザが第２実施形態を選択した場合、所定の能力を保持するプリンタに対して特殊フラグ９０６に「１」を立て、一方、ユーザが実施形態３を選択した場合、最も使用頻度の高いプリンタに対してのみ特殊フラグ９０６を「０」とするとともに、その他のプリンタの特殊フラグに「１」を立てるように制御する。
【０１４５】
〔第５実施形態〕
上記第２実施形態と第３実施形態とを組み合わせた構成としてもよい。以下、この実施形態について説明する。基本的なハードの構成は上述した第１実施形態と同様である。
【０１４６】
この監視制御手段２１５は、使用するユーザに第２実施形態の処理（プリンタの能力が設定能力を満たしている場合のみ通常使用するプリンタに設定変更する処理）と第３実施形態の処理（使用頻度の高いプリンタのみ通常使用するプリンタに設定変更する処理）かを合わせた判断を行う機能をもつ。即ち、監視制御手段２１５が第２実施形態を処理した場合、所定の能力を保持するプリンタに対して特殊フラグ９０６に「１」を立て、つづいて実施形態３の特徴であるところのステップＳ４０８に係わる処理を実行して、最も使用頻度の高いプリンタを判定した際に該プリンタに対して特殊フラグ９０６にフラグ「１」があれば通常使うプリンタとして確定するように制御するものである。
【０１４７】
以上説明したように、ローカルポートに接続されたプリンタをこの監視制御手段２１５が、所定の条件（プリンタ能力，使用頻度等）によって通常使うプリンタに自動的に設定することができ、またそのプリンタの接続が切断されたときにも所定の条件（プリンタ能力，使用頻度等）に合うプリンタを通常使うプリンタに設定でき、操作者の使い勝手を格段に向上することができる。
【０１４８】
なお、図３のステップＳ８０２，図６のステップＳ３０１，図８のステップＳ４０２では、デバイスに変化があることを示すイベントが発生されたことを検知すると、次のステップに進み、レジストリ２１４の変化を判定するように監視する構成としたが、ポーリングによりレジストリ２１４の変化を管理するように構成してもよい。
【０１４９】
また、上記各実施形態におけるプリンタは、レーザビーム方式であっても、レーザビーム方式以外の電子写真方式（例えばＬＥＤ方式）でも、液晶シャッタ方式、インクジェット方式、熱転写方式、昇華方式でもその他のプリント方式であっても本発明は適用可能である。
【０１５０】
さらに、上記各実施形態では、ＯＳの一例としてＷｉｎｄｏｗｓ（登録商標）を用いて説明したが、これに限定されるものではなく、Ｗｉｎｄｏｗｓ（登録商標）以外のＯＳであっても、適用可能である。
【０１５１】
また、上記各実施形態では、ローカルポートをＵＳＢとして説明したが、これに限定されるものでもなく、
さらに、上記各実施形態及びその変形例のいずれか又は全てを組み合わせた構成も全て本発明に含まれるものである。
【０１５２】
以上、各実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５３】
以下、図１０に示すメモリマップを参照して本発明に係る印刷制御装置で読み出し可能なデータ処理プログラムの構成について説明する。
【０１５４】
図１０は、本発明に係る印刷制御装置で読み出し可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１５５】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５６】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１５７】
本実施形態における図３，図６，図８に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１５８】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１５９】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１６０】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６１】
プログラムを供給するための記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１６２】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１６３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１６７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１６８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１６９】
本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０１７０】
【発明の効果】
以上説明したように、本発明によれば、印刷装置を含む複数のデバイス機器と接続可能な印刷制御装置のローカルポートに印刷装置が接続されたことを検知した場合に、前記接続検知された印刷装置のデバイスドライバがインストールされているか否かを判定し、該デバイスドライバがインストールされていると判定した場合には、前記接続検知された印刷装置を印刷出力を行わせる印刷装置として設定するので、接続されるデバイス機器が何であるかが不明なローカルポートに印刷装置を接続する場合であっても、印刷装置の切り替え操作の手間を省き、ユーザの使い勝手を格段に向上することができる。
【０１７１】
また、前記ローカルポートから印刷装置が切断されたことが検知された場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定し、前記切断された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、前記印刷出力を行わせる印刷装置の設定を、印刷能力に応じて変更前の設定情報に再設定するので、ローカルポートから印刷装置を切断する場合にも、平均的な印刷能力の印刷装置を自動的に印刷出力する印刷装置に設定でき、特殊な印刷能力の印刷装置が、印刷出力を行わせる印刷装置に設定されてしまうことを防止することができる。
【０１７２】
さらに、前記ローカルポートから印刷装置が切断されたことを検知した場合に、該切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されているか否かを判定し、前記切断検知された印刷装置が印刷出力を行わせる印刷装置として設定されていると判定された場合には、印刷出力回数に応じて選択した印刷装置を、前記印刷出力を行わせる印刷装置に設定するので、ローカルポートから印刷装置を切断する場合にも、使用頻度が高い印刷装置を自動的に印刷出力する印刷装置に設定でき、使用頻度の低い特殊な印刷装置が、印刷出力を行わせる印刷装置に設定されてしまうことを防止することができる。
【０１７３】
従って、印刷装置を含む複数のデバイス機器と接続可能な印刷制御装置のローカルポートに印刷装置を接続／切断する場合であっても、印刷装置の接続／切断時の印刷装置の切り替え操作の手間を省き、ユーザの使い勝手を格段に向上することができる印刷装置自動選択環境を提供することが可能となる等の効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示す印刷制御装置を適用可能な印刷制御システムの構成を示す図である。
【図２】図１に示したＰＣのハードウェア構成を示すブロック図である。
【図３】本発明の印刷制御装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】図２に示したＲＡＭに記憶されるデバイスキー情報の一例を示す模式図である。
【図５】図２に示したＲＡＭに記憶されるインストールプリンタ情報の一例を示す模式図である。
【図６】本発明の印刷制御装置における第２の制御処理手順の一例を示すフローチャートである。
【図７】図２に示したＲＡＭに記憶されるデバイスキー情報の一例を示す模式図である。
【図８】本発明の印刷制御装置における第３の制御処理手順の一例を示すフローチャートである。
【図９】図２に示した外部メモリに記憶される印刷回数情報の一例を示す模式図である。
【図１０】本発明に係る印刷制御装置で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【符号の説明】
２０１  ＣＰＵ
２０３  ＲＡＭ
２０４  ＲＯＭ
２１１  外部メモリ
２１２  ローカルポート
２１３  ＵＳＢチップ
２１４  レジストリ
２１５  監視制御プログラム
【図１】
2005011054.tif 000003
【図２】
2005011054.tif 000004
【図３】
2005011054.tif 000005
【図４】
2005011054.tif 000006
【図５】
2005011054.tif 000007
【図６】
2005011054.tif 000008
【図７】
2005011054.tif 000009
【図８】
2005011054.tif 000010
【図９】
2005011054.tif 000011
【図１０】
2005011054.tif 000012