説明

ポート接続プログラム、およびポート接続方法

【課題】 コンピュータが備えたOSのスプーラがポートを占有するタイプのものであり、且つ接続しようとする特定ポートがスプーラによって占有される種類である場合、当該特定ポートがドライバに接続設定されている状態で、ドライバのアンインストールや、スプーラサービスの停止や、手動でポートの設定を変更することなく当該特定ポートに接続することができるポート接続プログラム等を提供することをその課題とする。
【解決手段】 コンピュータを、特定ポートを指定する特定ポート指定手段、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え手段、特定ポートとの接続を行う接続手段、として機能させるものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポートを有するコンピュータにおけるポート接続プログラム、およびポート接続方法に関するものである。
【背景技術】
【0002】
ポート、およびデバイスのドライバを有するコンピュータにおいて、ドライバを介さずにデバイスと接続する仕様のアプリケーションプログラムをインストールして起動することがある。この場合、コンピュータが備えたOSのスプーラがポートを占有するタイプであり、且つアプリケーションプログラムが接続する特定ポートがスプーラによって占有されるタイプ(例えばシリアルポートなど)であると、ドライバが特定ポートに接続設定している状態で、スプーラが当該特定ポートを常時占有することになる。従って、アプリケーションは特定ポートに接続することができず正常に動作することができない。この問題の回避策として、接続しようとする特定ポートの設定を変更することが考えられる。
【0003】
従来、ポート設定変更処理として、記憶している送信データの数に応じて、自身が備えた複数のポートのうち、一部のポートを受信専用から送受信用に設定変更することにより、効率よくデータ送信を行い得るファクシミリ装置が開示されている(特許文献1参照)。
【特許文献1】特開平9−65102号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記のファクシミリ装置が備えたポート設定変更機能は、記憶している送信データの数と、送受信用および受信専用に設定されたポート数とを比較して設定変更を行うものであり、スプーラ等によって占有状態にあるポートに対して設定変更を行うことは不可能である。従ってユーザは、アプリケーションを正常に動作させるためには、ドライバのアンインストールや、スプーラサービスの停止や、手動でポート設定値を変更する必要がある。このため、アプリケーションの利用後再びドライバを介して外部装置を利用するには、ドライバのインストールや、スプーラサービスの開始や、手動でポート設定値を変更前に戻す作業を必要とし、非常に不便である。
【0005】
また、ドライバのようなソフトウェアのアンインストールやポートの設定といった作業が可能であるユーザは、セキュリティ上、コンピュータの管理者等強固な権限を持つユーザに限られているのが通常であり、このような権限を持たないユーザは、上記の問題を回避することができない。さらに、ポートがスプーラによって占有されているといった事態は、ユーザにとって認識することが難しく、アプリケーションが正常に動作しない理由をユーザが把握できないことも多い。
【0006】
その上、ドライバのアンインストールや、スプーラサービスの停止を行ってしまうと、アプリケーションが利用するポート以外の全てのポートに接続設定されたデバイスの入出力も行えなくなってしまう。
【0007】
上記の問題に鑑み、本発明は、コンピュータが備えたOSのスプーラがポートを占有するタイプのものであり、且つ接続しようとする特定ポートがスプーラによって占有される種類である場合、当該特定ポートがドライバに接続設定されている状態で、ドライバのアンインストールや、スプーラサービスの停止や、手動でポートの設定を変更することなく、また、他のポートに設定されたデバイスの動作を妨げることなく、当該特定ポートに接続することができるポート接続プログラム、およびポート接続方法を提供することをその課題とする。
【課題を解決するための手段】
【0008】
本発明のポート接続プログラムは、セットアップされたデバイスを制御するためのドライバと、デバイスと通信を行うためのポートと、ポートを占有するスプーラを備えたOSと、を有するコンピュータにインストールされて用いられるポート接続プログラムであって、接続しようとする特定ポートが、スプーラによって占有される種類であり、且つ当該特定ポートが、ドライバに接続設定されている状態である場合、コンピュータを、特定ポートを指定する特定ポート指定手段、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え手段、特定ポートとの接続を行う接続手段、として機能させることを特徴とする。
【0009】
また、本発明のポート接続方法は、セットアップされたデバイスを制御するためのドライバと、デバイスと通信を行うためのポートと、ポートを占有するスプーラを備えたOSと、を有するコンピュータにおけるポート接続方法であって、接続しようとする特定ポートが、スプーラによって占有される種類であり、且つ当該特定ポートが、ドライバに接続設定されている状態である場合、特定ポートを指定する特定ポート指定工程と、セットアップされたデバイスの中から特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索工程と、検索した特定デバイスを制御するドライバのポート設定値を書換えるポート設定値書換え工程と、特定ポートとの接続を行う接続工程と、を実行することを特徴とする。
【0010】
これらの構成によれば、コンピュータにインストールされたアプリケーションが、デバイスとデータの入出力を行うために指定されたポートに接続する際に、たとえ指定されたポートがスプーラによって占有された状態であっても、アプリケーション自身によって、指定されたポートを接続対象とするデバイスを制御するドライバのポート設定値を書換えることにより、アプリケーションは指定されたポートに接続することができる。従って、ドライバのアンインストールやポート設定値の書換えといった作業をユーザが手動で行う必要なく、アプリケーションは指定されたポートを介してデバイスと接続し、正常に動作することができる。また、アプリケーションはポート設定値の書換え処理を自動で(内部的に)行うので、ユーザはこの書換え処理のために特別な操作を必要とせずにアプリケーションを利用することができる。なお、ポート設定値とは、コンピュータにセットアップされたデバイスがどのポートを接続対象とするかを、当該デバイスのドライバによって定めた設定値である。
【0011】
また、この場合、接続手段による接続解消後に、書換えたポート設定値を書換え前の元の設定に戻すポート設定値復元手段、としてコンピュータをさらに機能させることが好ましい。
【0012】
この構成によれば、デバイスとの接続解消後、アプリケーションによって、自身が書換えたポート設定値を書換え前の元の設定に復元することにより、ユーザは、特別な操作をすることなく、アプリケーションの利用後再びドライバを介してデバイスを利用することができる。また、アプリケーションによって、書換えたポート設定値が必ず元の設定値に復元されることから、書換えたポート設定値の戻し忘れといった人為的ミスを防止することができる。
【0013】
また、この場合、ポート設定値の書換え時および/または当該ポート設定値の復元時に、当該ポート設定値が変更した旨を表示するメッセージ表示手段、としてコンピュータをさらに機能させることが好ましい。
【0014】
この構成によれば、アプリケーションが自動で(内部的に)行うポート設定値書換え時および/またはポート設定値復元時に、ポート設定値を変更した旨をユーザに向けてメッセージ表示することによって、ユーザは、ポート設定値が変更されたことを確実に認識することができる。なお、このメッセージ表示には、変更したポート設定値の詳細が含まれている。
【発明を実施するための最良の形態】
【0015】
以下、添付の図面を参照して、本発明のポート接続プログラム、およびポート接続方法を、印刷装置のプリンタドライバがインストールされた制御装置に適用して詳細に説明する。
【0016】
図1に示すように、本実施形態の制御装置100は、印刷装置150を含めた他の外部装置とのデータの入出力を行うための複数のポートPの他、CPU10、ROM20、RAM30、キーボード40、マウス41、ディスプレイ42、ハードディスク50を備え、これらは互いにシステムバス60を介して互いに接続されている。また、制御装置100は、様々な用途に応じた複数の印刷装置150がセットアップされており、各印刷装置150に対応した複数のプリンタドライバ52がインストールされている。また、印刷装置150とデータ入出力を行うためのポートPは、印刷装置150のプリンタドライバ52によって設定され、ポート設定値54としてハードディスク50の所定位置に記憶される。具体的なポート設定値54の一例を図2に示す。なお、図示は省略するが、ポート設定値54には、印刷装置名およびポート名の他にも、ポートPの種類や構成を始めとした様々な設定値が含まれている。
【0017】
ハードディスク50は、オペレーティング・システム51(以下OSと記載)、印刷装置150のプリンタドライバ52、および複数のアプリケーションプログラムApp(以下単にアプリケーションと記載)を記憶しており、また、これらアプリケーションApp等の環境設定や起動時の表示に関する設定ファイル等を記憶している。また、OS51は、キーボード40およびマウス41等入力手段からの入力の受付やディスプレイ42への表示等、それぞれのアプリケーションAppに共通する処理を提供するものであり、制御装置100を動作させるための基本となるソフトウェアである。また、ハードディスク50に記憶しているアプリケーションAppには、プリンタドライバ52を介さずに印刷装置150と通信を行う仕様のアプリケーションApp1が含まれている。
【0018】
また、OS51が提供する処理の1つとして、制御装置100において発生した印刷要求を一時的にハードディスク50等に記憶し、記憶した印刷要求を指定された印刷装置150へ順次出力するプリントスプーラ53がある。本実施形態のOS51が備えたプリントスプーラ53は、プリンタドライバ52によってポートPの設定が行われると、設定されたそのポートPを占有する仕様になっている。
【0019】
CPU10は、OS51のプログラムや他のアプリケーションAppに基づいて各種演算処理を行い制御装置100の制御を行う。ROM20は、キーボード40、ディスプレイ42、ハードディスク50といったデバイスをコントロールするプログラムであるBIOS等が記憶されており、OS51はBIOSに命令を出すことでこれらのデバイスを制御する。RAM30は、ハードディスク50や他の記憶媒体(CD―ROMやCD−R等)から一時的に読み出されたOS51のプログラムおよびアプリケーションAppが、CPU10の制御の下に実行される作業領域として使用される。
【0020】
一方、印刷装置150は、制御装置100とポートPを介して有線又は無線で接続されており、制御装置100から印刷データを受信するデータ受信部160の他、印刷媒体の搬送を行う搬送部170、印刷媒体の搬送に同期して受信した印刷データの印刷を行う印刷部180等を有している。
【0021】
ここで、アプリケーションApp1における、印刷装置150との接続設定について説明する。プリンタドライバ52を介さずに印刷装置150と通信を行う仕様のアプリケーションApp1は、印刷装置150との固有の接続情報を設定し記憶している(正確には、アプリケーションApp1が印刷装置150と接続するための情報として、アプリケーションApp1が参照可能な、制御装置100内の所定の位置に記憶している)。
【0022】
図3は、アプリケーションApp1における、接続情報を設定する接続情報設定画面200を示している。ユーザは、この接続情報設定画面200において、コンボボックス201,202を操作することにより、接続する印刷装置150、およびこれと入出力を行うためのポートPを指定することができる(ポート指定手段)。また、指定したポートPの種類に応じて、通信速度や他の様々な設定(図では、データをシリアル(直列)で転送する方式のシリアル接続における一例を示している)を行うことができる。本実施形態では、アプリケーションApp1の接続情報の一例として、同図に示すように、印刷装置名が「プリンタ1」である印刷装置150と接続する場合、ポート名が「COM1」であるポートP1が指定されている。このポートP1は例えばシリアルポートであり、プリントスプーラ53によって占有される種類のものである。以下、印刷装置名が「プリンタ1」である印刷装置を印刷装置150aとして説明する。また、同設定画面200において、接続テストボタン203の選択により、印刷装置150aとの接続が正常に行われるかどうかをテストすることができる。そして、アプリケーションApp1は、例えば接続テストボタン203の選択によって、印刷装置150aとの接続処理を開始する。
【0023】
ところで、前述したように本実施形態のプリントスプーラ53は、プリンタドライバ52によって設定されたポートPを常時占有する仕様であり、また、アプリケーションApp1が印刷装置150aと入出力を行うために接続しようとするポートP1は、プリントスプーラ53によって占有される種類のものである。このとき、制御装置100にインストールされているプリンタドライバ52が、ポートP1に接続する設定の状態である場合、図4に示すようにポートP1は、プリントスプーラ53によって常時占有されることになる。従って、アプリケーションApp1は、ポートP1に接続することができず印刷装置150aと通信を行うことができない。このため、アプリケーションApp1は、印刷装置150aとの接続を開始する際に、制御装置100のハードディスク50に記憶しているポートP1のポート設定値54を一時的に書換える処理を行う。
【0024】
ここで、図5のフローチャートを参照し、図3に示す接続設定が行われているアプリケーションApp1によるポート設定値54の書換え処理の流れについて説明する。最初に、アプリケーションApp1は、制御装置100に記憶されているポート設定値54を参照し、そのポート設定値54において、ポート名「COM1」であるポートP1を接続対象として設定している印刷装置150を検索する(デバイス検索手段)(S01)。検索後、ポートP1を接続対象として設定している印刷装置150の接続対象ポートPを、ポートP1から他のポートPに書換える処理を行う(ポート設定値書換え手段)(S02)。このとき、アプリケーションApp1は、書換え前のポート設定値54(ポート名および印刷装置名を含む)を一時的に記憶しておく。
【0025】
ポート設定値を書換えたことによって、アプリケーションApp1は、占有状態から開放されたポートP1と接続可能となり、印刷装置150aとの接続を開始する(ポート接続手段)(S03)。その後、アプリケーションApp1が印刷装置150aとの接続を解消すると(S04)、アプリケーションApp1は、書換えを行ったポート設定値54において、書換えた他のポートPから書換え前のポートP1に戻す復元処理を行う(ポート設定値復元手段)(S05)。この復元処理は、ポート設定値54の書換え(S03に相当する)前に一時的に記憶したポート設定値54に基づき行う。
【0026】
なお、原則としてアプリケーションApp1は、ポートP1を他のポートPに書換える際、ファイルに対して入出力を行う例えば「FILE」ポートに書換える。これにより、仮にユーザがアプリケーションApp1を利用中に、ポート設定値54を書換えたプリンタドライバ52経由で印刷装置150に対して印刷を行っても、ユーザが意図しない印刷装置150から印刷データが出力されることを防止できるとともに、出力した印刷データをユーザが誤って消失してしまう虞がない。
【0027】
また、アプリケーションApp1は、ポート設定値54の書換え時および/またはポート設定値の復元時に、図6(a)および(b)に示すような、ポート設定値54が変更された旨を示すメッセージを表示する(メッセージ表示手段)。このメッセージ表示には、変更前および変更後のポートPのポート名、およびこれに接続される印刷装置名が含まれている。これにより、ユーザはアプリケーションApp1によってポート設定値54が変更されたことを確実に認識することができる。
【0028】
さらに、接続対象ポートPとしてポートP1が設定されている印刷装置150が複数存在する場合にも、アプリケーションApp1は、ポートP1を設定している印刷装置150(プリンタドライバ52)全てのポート設定値54に対して書換え処理および復元処理を行うので、確実にポート設定値54を変更することが可能である。また、ユーザが手動でポート設定値54を変更する場合と比較して、設定変更に要する時間を大幅に短縮させることができる。
【0029】
さらに、上述した検索処理において、指定されたポート名が例えば「ESDPTR・・・」のように、変則的になる特殊なドライバがインストールされている場合でも、その特殊なドライバに関する情報を制御装置100内の所定の位置に予め格納しておき、アプリケーションApp1は、格納した情報を参照することによって、実際のポート名を取得するので、ポート名をパラメータとして検索処理を行う際にも何ら支障をきたすことはない。
【0030】
また、アプリケーションApp1が接続しようとするポートP1が、ドライバではなく、制御装置100内の他のアプリケーションAppによって占有されることも考えられる。この場合には、アプリケーションApp1によって、ポートを占有しているアプリケーションを終了させることを促すメッセージ等をユーザに向けて表示してもよい。
【0031】
また、上述した実施例によらず、デバイスとしてファクシミリ装置を用いるなど、制御装置の装置構成やアプリケーションプログラムの処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施形態に係る制御装置および印刷装置の制御ブロック図である。
【図2】制御装置が記憶するポート設定値を示す図である。
【図3】制御装置のアプリケーションにおける接続設定の設定画面である。
【図4】プリントスプーラによるポート占有の説明を補足する補足図である。
【図5】アプリケーションによるポート設定値書換え処理の手順を示すフローチャートである。
【図6】アプリケーションが表示するメッセージの一例を示す図である。
【符号の説明】
【0033】
100 制御装置 150 印刷装置
51 OS 52 プリンタドライバ
53 プリントスプーラ 54 ポート設定値
App アプリケーション P ポート

