(57)【要約】【課題】  コンピュータが備えたＯＳのスプーラがポートを占有するタイプのものであり、且つ接続しようとする特定ポートがスプーラによって占有される種類である場合、当該特定ポートがドライバに接続設定されている状態で、ドライバのアンインストールや、スプーラサービスの停止や、手動でポートの設定を変更することなく当該特定ポートに接続することができるポート接続プログラム等を提供することをその課題とする。【解決手段】  コンピュータを、特定ポートを指定する特定ポート指定手段、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え手段、特定ポートとの接続を行う接続手段、として機能させるものである。【選択図】  図５
2006079398.tif 000002
【特許請求の範囲】
【請求項１】
セットアップされたデバイスを制御するためのドライバと、
前記デバイスと通信を行うためのポートと、
前記ポートを占有するスプーラを備えたＯＳと、
を有するコンピュータにインストールされて用いられるポート接続プログラムであって、
接続しようとする特定ポートが、前記スプーラによって占有される種類であり、且つ当該特定ポートが、前記ドライバに接続設定されている状態である場合、
前記コンピュータを、
前記特定ポートを指定する特定ポート指定手段、
前記セットアップされたデバイスの中から前記特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、
検索した前記特定デバイスを制御する前記ドライバのポート設定値を書換えるポート設定値書換え手段、
前記特定ポートとの接続を行う接続手段、として機能させることを特徴とするポート接続プログラム。
【請求項２】
前記接続手段による接続解消後に、書換えた前記ポート設定値を書換え前の元の設定値に戻すポート設定値復元手段、として前記コンピュータをさらに機能させることを特徴とする請求項１に記載のポート接続プログラム。
【請求項３】
前記ポート設定値の書換え時および／または当該ポート設定値の復元時に、当該ポート設定値が変更した旨を表示するメッセージ表示手段、として前記コンピュータをさらに機能させることを特徴とする請求項２に記載のポート接続プログラム。
【請求項４】
セットアップされたデバイスを制御するためのドライバと、
前記デバイスと通信を行うためのポートと、
前記ポートを占有するスプーラを備えたＯＳと、
を有するコンピュータにおけるポート接続方法であって、
接続しようとする特定ポートが、前記スプーラによって占有される種類であり、且つ当該特定ポートが、前記ドライバに接続設定されている状態である場合、
前記特定ポートを指定する特定ポート指定工程と、
前記セットアップされたデバイスの中から前記特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索工程と、
検索した前記特定デバイスを制御する前記ドライバのポート設定値を書換えるポート設定値書換え工程と、
前記特定ポートとの接続を行う接続工程と、を実行することを特徴とするポート接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポートを有するコンピュータにおけるポート接続プログラム、およびポート接続方法に関するものである。
【背景技術】
【０００２】
ポート、およびデバイスのドライバを有するコンピュータにおいて、ドライバを介さずにデバイスと接続する仕様のアプリケーションプログラムをインストールして起動することがある。この場合、コンピュータが備えたＯＳのスプーラがポートを占有するタイプであり、且つアプリケーションプログラムが接続する特定ポートがスプーラによって占有されるタイプ（例えばシリアルポートなど）であると、ドライバが特定ポートに接続設定している状態で、スプーラが当該特定ポートを常時占有することになる。従って、アプリケーションは特定ポートに接続することができず正常に動作することができない。この問題の回避策として、接続しようとする特定ポートの設定を変更することが考えられる。
【０００３】
従来、ポート設定変更処理として、記憶している送信データの数に応じて、自身が備えた複数のポートのうち、一部のポートを受信専用から送受信用に設定変更することにより、効率よくデータ送信を行い得るファクシミリ装置が開示されている（特許文献１参照）。
【特許文献１】特開平９−６５１０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記のファクシミリ装置が備えたポート設定変更機能は、記憶している送信データの数と、送受信用および受信専用に設定されたポート数とを比較して設定変更を行うものであり、スプーラ等によって占有状態にあるポートに対して設定変更を行うことは不可能である。従ってユーザは、アプリケーションを正常に動作させるためには、ドライバのアンインストールや、スプーラサービスの停止や、手動でポート設定値を変更する必要がある。このため、アプリケーションの利用後再びドライバを介して外部装置を利用するには、ドライバのインストールや、スプーラサービスの開始や、手動でポート設定値を変更前に戻す作業を必要とし、非常に不便である。
【０００５】
また、ドライバのようなソフトウェアのアンインストールやポートの設定といった作業が可能であるユーザは、セキュリティ上、コンピュータの管理者等強固な権限を持つユーザに限られているのが通常であり、このような権限を持たないユーザは、上記の問題を回避することができない。さらに、ポートがスプーラによって占有されているといった事態は、ユーザにとって認識することが難しく、アプリケーションが正常に動作しない理由をユーザが把握できないことも多い。
【０００６】
その上、ドライバのアンインストールや、スプーラサービスの停止を行ってしまうと、アプリケーションが利用するポート以外の全てのポートに接続設定されたデバイスの入出力も行えなくなってしまう。
【０００７】
上記の問題に鑑み、本発明は、コンピュータが備えたＯＳのスプーラがポートを占有するタイプのものであり、且つ接続しようとする特定ポートがスプーラによって占有される種類である場合、当該特定ポートがドライバに接続設定されている状態で、ドライバのアンインストールや、スプーラサービスの停止や、手動でポートの設定を変更することなく、また、他のポートに設定されたデバイスの動作を妨げることなく、当該特定ポートに接続することができるポート接続プログラム、およびポート接続方法を提供することをその課題とする。
【課題を解決するための手段】
【０００８】
本発明のポート接続プログラムは、セットアップされたデバイスを制御するためのドライバと、デバイスと通信を行うためのポートと、ポートを占有するスプーラを備えたＯＳと、を有するコンピュータにインストールされて用いられるポート接続プログラムであって、接続しようとする特定ポートが、スプーラによって占有される種類であり、且つ当該特定ポートが、ドライバに接続設定されている状態である場合、コンピュータを、特定ポートを指定する特定ポート指定手段、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え手段、特定ポートとの接続を行う接続手段、として機能させることを特徴とする。
【０００９】
また、本発明のポート接続方法は、セットアップされたデバイスを制御するためのドライバと、デバイスと通信を行うためのポートと、ポートを占有するスプーラを備えたＯＳと、を有するコンピュータにおけるポート接続方法であって、接続しようとする特定ポートが、スプーラによって占有される種類であり、且つ当該特定ポートが、ドライバに接続設定されている状態である場合、特定ポートを指定する特定ポート指定工程と、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索工程と、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え工程と、特定ポートとの接続を行う接続工程と、を実行することを特徴とする。
【００１０】
これらの構成によれば、コンピュータにインストールされたアプリケーションが、デバイスとデータの入出力を行うために指定されたポートに接続する際に、たとえ指定されたポートがスプーラによって占有された状態であっても、アプリケーション自身によって、指定されたポートを接続対象とするデバイスを制御するドライバのポート設定値を書換えることにより、アプリケーションは指定されたポートに接続することができる。従って、ドライバのアンインストールやポート設定値の書換えといった作業をユーザが手動で行う必要なく、アプリケーションは指定されたポートを介してデバイスと接続し、正常に動作することができる。また、アプリケーションはポート設定値の書換え処理を自動で（内部的に）行うので、ユーザはこの書換え処理のために特別な操作を必要とせずにアプリケーションを利用することができる。なお、ポート設定値とは、コンピュータにセットアップされたデバイスがどのポートを接続対象とするかを、当該デバイスのドライバによって定めた設定値である。
【００１１】
また、この場合、接続手段による接続解消後に、書換えたポート設定値を書換え前の元の設定に戻すポート設定値復元手段、としてコンピュータをさらに機能させることが好ましい。
【００１２】
この構成によれば、デバイスとの接続解消後、アプリケーションによって、自身が書換えたポート設定値を書換え前の元の設定に復元することにより、ユーザは、特別な操作をすることなく、アプリケーションの利用後再びドライバを介してデバイスを利用することができる。また、アプリケーションによって、書換えたポート設定値が必ず元の設定値に復元されることから、書換えたポート設定値の戻し忘れといった人為的ミスを防止することができる。
【００１３】
また、この場合、ポート設定値の書換え時および／または当該ポート設定値の復元時に、当該ポート設定値が変更した旨を表示するメッセージ表示手段、としてコンピュータをさらに機能させることが好ましい。
【００１４】
この構成によれば、アプリケーションが自動で（内部的に）行うポート設定値書換え時および／またはポート設定値復元時に、ポート設定値を変更した旨をユーザに向けてメッセージ表示することによって、ユーザは、ポート設定値が変更されたことを確実に認識することができる。なお、このメッセージ表示には、変更したポート設定値の詳細が含まれている。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面を参照して、本発明のポート接続プログラム、およびポート接続方法を、印刷装置のプリンタドライバがインストールされた制御装置に適用して詳細に説明する。
【００１６】
図１に示すように、本実施形態の制御装置１００は、印刷装置１５０を含めた他の外部装置とのデータの入出力を行うための複数のポートＰの他、ＣＰＵ１０、ＲＯＭ２０、ＲＡＭ３０、キーボード４０、マウス４１、ディスプレイ４２、ハードディスク５０を備え、これらは互いにシステムバス６０を介して互いに接続されている。また、制御装置１００は、様々な用途に応じた複数の印刷装置１５０がセットアップされており、各印刷装置１５０に対応した複数のプリンタドライバ５２がインストールされている。また、印刷装置１５０とデータ入出力を行うためのポートＰは、印刷装置１５０のプリンタドライバ５２によって設定され、ポート設定値５４としてハードディスク５０の所定位置に記憶される。具体的なポート設定値５４の一例を図２に示す。なお、図示は省略するが、ポート設定値５４には、印刷装置名およびポート名の他にも、ポートＰの種類や構成を始めとした様々な設定値が含まれている。
【００１７】
ハードディスク５０は、オペレーティング・システム５１（以下ＯＳと記載）、印刷装置１５０のプリンタドライバ５２、および複数のアプリケーションプログラムＡｐｐ（以下単にアプリケーションと記載）を記憶しており、また、これらアプリケーションＡｐｐ等の環境設定や起動時の表示に関する設定ファイル等を記憶している。また、ＯＳ５１は、キーボード４０およびマウス４１等入力手段からの入力の受付やディスプレイ４２への表示等、それぞれのアプリケーションＡｐｐに共通する処理を提供するものであり、制御装置１００を動作させるための基本となるソフトウェアである。また、ハードディスク５０に記憶しているアプリケーションＡｐｐには、プリンタドライバ５２を介さずに印刷装置１５０と通信を行う仕様のアプリケーションＡｐｐ１が含まれている。
【００１８】
また、ＯＳ５１が提供する処理の１つとして、制御装置１００において発生した印刷要求を一時的にハードディスク５０等に記憶し、記憶した印刷要求を指定された印刷装置１５０へ順次出力するプリントスプーラ５３がある。本実施形態のＯＳ５１が備えたプリントスプーラ５３は、プリンタドライバ５２によってポートＰの設定が行われると、設定されたそのポートＰを占有する仕様になっている。
【００１９】
ＣＰＵ１０は、ＯＳ５１のプログラムや他のアプリケーションＡｐｐに基づいて各種演算処理を行い制御装置１００の制御を行う。ＲＯＭ２０は、キーボード４０、ディスプレイ４２、ハードディスク５０といったデバイスをコントロールするプログラムであるＢＩＯＳ等が記憶されており、ＯＳ５１はＢＩＯＳに命令を出すことでこれらのデバイスを制御する。ＲＡＭ３０は、ハードディスク５０や他の記憶媒体（ＣＤ―ＲＯＭやＣＤ−Ｒ等）から一時的に読み出されたＯＳ５１のプログラムおよびアプリケーションＡｐｐが、ＣＰＵ１０の制御の下に実行される作業領域として使用される。
【００２０】
一方、印刷装置１５０は、制御装置１００とポートＰを介して有線又は無線で接続されており、制御装置１００から印刷データを受信するデータ受信部１６０の他、印刷媒体の搬送を行う搬送部１７０、印刷媒体の搬送に同期して受信した印刷データの印刷を行う印刷部１８０等を有している。
【００２１】
ここで、アプリケーションＡｐｐ１における、印刷装置１５０との接続設定について説明する。プリンタドライバ５２を介さずに印刷装置１５０と通信を行う仕様のアプリケーションＡｐｐ１は、印刷装置１５０との固有の接続情報を設定し記憶している（正確には、アプリケーションＡｐｐ１が印刷装置１５０と接続するための情報として、アプリケーションＡｐｐ１が参照可能な、制御装置１００内の所定の位置に記憶している）。
【００２２】
図３は、アプリケーションＡｐｐ１における、接続情報を設定する接続情報設定画面２００を示している。ユーザは、この接続情報設定画面２００において、コンボボックス２０１，２０２を操作することにより、接続する印刷装置１５０、およびこれと入出力を行うためのポートＰを指定することができる（ポート指定手段）。また、指定したポートＰの種類に応じて、通信速度や他の様々な設定（図では、データをシリアル（直列）で転送する方式のシリアル接続における一例を示している）を行うことができる。本実施形態では、アプリケーションＡｐｐ１の接続情報の一例として、同図に示すように、印刷装置名が「プリンタ１」である印刷装置１５０と接続する場合、ポート名が「ＣＯＭ１」であるポートＰ１が指定されている。このポートＰ１は例えばシリアルポートであり、プリントスプーラ５３によって占有される種類のものである。以下、印刷装置名が「プリンタ１」である印刷装置を印刷装置１５０ａとして説明する。また、同設定画面２００において、接続テストボタン２０３の選択により、印刷装置１５０ａとの接続が正常に行われるかどうかをテストすることができる。そして、アプリケーションＡｐｐ１は、例えば接続テストボタン２０３の選択によって、印刷装置１５０ａとの接続処理を開始する。
【００２３】
ところで、前述したように本実施形態のプリントスプーラ５３は、プリンタドライバ５２によって設定されたポートＰを常時占有する仕様であり、また、アプリケーションＡｐｐ１が印刷装置１５０ａと入出力を行うために接続しようとするポートＰ１は、プリントスプーラ５３によって占有される種類のものである。このとき、制御装置１００にインストールされているプリンタドライバ５２が、ポートＰ１に接続する設定の状態である場合、図４に示すようにポートＰ１は、プリントスプーラ５３によって常時占有されることになる。従って、アプリケーションＡｐｐ１は、ポートＰ１に接続することができず印刷装置１５０ａと通信を行うことができない。このため、アプリケーションＡｐｐ１は、印刷装置１５０ａとの接続を開始する際に、制御装置１００のハードディスク５０に記憶しているポートＰ１のポート設定値５４を一時的に書換える処理を行う。
【００２４】
ここで、図５のフローチャートを参照し、図３に示す接続設定が行われているアプリケーションＡｐｐ１によるポート設定値５４の書換え処理の流れについて説明する。最初に、アプリケーションＡｐｐ１は、制御装置１００に記憶されているポート設定値５４を参照し、そのポート設定値５４において、ポート名「ＣＯＭ１」であるポートＰ１を接続対象として設定している印刷装置１５０を検索する（デバイス検索手段）（Ｓ０１）。検索後、ポートＰ１を接続対象として設定している印刷装置１５０の接続対象ポートＰを、ポートＰ１から他のポートＰに書換える処理を行う（ポート設定値書換え手段）（Ｓ０２）。このとき、アプリケーションＡｐｐ１は、書換え前のポート設定値５４（ポート名および印刷装置名を含む）を一時的に記憶しておく。
【００２５】
ポート設定値を書換えたことによって、アプリケーションＡｐｐ１は、占有状態から開放されたポートＰ１と接続可能となり、印刷装置１５０ａとの接続を開始する（ポート接続手段）（Ｓ０３）。その後、アプリケーションＡｐｐ１が印刷装置１５０ａとの接続を解消すると（Ｓ０４）、アプリケーションＡｐｐ１は、書換えを行ったポート設定値５４において、書換えた他のポートＰから書換え前のポートＰ１に戻す復元処理を行う（ポート設定値復元手段）（Ｓ０５）。この復元処理は、ポート設定値５４の書換え（Ｓ０３に相当する）前に一時的に記憶したポート設定値５４に基づき行う。
【００２６】
なお、原則としてアプリケーションＡｐｐ１は、ポートＰ１を他のポートＰに書換える際、ファイルに対して入出力を行う例えば「ＦＩＬＥ」ポートに書換える。これにより、仮にユーザがアプリケーションＡｐｐ１を利用中に、ポート設定値５４を書換えたプリンタドライバ５２経由で印刷装置１５０に対して印刷を行っても、ユーザが意図しない印刷装置１５０から印刷データが出力されることを防止できるとともに、出力した印刷データをユーザが誤って消失してしまう虞がない。
【００２７】
また、アプリケーションＡｐｐ１は、ポート設定値５４の書換え時および／またはポート設定値の復元時に、図６（ａ）および（ｂ）に示すような、ポート設定値５４が変更された旨を示すメッセージを表示する（メッセージ表示手段）。このメッセージ表示には、変更前および変更後のポートＰのポート名、およびこれに接続される印刷装置名が含まれている。これにより、ユーザはアプリケーションＡｐｐ１によってポート設定値５４が変更されたことを確実に認識することができる。
【００２８】
さらに、接続対象ポートＰとしてポートＰ１が設定されている印刷装置１５０が複数存在する場合にも、アプリケーションＡｐｐ１は、ポートＰ１を設定している印刷装置１５０（プリンタドライバ５２）全てのポート設定値５４に対して書換え処理および復元処理を行うので、確実にポート設定値５４を変更することが可能である。また、ユーザが手動でポート設定値５４を変更する場合と比較して、設定変更に要する時間を大幅に短縮させることができる。
【００２９】
さらに、上述した検索処理において、指定されたポート名が例えば「ＥＳＤＰＴＲ・・・」のように、変則的になる特殊なドライバがインストールされている場合でも、その特殊なドライバに関する情報を制御装置１００内の所定の位置に予め格納しておき、アプリケーションＡｐｐ１は、格納した情報を参照することによって、実際のポート名を取得するので、ポート名をパラメータとして検索処理を行う際にも何ら支障をきたすことはない。
【００３０】
また、アプリケーションＡｐｐ１が接続しようとするポートＰ１が、ドライバではなく、制御装置１００内の他のアプリケーションＡｐｐによって占有されることも考えられる。この場合には、アプリケーションＡｐｐ１によって、ポートを占有しているアプリケーションを終了させることを促すメッセージ等をユーザに向けて表示してもよい。
【００３１】
また、上述した実施例によらず、デバイスとしてファクシミリ装置を用いるなど、制御装置の装置構成やアプリケーションプログラムの処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る制御装置および印刷装置の制御ブロック図である。
【図２】制御装置が記憶するポート設定値を示す図である。
【図３】制御装置のアプリケーションにおける接続設定の設定画面である。
【図４】プリントスプーラによるポート占有の説明を補足する補足図である。
【図５】アプリケーションによるポート設定値書換え処理の手順を示すフローチャートである。
【図６】アプリケーションが表示するメッセージの一例を示す図である。
【符号の説明】
【００３３】
１００              制御装置          １５０                  印刷装置
５１                  ＯＳ            ５２          プリンタドライバ
５３      プリントスプーラ            ５４              ポート設定値
Ａｐｐ      アプリケーション              Ｐ                    ポート
【図１】
2006079398.tif 000003
【図２】
2006079398.tif 000004
【図３】
2006079398.tif 000005
【図４】
2006079398.tif 000006
【図５】
2006079398.tif 000007
【図６】
2006079398.tif 000008