(57)【要約】【課題】共通プリンタドライバをユーザ権限で実行させても印刷ポートを設定できる印刷制御プログラムを提供する。【解決手段】プリンタの複数の機種で共通に用いられる共通プリンタドライバと監視プログラムとを備えて構成されており、共通プリンタドライバは、１以上のプリンタの中からいずれかのプリンタを選択する選択手段と、選択手段によって選択されたプリンタの通信ネットワーク上の所在を示す所在情報を設定情報に書き込む書き込み手段としてコンピュータを機能させ、監視プログラムは、設定情報を監視して所在情報の書き込みを検出する書き込み監視手段と、書き込み監視手段によって所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定手段としてコンピュータを機能させる。【選択図】図３
2011232938.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータで実行される印刷制御プログラムであって、
当該印刷制御プログラムは、プリンタの複数の機種で共通に用いられる共通プリンタドライバと監視プログラムとを備えて構成されており、
前記共通プリンタドライバは、
１以上の前記プリンタの中からいずれかのプリンタを選択する選択手段と、
前記選択手段によって選択されたプリンタの前記通信ネットワーク上の所在を示す所在情報を設定情報に書き込む書き込み手段として前記コンピュータを機能させ、
前記監視プログラムは、
前記設定情報を監視して前記所在情報の書き込みを検出する書き込み監視手段と、
前記書き込み監視手段によって前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定手段として前記コンピュータを機能させる、印刷制御プログラム。
【請求項２】
請求項１に記載の印刷制御プログラムであって、
前記書き込み手段は、前記選択手段によって選択されたプリンタの前記所在情報が既に前記設定情報に書き込まれている場合は、既に書き込まれている前記所在情報を削除して新たに書き込む、印刷制御プログラム。
【請求項３】
請求項１又は請求項２に記載の印刷制御プログラムであって、
前記共通プリンタドライバは、
前記設定情報から前記所在情報を削除する所在情報削除手段として前記コンピュータを機能させ、
前記監視プログラムは、
前記設定情報を監視して前記所在情報の削除を検出する削除監視手段と、
前記削除監視手段によって前記所在情報の削除が検出された場合に、当該削除された所在情報が設定されている前記印刷ポートを削除するポート削除手段として前記コンピュータを機能させる、印刷制御プログラム。
【請求項４】
請求項３に記載の印刷制御プログラムであって、
前記所在情報削除手段は、削除した前記所在情報を表わす削除情報を前記設定情報に書き込み、
前記ポート削除手段は、前記削除情報が表す前記所在情報が設定されている前記印刷ポートを削除する、印刷制御プログラム。
【請求項５】
請求項３又は請求項４に記載の印刷制御プログラムであって、
前記所在情報削除手段は、前記設定情報に前記所在情報が書き込まれている各前記プリンタについて印刷可能な状態であるか否かを判断し、印刷不可能な状態であると判断した前記プリンタの前記所在情報を前記設定情報から削除する、印刷制御プログラム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の印刷制御プログラムであって、
前記コンピュータは表示装置を備え、
前記書き込み手段は、前記選択手段によって選択されたプリンタが備える印刷機能を表わす印刷機能情報を当該プリンタから取得し、前記所在情報と前記印刷機能情報とを対応付けて前記設定情報に書き込み、
前記選択手段は、前記通信ネットワークに接続されている１以上の前記プリンタをそのプリンタの前記印刷機能情報とともに前記表示装置に表示してユーザにプリンタを選択させるものであり、この表示において、前記所在情報が前記設定情報に書き込まれているプリンタの場合は前記設定情報から前記印刷機能情報を読み込んで表示し、前記所在情報が前記設定情報に書き込まれていないプリンタの場合はそのプリンタから前記印刷機能情報を取得して表示する、印刷制御プログラム。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載の印刷制御プログラムであって、
前記コンピュータは表示装置を備え、
前記共通プリンタドライバは、
印刷条件を設定するための設定画面を前記表示装置に表示してユーザに印刷条件を設定させる印刷条件設定手段として前記コンピュータを機能させ、
前記書き込み手段は、前記選択手段によって選択されたプリンタの前記所在情報と前記設定手段で設定された印刷条件とを対応付けて前記設定情報に書き込み、
前記印刷条件設定手段は、前記選択されたプリンタに対する次回の印刷条件の設定において、当該プリンタの前記所在情報に対応付けられて前記設定情報に書き込まれている印刷条件を前記設定画面に初期値として表示する、印刷制御プログラム。
【請求項８】
通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータを、
前記プリンタの前記通信ネットワーク上の所在を示す所在情報が書き込まれる設定情報を監視して前記所在情報の書き込みを検出する書き込み監視手段と、
前記書き込み監視手段によって前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定手段として機能させる監視プログラム。
【請求項９】
通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータを用いた印刷制御方法であって、
１以上の前記プリンタの中からいずれか１つのプリンタを選択するプリンタ選択段階と、
前記プリンタ選択段階で選択されたプリンタの前記通信ネットワーク上の所在を示す所在情報を設定情報に書き込む書き込み段階と、
前記設定情報を監視して前記所在情報の書き込みを検出する書き込み監視段階と、
前記書き込み監視段階において前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定段階と、
を含む印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御プログラム、監視プログラム、及び印刷制御方法に関する。
【背景技術】
【０００２】
従来、プリンタの複数の機種で共通に用いられるプリンタドライバである共通プリンタドライバが知られている（例えば、特許文献１参照）。共通プリンタドライバでは、ユーザによって選択されたプリンタのＩＰアドレスが設定されている論理的な印刷ポート（例えばＴＣＰ／ＩＰポート）を「使用する印刷ポート」として設定し、その印刷ポートを用いて印刷を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３０１１２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、共通プリンタドライバ自体はユーザ権限で実行されることが可能であるが、一般に印刷ポートの設定はユーザ権限では行えない。この場合、ユーザに管理者権限を与えれば共通プリンタドライバから印刷ポートを設定できるが、ユーザに管理者権限を与えることは管理上望ましくない。
従来はこのような共通プリンタドライバをユーザ権限で実行させる場合の印刷ポートの設定の問題について十分に検討されていなかった。
【０００５】
本発明は上記のような事情に基づいて完成されたものであって、共通プリンタドライバをユーザ権限で実行させても印刷ポートを設定できる印刷制御プログラム、監視プログラム、及び印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータで実行される印刷制御プログラムであって、当該印刷制御プログラムは、プリンタの複数の機種で共通に用いられる共通プリンタドライバと監視プログラムとを備えて構成されており、前記共通プリンタドライバは、１以上の前記プリンタの中からいずれかのプリンタを選択する選択手段と、前記選択手段によって選択されたプリンタの前記通信ネットワーク上の所在を示す所在情報を設定情報に書き込む書き込み手段として前記コンピュータを機能させ、前記監視プログラムは、前記設定情報を監視して前記所在情報の書き込みを検出する書き込み監視手段と、前記書き込み監視手段によって前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定手段として前記コンピュータを機能させる。
【０００７】
この発明は、共通プリンタドライバがユーザ権限で実行され、監視プログラムがシステム権限で実行されていて、ユーザの権限に関わらず監視プログラムを実行できることを前提にしている。
この発明によると、共通プリンタドライバが設定情報に所在情報を書き込むと、書き込んだ所在情報が設定されている論理的な印刷ポートが監視プログラムによって「使用する印刷ポート」として設定されるので、共通プリンタドライバは選択されたプリンタの所在情報を設定情報に書き込むことにより、ユーザ権限で実行されても印刷ポートを設定できる。
【０００８】
第２の発明は、第１の発明の印刷制御プログラムであって、前記書き込み手段は、前記選択手段によって選択されたプリンタの前記所在情報が既に前記設定情報に書き込まれている場合は、既に書き込まれている前記所在情報を削除して新たに書き込む。
この発明によると、選択されたプリンタの所在情報が既に設定情報に書き込まれている場合は、その所在情報を削除して新たに書き込むことにより、設定情報に所在情報が書き込まれたことを監視手段に検出させる。そのため、既に設定情報に所在情報が書き込まれているプリンタが再度選択されてもそのプリンタの所在情報が設定されている印刷ポートを「使用する印刷ポート」として設定できる。
【０００９】
第３の発明は、第１又は第２の発明の印刷制御プログラムであって、前記共通プリンタドライバは、前記設定情報から前記所在情報を削除する所在情報削除手段として前記コンピュータを機能させ、前記監視プログラムは、前記設定情報を監視して前記所在情報の削除を検出する削除監視手段と、前記削除監視手段によって前記所在情報の削除が検出された場合に、当該削除された所在情報が設定されている前記印刷ポートを削除するポート削除手段として前記コンピュータを機能させる。
この発明によると、共通プリンタドライバは設定情報から所在情報を削除することにより、ユーザ権限で実行されても印刷ポートを削除できる。
【００１０】
第４の発明は、第３の発明の印刷制御プログラムであって、前記所在情報削除手段は、削除した前記所在情報を表わす削除情報を前記設定情報に書き込み、前記ポート削除手段は、前記削除情報が表す前記所在情報が設定されている前記印刷ポートを削除する。
この発明によると、削除した所在情報を表わす削除情報を設定情報に書き込むことにより、ポート削除手段はどの所在情報が削除されたかを知ることができる。
【００１１】
第５の発明は、第３又は第４の発明の印刷制御プログラムであって、前記所在情報削除手段は、前記設定情報に前記所在情報が書き込まれている各前記プリンタについて印刷可能な状態であるか否かを判断し、印刷不可能な状態であると判断した前記プリンタの前記所在情報を前記設定情報から削除する。
この発明によると、印刷不可能なプリンタの所在情報が設定されている印刷ポートを削除することにより、無用な印刷ポートが残ってしまわないようにすることができる。
【００１２】
第６の発明は、第１〜第５のいずれかの発明の印刷制御プログラムであって、前記コンピュータは表示装置を備え、前記書き込み手段は、前記選択手段によって選択されたプリンタが備える印刷機能を表わす印刷機能情報を当該プリンタから取得し、前記所在情報と前記印刷機能情報とを対応付けて前記設定情報に書き込み、前記選択手段は、前記通信ネットワークに接続されている１以上の前記プリンタをそのプリンタの前記印刷機能情報とともに前記表示装置に表示してユーザにプリンタを選択させるものであり、この表示において、前記所在情報が前記設定情報に書き込まれているプリンタの場合は前記設定情報から前記印刷機能情報を読み込んで表示し、前記所在情報が前記設定情報に書き込まれていないプリンタの場合はそのプリンタから前記印刷機能情報を取得して表示する。
この発明によると、所在情報と印刷機能情報とを対応付けて設定情報に書き込み、それらを表示装置に表示することにより、ユーザが自身の目的に応じたプリンタを選択し易くなる。
【００１３】
第７の発明は、第１〜第６のいずれかの発明の印刷制御プログラムであって、前記コンピュータは表示装置を備え、前記共通プリンタドライバは、印刷条件を設定するための設定画面を前記表示装置に表示してユーザに印刷条件を設定させる印刷条件設定手段として前記コンピュータを機能させ、前記書き込み手段は、前記選択手段によって選択されたプリンタの前記所在情報と前記設定手段で設定された印刷条件とを対応付けて前記設定情報に書き込み、前記印刷条件設定手段は、前記選択されたプリンタに対する次回の印刷条件の設定において、当該プリンタの前記所在情報に対応付けられて前記設定情報に書き込まれている印刷条件を前記設定画面に初期値として表示する。
この発明によると、前回設定した印刷条件を初期値として表示することにより、次回の印刷において前回と同様の印刷条件を設定する場合に設定の手間を低減できる。
【００１４】
第８の発明は、監視プログラムであって、通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータを、前記プリンタの前記通信ネットワーク上の所在を示す所在情報が書き込まれる設定情報を監視して前記所在情報の書き込みを検出する書き込み監視手段と、前記書き込み監視手段によって前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定手段として機能させる。
この発明によると、共通プリンタドライバは選択されたプリンタの所在情報を設定情報に書き込むことにより、ユーザ権限で実行されても印刷ポートを設定できる。
【００１５】
第９の発明は、通信ネットワークを介して１以上のプリンタと通信可能に接続されているコンピュータを用いた印刷制御方法であって、１以上の前記プリンタの中からいずれか１つのプリンタを選択するプリンタ選択段階と、前記プリンタ選択段階で選択されたプリンタの前記通信ネットワーク上の所在を示す所在情報を設定情報に書き込む書き込み段階と、前記設定情報を監視して前記所在情報の書き込みを検出する書き込み監視段階と、前記書き込み監視段階において前記所在情報の書き込みが検出された場合に、当該書き込まれた所在情報が設定されている論理的な印刷ポートを、使用する印刷ポートとして設定するポート設定段階と、を含む。
この発明によると、共通プリンタドライバは選択されたプリンタの所在情報を設定情報に書き込むことにより、ユーザ権限で実行されても印刷ポートを設定できる。
【発明の効果】
【００１６】
本発明によれば、共通プリンタドライバをユーザ権限で実行させても印刷ポートを設定できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１に係るコンピュータのブロック図。
【図２】印刷ポートの設定を説明するための模式図。
【図３】印刷制御プログラムの論理的構成を示すブロック図。
【図４】ＴＣＰ／ＩＰポートを追加する処理の流れを示すフローチャート。
【図５】ＴＣＰ／ＩＰポートを削除する処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１８】
＜実施形態１＞
本発明の実施形態１を図１ないし図５によって説明する。
（１）コンピュータの構成
図１は、本発明の実施形態１に係るコンピュータの電気的構成を示すブロック図である。コンピュータ１（以下「ＰＣ」という）は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、記憶部１４、ディスプレイ駆動回路１５、ＵＳＢインタフェース（ＵＳＢ  Ｉ／Ｆ）１６、ネットワークインタフェース（ＮＷ  Ｉ／Ｆ）１７などを備えて構成されている。
【００１９】
ＣＰＵ１１（選択手段、書き込み手段、監視手段、ポート設定手段、所在情報削除手段、削除監視手段、ポート削除手段、印刷条件設定手段の一例）は、ＲＯＭ１２や記憶部１４に記憶されている各種のプログラムを実行することによってＰＣ１の各部を制御する。ＲＯＭ１２にはＣＰＵ１１によって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ１３はＣＰＵ１１が各種の処理を実行するための主記憶装置として用いられる。
【００２０】
記憶部１４は、ハードディスクやフラッシュメモリなどの不揮発性の記憶媒体を用いて各種のプログラムやデータを記憶する外部記憶装置である。記憶部１４には、オペレーティングシステム（ＯＳ）、アプリケーションプログラム（以下「アプリケーション」という）、印刷制御プログラム、ＩＮＩファイル（設定情報の一例）などが記憶されている。本実施形態ではＯＳとしてＭｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ（登録商標）を例に説明する。なお、ＯＳはＷＩＮＤＯＷＳ（登録商標）に限られるものではない。
【００２１】
ディスプレイ駆動回路１５（選択手段の一例）は、表示装置１８（ＣＲＴ、液晶ディスプレイなど）を駆動する回路であり、ケーブルを介して表示装置１８と接続されている。
【００２２】
ＵＳＢインタフェース１６（選択手段の一例）は例えばＵＳＢ（Universal Serial Bus）ホストインタフェースとして構成されており、ＵＳＢケーブルを介して入力装置１９（マウス、キーボードなど）などの機器と接続される。
ネットワークインタフェース１７はＬＡＮやインターネットなどの通信ネットワーク３を介して１以上のプリンタ２と通信可能に接続されている。
【００２３】
プリンタ２（２ａ〜２ｄ）は、紙などの被記録媒体に電子写真方式、インクジェット方式などで画像を形成する装置である。複数のプリンタ２は異なるメーカーのものであったり、同一メーカーの互いに異なる機種であったりする。
【００２４】
（２）印刷ポートの設定
図２は、印刷制御プログラム５０による印刷ポートの設定を説明するための模式図である。ここでは印刷ポートとしてＴＣＰ／ＩＰポートを例に説明する。ＴＣＰ／ＩＰポートはＴＣＰ／ＩＰネットワークを介してプリンタと通信するための論理的な通信ポートである。なお、ＴＣＰ／ＩＰポートはＷＩＮＤＯＷＳでは標準ＴＣＰ／ＩＰポートと呼ばれている。
【００２５】
印刷ポートの設定はポートモニタ４４を介して行われる。ポートモニタ４４はＷＩＮＤＯＷＳの一部として提供されるプログラムであり、管理者権限を有するユーザによって実行されるプログラム以外からの命令は受け付けないプログラムである。
【００２６】
ポートモニタ４４は、印刷制御プログラム５０からポート追加命令を受けると、そのポート追加命令で指定されているＩＰアドレス（通信ネットワーク３上の所在を示す所在情報の一例）が設定されているＴＣＰ／ＩＰポート４５を追加する。
また、ポートモニタ４４はＩＰアドレスが異なる複数のＴＣＰ／ＩＰポート４５を追加することができ、印刷制御プログラム５０からのポート切替命令を受けていずれかのＴＣＰ／ＩＰポート４５を有効にする。
【００２７】
いずれかのＴＣＰ／ＩＰポート４５が有効な状態で印刷制御プログラム５０からプリントスプーラ４３に印刷データが出力されると、ポートモニタ４４によってその印刷データが取得され、有効なＴＣＰ／ＩＰポート４５（「使用する印刷ポート」の一例）に出力される。
【００２８】
また、ポートモニタ４４は印刷制御プログラム５０からポート削除命令を受けると、そのポート削除命令で指定されているＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を削除する。
【００２９】
（３）印刷制御プログラムの論理的構成
図３は、印刷制御プログラム５０の論理的構成を示すブロック図である。印刷制御プログラム５０は、共通プリンタドライバ５１と、監視プログラム５２と、ＩＮＩファイル５３とを備えて構成されている。
【００３０】
（３−１）共通プリンタドライバ
共通プリンタドライバ５１は機種の異なる複数のプリンタ２で共通に用いられるプリンタドライバである。共通プリンタドライバ５１はユーザ権限で実行されるプログラムであり、前述したようにポートモニタ４４は管理者権限を有するユーザによって実行されるプログラム以外からの命令は受け付けないので、共通プリンタドライバ５１から直接ポートモニタ４４にポートの追加や削除を行わせることはできない。
【００３１】
共通プリンタドライバ５１は、プリンタ選択モジュール５１ａ、印刷条件設定モジュール５１ｂ、印刷データ生成モジュール５１ｃ、書き込みモジュール５１ｄ、所在情報削除モジュール５１ｅなどを備えて構成されている。
【００３２】
プリンタ選択モジュール５１ａは、ＰＣ１と同じサブネットに接続されているプリンタ２を検索し、検索した１以上のプリンタ２の中からいずれか１つのプリンタ２をユーザに選択させるためのモジュールである。
具体的には例えば、プリンタ選択モジュール５１ａはユーザがプリンタ２を選択するための図示しないプリンタ選択画面を表示装置１８に表示し、検索したプリンタ２のプリンタ名をプリンタ選択画面に一覧表示する。また、プリンタ選択モジュール５１ａは検索したプリンタ２が備える印刷機能を表わす印刷機能情報がＩＮＩファイル５３に書き込まれている場合はＩＮＩファイル５３からその印刷機能情報を読み出し、一方、ＩＮＩファイル５３に書き込まれていない場合はプリンタ２からそのプリンタ２の印刷機能情報を取得してプリンタ名とともにプリンタ選択画面に表示する。
【００３３】
印刷条件設定モジュール５１ｂはプリンタ選択モジュール５１ａから呼び出されるモジュールであり、ユーザが印刷条件を設定するための図示しない印刷条件設定画面（設定画面の一例）を表示装置１８に表示する。同一メーカーのプリンタ２であっても機種によって印刷機能が異なるので、印刷条件設定画面で設定可能な印刷条件も機種によって異なる。印刷条件設定モジュール５１ｂは選択されたプリンタ２の印刷機能情報をＩＮＩファイル５３から読み出し、そのプリンタ２が備える印刷機能に対する印刷条件のみを設定可能に印刷条件設定画面を表示する。
【００３４】
印刷データ生成モジュール５１ｃは、アプリケーション４１から出力された印刷命令と、印刷条件設定モジュール５１ｂで設定された印刷条件とに基づいて印刷データを生成するモジュールである。
より具体的には、図２に示すようにアプリケーション４１はＧＤＩ４２に印刷命令（ＧＤＩ命令）を出力し、ＧＤＩ４２はその印刷命令を描画命令（ＤＤＩ命令）に変換して共通プリンタドライバ５１に出力する。印刷データ生成モジュール５１ｃはその描画命令と印刷条件とに基づいて印刷データを生成する。
【００３５】
書き込みモジュール５１ｄは、プリンタ選択モジュール５１ａで選択されたプリンタ２のＩＰアドレスと、そのプリンタ２の印刷機能情報とを対応付けてＩＮＩファイル５３に書き込むモジュールである。
【００３６】
所在情報削除モジュール５１ｅは、ＩＮＩファイル５３にＩＰアドレスが書き込まれている各プリンタ２が現在印刷可能な状態であるか否かを判断し、印刷不可能な状態であると判断したプリンタ２のＩＰアドレスをＩＮＩファイル５３から削除するとともに、削除したＩＰアドレスを示す削除情報をＩＮＩファイル５３に書き込むモジュールである。
【００３７】
所在情報削除モジュール５１ｅは例えばアプリケーション４１からプリンタ選択モジュール５１ａが呼び出された直後に実行され、プリンタ選択モジュール５１ａは所在情報削除モジュール５１ｅによって印刷可能な状態であると判断されたプリンタ２のみをプリンタ選択画面に一覧表示する。
プリンタ２が現在印刷可能な状態であるか否かは、例えばプリンタ２との通信が可能な状態であれば印刷可能な状態であると判断してもよいし、通信が可能な状態であり、且つプリンタ２にセットされているインクや被記録媒体の残量が所定量以上であれば印刷可能な状態であると判断してもよい。
【００３８】
（３−２）監視プログラム
監視プログラム５２はＷｉｎｄｏｗｓサービスと呼ばれる常駐プログラムとして実行されるプログラムであり、ＩＮＩファイル５３を監視してポートモニタ４４にポートの追加や削除を行わせる。監視プログラム５２はシステム権限で実行されるプログラムであるため、ユーザの権限に関わらずポートモニタ４４にポートの追加や削除を行わせることができる。
【００３９】
監視プログラム５２は、監視モジュール５２ａ、ポート設定モジュール５２ｂ、ポート削除モジュール５２ｃなどを備えて構成されている。
監視モジュール５２ａは、ＩＮＩファイル５３を常時監視してＩＮＩファイル５３へのＩＰアドレスの書き込みやＩＮＩファイル５３からのＩＰアドレスの削除を検出するモジュールである。
【００４０】
ポート設定モジュール５２ｂは、監視モジュール５２ａによってＩＮＩファイル５３へのＩＰアドレスの書き込みが検出された場合に、ＩＮＩファイル５３に書き込まれたＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を「使用する印刷ポート」として設定するモジュールである。
具体的には、ポート設定モジュール５２ｂはＩＮＩファイル５３に書き込まれたＩＰアドレスを指定してポートモニタ４４にポート追加命令を出力し、追加したＴＣＰ／ＩＰポート４５を有効にするためのポート切替命令をポートモニタ４４に出力する。
【００４１】
ポート削除モジュール５２ｃは、監視モジュール５２ａによってＩＮＩファイル５３からのＩＰアドレスの削除が検出された場合に、ＩＮＩファイル５３から削除されたＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を削除するモジュールである。
具体的には、ポート削除モジュール５２ｃはＩＮＩファイル５３から削除されたＩＰアドレスを指定してポートモニタ４４にポート削除命令を出力する。
【００４２】
（３−３）ＩＮＩファイル
ＩＮＩファイル５３はＷＩＮＤＯＷＳにおいて各種の設定に用いられるＩＮＩファイル形式で記述されている。ＩＮＩファイルの基本構成は次の通りである。
[セクション名]
キー＝値
［セクション名］はＩＮＩファイル内を複数のセクションに区切る行であり、セクション名にはそのセクションのタイトルとなる文字列が記述される。「キー」には設定項目の項目名が記述され、「値」には「キー」に記述されている設定項目に設定する設定値が記述される。
【００４３】
図示する例のＩＮＩファイル５３には［Ｃｏｍｍｏｎ］セクションと［IP_XXX.XXX.XXX.XXX］セクションとが記述されている。
［IP_XXX.XXX.XXX.XXX］セクションは書き込みモジュール５１ｄによって書き込まれるセクションであり、XXX.XXX.XXX.XXX部分には選択されたプリンタ２のＩＰアドレスが記述される。設定項目にはそのＩＰアドレスが付与されているプリンタ２が備える印刷機能を表わす印刷機能情報が記述される。
【００４４】
「Ｍｏｄｅｌ」、「Ｃｏｌｏｒ」、及び「Ｄｕｐｌｅｘ」は印刷機能情報の一例である。「Ｍｏｄｅｌ」にはプリンタ２のモデル名が記述される。「Ｃｏｌｏｒ」にはプリンタ２がカラー印刷に対応しているか否かを示す値が１（カラー印刷に対応している）、又は０（カラー印刷に対応していない）で記述される。「Ｄｕｐｌｅｘ」にはプリンタ２が両面印刷に対応しているか否かを示す値が１（両面印刷に対応している）、又は０（両面印刷に対応していない）で記述される。
【００４５】
ＩＮＩファイル５３には複数の［IP_XXX.XXX.XXX.XXX］セクションを記述することができる。書き込みモジュール５１ｄは選択されたプリンタ２についての［IP_XXX.XXX.XXX.XXX］セクションをＩＮＩファイル５３の一番最後に記述する。選択されたプリンタ２の［IP_XXX.XXX.XXX.XXX］セクションを一番最後に記述することにより、監視プログラム５２は複数の［IP_XXX.XXX.XXX.XXX］セクションがあっても直近に選択されたプリンタ２を知ることができる。
【００４６】
また、既に［IP_XXX.XXX.XXX.XXX］セクションが記述されているプリンタ２が再度選択された場合は、書き込みモジュール５１ｄは既に記述されている［IP_XXX.XXX.XXX.XXX］セクションを削除し、そのプリンタ２の［IP_XXX.XXX.XXX.XXX］セクションをＩＮＩファイル５３の一番最後に記述し直す。これにより、監視プログラム５２は直近に選択されたプリンタ２を知ることができる。
【００４７】
［Ｃｏｍｍｏｎ］セクションは所在情報削除モジュール５１ｅによって削除情報が記述されるセクションである。［Ｃｏｍｍｏｎ］セクションには「Ｄｅｌｅｔｅｄ」と「ＤｅｌｅｔｅｄＩＰ」という設定項目が記述される。
「Ｄｅｌｅｔｅｄ」にはＩＮＩファイル５３からＩＰアドレスが削除されたか否かが１（削除された）、又は０（削除されていない）で記述される。「Ｄｅｌｅｔｅｄ」には初期値として０が設定されている。「ＤｅｌｅｔｅｄＩＰ」は削除されたＩＰアドレスが記述される項目である。印刷不可能なプリンタ２が複数ある場合はその数だけ「ＤｅｌｅｔｅｄＩＰ」が記述される。
【００４８】
（４）印刷ポートの設定の流れ
次に、ＴＣＰ／ＩＰポート４５の設定の流れについて説明する。ここでは理解を容易にするためＴＣＰ／ＩＰポート４５の追加と削除とを別々に説明する。
【００４９】
（４−１）印刷ポートの追加の流れ
図４は、ＴＣＰ／ＩＰポート４５の追加の流れを示すシーケンスチャートである。本処理はユーザがアプリケーション４１から共通プリンタドライバ５１のプリンタ選択モジュール５１ａを呼び出すと開始される。
ここで、監視プログラム５２はＰＣ１が起動されたときに自動で起動されており、常に一定時間間隔でＩＮＩファイル５３を監視しているものとする。
【００５０】
Ｓ１０１及びＳ１０４は、監視プログラム５２がＩＮＩファイル５３を監視するステップである。監視プログラム５２は一定時間間隔（例えば１秒間隔）でＯＳからＩＮＩファイル５３の最終更新日時（年月日時分秒）を取得し、前回取得した最終更新日時から変化がなければ一定時間が経過した後に再び最終更新日時を取得する。ここではＳ１０１とＳ１０４との間でユーザがプリンタ２を選択し、Ｓ１０４で監視プログラム５２により最終更新日時の変化が検出される場合を例に説明する。
【００５１】
Ｓ１０２では、ユーザは共通プリンタドライバ５１によって表示されるプリンタ選択画面でプリンタ２を選択する。また、必要であればユーザはプリンタ選択画面から印刷条件設定画面を呼び出して印刷条件を設定する。
Ｓ１０３では、共通プリンタドライバ５１はＳ１０２で選択されたプリンタ２のＩＰアドレスをＩＮＩファイル５３に書き込む。ＩＮＩファイル５３を保存するとＯＳによってＩＮＩファイル５３の最終更新日時が更新される。
【００５２】
Ｓ１０４では、監視プログラム５２は前回の最終更新日時の取得から一定時間が経過したタイミングでＯＳから最終更新日時を取得する。Ｓ１０３で最終更新日時が更新されているので、Ｓ１０４では監視プログラム５２によって最終更新日時の変化が検出される。監視プログラム５２は最終更新日時の変化を検出した場合はＳ１０５以降の処理を実行する。
【００５３】
Ｓ１０５では、監視プログラム５２はＩＮＩファイル５３の一番最後に記述されている［IP_XXX.XXX.XXX.XXX］セクションからプリンタ２のＩＰアドレスを読み込む。
【００５４】
Ｓ１０６では、監視プログラム５２はポートモニタ４４が提供するＡＰＩを呼び出し、Ｓ１０５で読み込んだＩＰアドレスを指定してポートモニタ４４にポート追加命令を出力する。
【００５５】
Ｓ１０７では、ポート追加命令を受けたポートモニタ４４は指定されているＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を追加し、その実行結果（成功／失敗）を監視プログラム５２に戻り値として返す。
ここで、実行結果として失敗が返る場合とは、そのＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５が既に存在している場合である。
【００５６】
Ｓ１０８では、監視プログラム５２はポートモニタ４４が提供するＡＰＩを呼び出し、Ｓ１０６で追加したＴＣＰ／ＩＰポート４５（実行結果が失敗である場合は既に存在しているＴＣＰ／ＩＰポート４５）を指定してポートモニタ４４にポート切替命令を出力する。
【００５７】
Ｓ１０９では、ポート切替命令を受けたポートモニタ４４は指定されているＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を有効にし、その実行結果（成功／失敗）を監視プログラム５２に戻り値として返す。
【００５８】
（４−２）印刷ポートの削除の流れ
図５は、ＴＣＰ／ＩＰポート４５の削除の流れを示すシーケンスチャートである。本処理はユーザがアプリケーション４１から共通プリンタドライバ５１のプリンタ選択モジュール５１ａを呼び出すと開始される。ここでは図４と実質的に同一の処理には同一の符号を付して説明を省略する。
【００５９】
Ｓ２０１では、共通プリンタドライバ５１はＩＮＩファイル５３にＩＰアドレスが書き込まれている各プリンタ２が現在印刷可能な状態であるか否かを判断する。印刷不可能な状態であると判断した場合は、共通プリンタドライバ５１はＳ２０２以降の処理を実行する。
【００６０】
Ｓ２０２では、共通プリンタドライバ５１は印刷不可能な状態であると判断したプリンタ２のＩＰアドレスが記述されている［IP_XXX.XXX.XXX.XXX］セクションをＩＮＩファイル５３から削除するとともに、「Ｄｅｌｅｔｅｄ」に１を書き込み、更に、「ＤｅｌｅｔｅｄＩＰ」にそのプリンタ２のＩＰアドレスを書き込む。ＩＮＩファイル５３を保存するとＯＳによってＩＮＩファイル５３の最終更新日時が更新される。
【００６１】
Ｓ２０３では、監視プログラム５２は先ずＩＮＩファイル５３から「Ｄｅｌｅｔｅｄ」の値を読み込み、値が１（ＩＰアドレスが削除された）であるか否かを判断する。ここでは値が１であるので、監視プログラム５２はＩＮＩファイル５３から「ＤｅｌｅｔｅｄＩＰ」の値（削除されたＩＰアドレス）を読み込む。
【００６２】
Ｓ２０４では、監視プログラム５２はポートモニタ４４が提供するＡＰＩを呼び出し、Ｓ２０３で読み込んだＩＰアドレスを指定してポートモニタ４４にポート削除命令を出力する。
【００６３】
Ｓ２０５では、ポート削除命令を受けたポートモニタ４４はそのＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を削除し、その実行結果（成功／失敗）を監視プログラム５２に戻り値として返す。
Ｓ２０６では、監視プログラム５２はＩＮＩファイル５３から削除情報を削除する。具体的には、監視プログラム５２は「Ｃｏｍｍｏｎ」セクションの「Ｄｅｌｅｔｅｄ」に０を書き込み、「ＤｅｌｅｔｅｄＩＰ」からＩＰアドレスを削除する。
【００６４】
（５）実施形態の効果
以上説明した本発明の実施形態１に係る印刷制御プログラム５０によると、共通プリンタドライバ５１がＩＮＩファイル５３にＩＰアドレスを書き込むと、書き込んだＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５が監視プログラム５２によって「使用するＴＣＰ／ＩＰポート」として設定されるので、共通プリンタドライバ５１はプリンタ２のＩＰアドレスをＩＮＩファイル５３に書き込むことにより、ユーザ権限で実行されてもＴＣＰ／ＩＰポート４５を設定できる。これにより、共通プリンタドライバ５１からＴＣＰ／ＩＰポート４５を設定できるようにするためにユーザに管理者権限を与えなくてよい。
【００６５】
更に、印刷制御プログラム５０によると、選択されたプリンタ２のＩＰアドレスが既にＩＮＩファイル５３に書き込まれている場合は、そのＩＰアドレスを削除して新たに書き込むことにより、ＩＮＩファイル５３にＩＰアドレスが書き込まれたことを印刷制御プログラム５０に検出させる。これにより、既にＩＮＩファイル５３にＩＰアドレスが書き込まれているプリンタ２が再度選択されてもそのプリンタ２のＩＰアドレスが設定されている印刷ポートを「使用する印刷ポート」として設定できる。
【００６６】
更に、印刷制御プログラム５０によると、共通プリンタドライバ５１はＩＮＩファイル５３からＩＰアドレスを削除することにより、ユーザ権限で実行されてもＴＣＰ／ＩＰポート４５を削除できる。
【００６７】
更に、印刷制御プログラム５０によると、ＩＮＩファイル５３から削除したＩＰアドレスを表わす削除情報をＩＮＩファイル５３に書き込むことにより、監視プログラム５２はＩＮＩファイル５３からどのＩＰアドレスが削除されたかを知ることができる。
【００６８】
更に、印刷制御プログラム５０によると、印刷不可能なプリンタ２のＩＰアドレスが設定されているＴＣＰ／ＩＰポート４５を削除することにより、無用なＴＣＰ／ＩＰポート４５が残ってしまわないようにすることができる。
【００６９】
更に、印刷制御プログラム５０によると、ＩＰアドレスと印刷機能情報とを対応付けてＩＮＩファイル５３に書き込み、それらをプリンタ選択画面に表示するので、ユーザは自身の目的に応じたプリンタ２を選択し易くなる。
【００７０】
また、本発明の実施形態１に係る監視プログラム５２によると、共通プリンタドライバ５１は選択されたプリンタ２のＩＰアドレスをＩＮＩファイル５３に書き込むことにより、ユーザ権限で実行されてもＴＣＰ／ＩＰポート４５を設定できる。
【００７１】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００７２】
（１）上記実施形態では所在情報としてＩＰアドレスを例に説明したが、所在情報はノード名であってもよい。ノード名とは機器を一意に特定可能な情報のことをいい、ＴＣＰ／ＩＰネットワークではドメイン名に相当する。ドメイン名はＤＮＳ（Domain Name System）に問い合わせることによってＩＰアドレスに変換されるので、機器を一意に特定できる。
【００７３】
（２）上記実施形態ではＩＮＩファイル５３に印刷機能情報を書き込む場合を例に説明したが、印刷条件設定画面で設定された印刷条件を書き込んでもよい。そして、選択されたプリンタ２に対する印刷条件を設定するとき、そのプリンタ２のＩＰアドレスに対応付けられてＩＮＩファイル５３に書き込まれている印刷条件を初期値として印刷条件設定画面に表示してもよい。これにより、次回の印刷条件の設定において前回と同様の印刷条件を設定する場合に設定の手間を低減できる。
【００７４】
（３）上記実施形態では設定情報としてＩＮＩファイルを例に説明したが、ＯＳとしてＭｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳを用いる場合はレジストリを設定情報として用いてもよい。
【符号の説明】
【００７５】
１・・・コンピュータ
２（２ａ〜２ｄ）・・・プリンタ
３・・・通信ネットワーク
４５・・・ＴＣＰ／ＩＰポート
５０・・・印刷制御プログラム
５１・・・共通プリンタドライバ
５１ａ・・・プリンタ選択モジュール
５１ｂ・・・印刷条件設定モジュール
５１ｃ・・・印刷データ生成モジュール
５１ｄ・・・書き込みモジュール
５１ｅ・・・所在情報削除モジュール
５２・・・監視プログラム
５２ａ・・・監視モジュール
５２ｂ・・・ポート設定モジュール
５２ｃ・・・ポート削除モジュール
５３・・・ＩＮＩファイル
【図１】
2011232938.tif 000003
【図２】
2011232938.tif 000004
【図３】
2011232938.tif 000005
【図４】
2011232938.tif 000006
【図５】
2011232938.tif 000007