【特許請求の範囲】
【請求項1】
セットアップされたデバイスを制御するためのドライバと、
前記デバイスと通信を行うためのポートと、
前記ポートを占有するスプーラを備えたOSと、
を有するコンピュータにインストールされて用いられるポート接続プログラムであって、
接続しようとする特定ポートが、前記スプーラによって占有される種類であり、且つ当該特定ポートが、前記ドライバに接続設定されている状態である場合、
前記コンピュータを、
前記特定ポートを指定する特定ポート指定手段、
前記セットアップされたデバイスの中から前記特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索手段、
検索した前記特定デバイスを制御する前記ドライバのポート設定値を書換えるポート設定値書換え手段、
前記特定ポートとの接続を行う接続手段、として機能させることを特徴とするポート接続プログラム。
【請求項2】
前記接続手段による接続解消後に、書換えた前記ポート設定値を書換え前の元の設定値に戻すポート設定値復元手段、として前記コンピュータをさらに機能させることを特徴とする請求項1に記載のポート接続プログラム。
【請求項3】
前記ポート設定値の書換え時および/または当該ポート設定値の復元時に、当該ポート設定値が変更した旨を表示するメッセージ表示手段、として前記コンピュータをさらに機能させることを特徴とする請求項2に記載のポート接続プログラム。
【請求項4】
セットアップされたデバイスを制御するためのドライバと、
前記デバイスと通信を行うためのポートと、
前記ポートを占有するスプーラを備えたOSと、
を有するコンピュータにおけるポート接続方法であって、
接続しようとする特定ポートが、前記スプーラによって占有される種類であり、且つ当該特定ポートが、前記ドライバに接続設定されている状態である場合、
前記特定ポートを指定する特定ポート指定工程と、
前記セットアップされたデバイスの中から前記特定ポートの接続対象となっている特定デバイスを検索する特定デバイス検索工程と、
検索した前記特定デバイスを制御する前記ドライバのポート設定値を書換えるポート設定値書換え工程と、
前記特定ポートとの接続を行う接続工程と、を実行することを特徴とするポート接続方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−79398(P2006−79398A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−263370(P2004−263370)
【出願日】平成16年9月10日(2004.9.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】