Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5392201B2 - ユニバーサルドライバ、及びデバイス制御方法 - Google Patents
[go: Go Back, main page]

JP5392201B2 - ユニバーサルドライバ、及びデバイス制御方法 - Google Patents

ユニバーサルドライバ、及びデバイス制御方法 Download PDF

Info

Publication number
JP5392201B2
JP5392201B2 JP2010170712A JP2010170712A JP5392201B2 JP 5392201 B2 JP5392201 B2 JP 5392201B2 JP 2010170712 A JP2010170712 A JP 2010170712A JP 2010170712 A JP2010170712 A JP 2010170712A JP 5392201 B2 JP5392201 B2 JP 5392201B2
Authority
JP
Japan
Prior art keywords
user
communication port
port
notification
universal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010170712A
Other languages
English (en)
Other versions
JP2012032937A (ja
Inventor
亮太 垣鍔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010170712A priority Critical patent/JP5392201B2/ja
Priority to US13/075,251 priority patent/US8448192B2/en
Publication of JP2012032937A publication Critical patent/JP2012032937A/ja
Application granted granted Critical
Publication of JP5392201B2 publication Critical patent/JP5392201B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、ユニバーサルドライバ、及びデバイス制御方法に関する。
従来、複数機種のデバイスを制御可能なユニバーサルドライバが知られている(例えば特許文献1参照)。
一般にユニバーサルドライバでは、機能を実行させるデバイスをユーザに指定させ、指定されたデバイスと通信するための通信ポートを「使用する通信ポート」として設定するようオペレーティングシステムに要求する。その後にユーザが実行指示を入力すると、ユニバーサルドライバは「使用する通信ポート」として設定されている通信ポートに制御コマンドを出力している。
そして、一般にユニバーサルドライバでは必ずしも毎回デバイスを指定する必要はなく、前回と同じデバイスに機能を実行させる場合には、ユーザはデバイスの指定を行わずに実行指示を入力することもできる。
特開2009−301312号公報
ところで、1台のコンピュータ上で複数のユーザがユニバーサルドライバを共有する場合もある。その場合、あるユーザがデバイスを指定して機能を実行させ、その後に別のユーザが異なるデバイスを指定して機能を実行させ、先にデバイスを指定したユーザがその後に前回と同じデバイスに再度機能を実行させようとする場合も生じる。
この場合、先にデバイスを選択したユーザが、別のユーザによって「使用する通信ポート」が変更されていることを知らず、デバイスの指定を行わずに実行指示を入力してしまうと、当該ユーザが意図したデバイス(前回と同じデバイス)以外のデバイス(別のユーザが選択したデバイス)で機能が実行されてしまう。
本発明は、上記問題点に鑑みてなされたものであり、複数のユーザでユニバーサルドライバを共有する場合にユーザが意図したデバイスで機能を実行することができるユニバーサルドライバ、及びデバイス制御方法を提供することにある。
第1の発明は、オペレーティングシステムを実行するコンピュータで実行されるユニバーサルドライバであって、前記コンピュータと通信可能に接続されているデバイスの中から機能を実行させるデバイスをユーザに指定させる指定処理と、前記指定処理において指定されたデバイスと通信するための通信ポートを、使用する通信ポートとして設定するよう前記オペレーティングシステムに要求する要求処理と、前記指定処理において指定されたデバイスと通信するための通信ポートのポート識別情報を前記ユーザに対応付けて記憶部に記憶させる記憶処理と、前記オペレーティングシステムから機能の実行が指示されると、当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報と、前記使用する通信ポートとして設定されている通信ポートのポート識別情報とが一致するか否かを判定する判定処理と、前記判定処理で一致すると判定された場合に、前記デバイスに機能を実行させるための制御コマンドを前記使用する通信ポートとして設定されている通信ポートに出力する出力処理と、前記判定処理で一致しないと判定された場合に、当該ユニバーサルドライバを実行させている前記ユーザに前記使用する通信ポートが変更されていることを通知する通知処理と、を前記コンピュータに実行させる。
1台のコンピュータ上で複数のユーザがユニバーサルドライバを共有する場合、機能を実行させるデバイスを最後に指定したユーザと、オペレーティングシステムから機能の実行が指示されたときに当該ユニバーサルドライバを実行させているユーザとは必ずしも一致しない。
この発明によると、オペレーティングシステムから機能の実行が指示されたときに当該ユニバーサルドライバを実行させているユーザに対応付けられているポート識別情報と、「使用する通信ポート」として設定されている通信ポートのポート識別情報とが一致しない場合には、当該ユニバーサルドライバを実行させているユーザに「使用する通信ポート」が変更されていることを通知する。従って、ユーザが意図したデバイスで機能を実行することができる。
第2の発明は、第1の発明のユニバーサルドライバであって、前記通知処理において通知を行った後に、機能の実行をキャンセルする処理、前記指定処理を再度実行してユーザにデバイスを指定させ、指定されたデバイスと通信するための通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、又は、当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報によって識別される通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理を前記コンピュータに実行させる。
この発明によると、ユーザが意図したデバイスで機能を実行することができる。
第3の発明は、第1の発明のユニバーサルドライバであって、前記通知処理において通知を行った後に、通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理をユーザに選択させ、ユーザによって選択された処理を実行する。
この発明によると、通知を行った後の処理をユーザが選択できる。
第4の発明は、第1の発明のユニバーサルドライバであって、通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理を事前にユーザに選択させておき、前記通知処理において通知を行った後に、ユーザによって事前に選択されている前記処理を実行する。
この発明によると、ユーザは通知を行った後の処理を事前に指定しておくことにより、通知がされる度に毎回処理を指定しなくてよい。
第5の発明は、第1の発明のユニバーサルドライバであって、前記通知処理において通知を行った後に、通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理をユーザに選択させ、ユーザによって選択された処理を実行するか、又は、前記複数の処理の中からいずれかの処理を事前にユーザに選択させておき、前記通知処理において通知を行った後に、ユーザによって事前に選択されている処理を実行するか、をユーザに選択させる。
この発明によると、通知が行われた後に処理を指定するか、通知が行われた後の処理を事前に指定しておくかをユーザが選択できる。
第6の発明は、第3〜第5のいずれかの発明のユニバーサルドライバであって、前記複数の処理は、機能の実行をキャンセルする処理、前記指定処理を再度実行してユーザにデバイスを指定させ、指定されたデバイスと通信するための通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報によって識別される通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、又は、前記使用する通信ポートの設定を変更せずに前記制御コマンドを出力する処理、のうち少なくとも二つの処理を含む。
この発明によると、ユーザが意図したデバイスで機能を実行することができる。
第7の発明は、コンピュータを用いたデバイス制御方法であって、前記コンピュータと通信可能に接続されているデバイスの中から機能を実行させるデバイスをユーザに指定させる指定段階と、前記指定段階において指定されたデバイスと通信するための通信ポートを、使用する通信ポートとして設定する設定段階と、前記指定段階において指定されたデバイスと通信するための通信ポートのポート識別情報を前記ユーザに対応付けて記憶部に記憶させる記憶段階と、ユーザから実行指示の入力を受け付ける受付段階と、前記実行指示を入力したユーザに対応付けられて前記記憶部に記憶されているポート識別情報と、前記使用する通信ポートとして設定されている通信ポートのポート識別情報とが一致するか否かを判定する判定段階と、前記判定段階で一致すると判定された場合に、前記デバイスに機能を実行させるための制御コマンドを前記使用する通信ポートとして設定されている通信ポートに出力する出力段階と、前記判定段階で一致しないと判定された場合に、前記実行指示を入力した前記ユーザに前記使用する通信ポートが変更されていることを通知する通知段階と、を含む。
この発明によると、複数のユーザでユニバーサルドライバを共有する場合にユーザが意図したデバイスで機能を実行することができる。
実施形態1に係るコンピュータの電気的構成を示すブロック図。 通信ポートの追加、切り替えを概念的に説明するための模式図。 印刷処理において表示される画面の画面遷移図。 INIファイルの一例を示す模式図。 印刷処理の全体的な流れを示すフローチャート。 通知処理の流れを示すフローチャート。 メッセージ画面の一例を示す模式図。 実施形態2に係る「通知処理」の流れを示すフローチャート。 メッセージ画面の一例を示す模式図。 オプション画面の一例を示す模式図。 実施形態3に係る印刷処理の流れを示すフローチャート。 「オプションに応じた処理」の流れを示すフローチャート。
<実施形態1>
本発明の実施形態1を図1ないし図7によって説明する。
(1)コンピュータの構成
図1は、本発明の実施形態1に係るコンピュータの電気的構成を示すブロック図である。コンピュータ1(以下「PC」という)は、CPU11、ROM12、RAM13、記憶部14、ディスプレイ駆動回路15(駆動回路)、USBインタフェース16(USB I/F)、ネットワークインタフェース17(NW I/F)などを備えて構成されている。
CPU11は、ROM12や記憶部14に記憶されている各種のプログラムを実行することによってPC1の各部を制御する。ROM12にはCPU11によって実行される各種のプログラムやデータなどが記憶されている。RAM13はCPU11が各種の処理を実行するための主記憶装置として用いられる。
記憶部14は、ハードディスクやフラッシュメモリなどを用いて各種のプログラムやデータを記憶する不揮発性メモリである。記憶部14には、オペレーティングシステム(OS)、ワードプロセッサや表計算などのアプリケーションプログラム(以下「アプリケーション」という)、ユニバーサルプリンタドライバ(ユニバーサルドライバの一例)などが記憶される。本実施形態ではOSとしてMicrosoft社のWINDOWS(登録商標)を例に説明する。なお、OSはWINDOWS(登録商標)に限られるものではない。
ディスプレイ駆動回路15は、CRTや液晶ディスプレイなどの表示装置18を駆動する回路であり、ケーブルを介して表示装置18と接続されている。
USBインタフェース16はUSB(Universal Serial Bus)ホストインタフェースとして構成されており、USBケーブルを介してマウスやキーボードなどの入力装置19と接続されている。
ネットワークインタフェース17はLANやインターネットなどの通信ネットワーク5を介して1以上のプリンタ31(デバイスの一例)と通信可能に接続されている。
(2)プリンタ
複数のプリンタ31(プリンタA〜C、及び複合機D、デバイスの一例)は、紙などの被記録媒体に電子写真方式、インクジェット方式などで画像を形成する装置である。複合機はプリンタ機能とスキャナ機能とを備える装置であり、本実施形態では複合機も含めてプリンタという。複数のプリンタ31は異なるメーカーのものであってもよいし、同一メーカーの互いに異なる機種であってもよい。
以降の説明において単にプリンタ31というときはプリンタA〜C、及び複合機Dのいずれか一つのことをいう。
(3)通信ポートの追加、切り替え
図2は、通信ポートの追加、切り替えを概念的に説明するための模式図である。ここでは通信ポートとしてTCP/IPポートを例に説明する。TCP/IPポートは通信ネットワーク5を介してプリンタ31と通信するための論理的なインタフェースである。TCP/IPポートはWINDOWSではStandardTCP/IPポートと呼ばれている。なお、通信ポートはTCP/IPポートに限られるものではなく、シリアルポート、パラレルポート、USBポートなどであってもよい。
通信ポート41の追加はポート切替ツール43を介して行われる。ポート切替ツール43はユニバーサルプリンタドライバ40の一部として同時にインストールされるプログラムである。ポート切替ツール43は、ユニバーサルプリンタドライバ40からポートの追加が要求されると、ポートモニタ42にポート追加命令を出力する。ポートモニタ42はOSにより提供されるプログラムである。ポートモニタ42は、そのポート追加命令で指定されているIPアドレス(通信ネットワーク5上の所在を示す所在情報)を用いて通信ポート41を追加し、追加した通信ポートにそのポート追加命令で指定されているポート名を付与する。
通信ポート41はポート名が異なる限り同時に複数存在することができ、ポートモニタ42はポート切替命令が出力されると、そのポート切替命令で指定されているポート名によって識別される通信ポート41を有効にする。これにより、その通信ポートが、「使用する通信ポート」として設定される。
(4)画面遷移
図3は、ユニバーサルプリンタドライバ40によって表示装置18に表示される画面の画面遷移図である。ここではアプリケーションによって表示される印刷画面51も併せて示している。
ここで、本実施形態では複数のユーザがPC1を共有するものとする。ユーザにはそれぞれユーザIDが付与されており、各ユーザはそれぞれ自身のユーザIDでOSにログインしてユニバーサルプリンタドライバ40を利用する。理解を容易にするため、ここでは同時に一人だけがログインするものとする。
また、ユニバーサルドライバ40はOSが提供するAPIを呼び出すことにより、当該ユニバーサルドライバ40を実行しているユーザ(PC1にログインしているユーザ)のユーザIDや個人フォルダ(OSによってユーザ毎に割り当てられている個人用のフォルダ)の場所を知ることができるものとする。
アプリケーションによって表示される印刷画面51でユーザがプリンタ31を選択して[プロパティ]ボタン51aをクリックすると、選択されているプリンタ31のプリンタドライバが呼び出される。
ユニバーサルプリンタドライバ40(図2参照)は複数機種のプリンタを制御可能なプリンタドライバであり、特定のプリンタ31に対応するものではないので、ユニバーサルプリンタドライバ40を呼び出す場合はプリンタ31ではなくユニバーサルプリンタドライバ40を直接選択して[プロパティ]ボタン51aをクリックする。ここではユニバーサルプリンタドライバ40が選択されて[プロパティ]ボタン51aがクリックされたものとする。
呼び出されたユニバーサルプリンタドライバ40は、希望するプリンタ31をユーザに選択させるためのプリンタ選択画面52を表示する。具体的には、アプリケーションから呼び出されたユニバーサルプリンタドライバ40は、プリンタ31にデバイス情報を要求するデータをブロードキャストによって送信し、その返答として以下に説明するデバイス情報を取得する。
デバイス情報とは、具体的には、デバイス名、通信ネットワーク5上の所在を示す所在情報(IPアドレス、ドメイン名など)、そのデバイスが備える機能を示す機能情報などである。機能情報には、プリンタ機能、スキャナ機能、ファクシミリ機能などの有無を示す情報や、プリンタ機能の対応用紙サイズ、両面印刷の可否、カラー印刷の可否などといったように各機能のより詳細な情報などが含まれる。
ユニバーサルプリンタドライバ40は各プリンタ31から取得したデバイス情報を基に、プリンタの情報をプリンタ選択画面52に一覧表示する(指定処理の一例)。
プリンタ選択画面52でユーザがプリンタ31を選択して[OK]ボタン52aをクリックすると、ユニバーサルプリンタドライバ40は、先ず、選択されているプリンタ31と通信するための通信ポート41が存在しているか否かを判定する。選択されているプリンタ31と通信するための通信ポート41が存在しているか否かの判定はOSから通信ポート41の情報を取得することによって行うことができる。
選択されているプリンタ31と通信するための通信ポート41が存在していない場合には、ユニバーサルプリンタドライバ40は所定の命名規則に従ってポート名(ポート識別情報の一例)を生成し、そのポート名と当該選択されているプリンタ31のIPアドレスとを指定してポート切替ツール43にポートの追加を要求する。
ここで、本実施形態ではユニバーサルプリンタドライバ40を表す所定の文字列と選択されているプリンタ31のIPアドレスとを"_"で結合した文字列をポート名として用いる。
次に、ユニバーサルプリンタドライバ40は、上述したポート名を指定してポート切替ツール43にポートの切替を要求する。ポートの切替を要求されたポート切替ツール43は、ポートモニタ42にポート切替命令を出力する(要求処理の一例)。ポートモニタ42は、指定されたポート名によって識別される通信ポート41を有効にする。これにより、そのポート名によって識別される通信ポート41が「使用する通信ポート」として設定される。
次に、ユニバーサルプリンタドライバ40は、上述したポート名(ユーザが選択したプリンタ31と通信するための通信ポート41のポート名)を、当該ユニバーサルプリンタドライバ40を実行しているユーザ(PC1にログインしているユーザ)に対応付けて記憶部14に記憶する(記憶処理の一例)。
具体的には例えば、ユニバーサルプリンタドライバ40は、当該ユニバーサルプリンタドライバ40を実行しているユーザの個人フォルダ(あるいは個人フォルダの下に作成されている所定のフォルダであってもよい)に所定のファイル名(例えば「Printer.ini」)を付したINIファイルを生成し、そのINIファイルにポート名を書き込む。INIファイルはWINDOWSにおいて一般に用いられている所定の形式のテキストファイルであり、アプリケーションの設定情報を記憶しておく場合などに用いられるファイルである。
図4は、ポート名が書き込まれたINIファイルの一例を示す模式図である。ユーザが以前にプリンタ31を選択している場合には既にINIファイル61にポート名が書き込まれているので、その場合には既に書き込まれているポート名を、ユーザが新たに選択したプリンタ31と通信するための通信ポート41のポート名で上書きする。つまり、INIファイル61にはそのINIファイル61が格納されている個人フォルダの所有者であるユーザが最後に選択したプリンタ31と通信するための通信ポート41のポート名が書き込まれていることになる。
なお、INIファイル61には隠し属性を設定しておくことが望ましい。これにより、ユーザが誤ってINIファイル61を削除してしまう可能性を低減できる。
また、ユニバーサルプリンタドライバ40はINIファイル61に書き込む以外の方法でポート名をユーザと対応付けて記憶してもよい。例えば、ユーザのユーザIDとポート名とを対応付けてレジストリに書き込むことによって記憶してもよい。
図3に戻り、ユニバーサルプリンタドライバ40は、ポート名をユーザと対応付けて記憶させると、プリンタ選択画面52を閉じて、ユーザに印刷条件を設定させるための印刷設定画面53を表示する。印刷条件とは、用紙サイズ、縦横、カラー/モノクロ、両面/片面などの印刷設定項目の設定値の組み合わせをいう。
印刷設定画面53でユーザが印刷条件を設定した後、[OK]ボタン53aをクリックすると、選択されたプリンタと印刷条件とが確定し、印刷設定画面53が閉じて印刷画面51に戻る。
印刷画面51でユーザが[OK]ボタン51bをクリックすると、アプリケーションからOS(GDI及びプリントスプーラ)を介してユニバーサルプリンタドライバ40に印刷命令が出力される(図2参照)。OSから印刷命令が出力されると、ユニバーサルプリンタドライバ40は後述する印刷処理を実行する。
[OK]ボタン51bのクリックはユーザによる実行指示の入力の一例である。OSからユニバーサルプリンタドライバ40に印刷命令が出力されることは「オペレーティングシステムから機能の実行が指示される」ことの一例である。
ここで、ユーザは必ずしも毎回プリンタ31を選択する必要はなく、前回と同じプリンタ31に印刷を実行させる場合は印刷画面51で[プロパティ]ボタン51aをクリックすることなく[OK]ボタン51bをクリックしてもよい。
(5)印刷処理
次に、OSから印刷命令が出力されたときにユニバーサルプリンタドライバ40によって実行される印刷処理について説明する。
(5−1)印刷処理の全体的な流れ
図5は、印刷処理の全体的な流れを示すフローチャートである。
S101では、ユニバーサルプリンタドライバ40を実行するCPU11(以下、単に「プリンタドライバ」という)は、実行指示を入力したユーザ(「ユニバーサルドライバを実行させているユーザ」の一例)の個人フォルダに格納されているINIファイル61からポート名を読み込む。そして、「使用する通信ポート」として設定されている通信ポート41のポート名をOSから取得し、それらが一致するか否かを判定する(判定処理の一例)。
S102では、プリンタドライバはS101でそれらが一致すると判定した場合はS103に進み、一致しないと判定した場合はS104に進む。
S103では、プリンタドライバは印刷を実行する。
具体的には、プリンタドライバはアプリケーションから出力された印刷命令とユーザによって設定された印刷条件(印刷画面51で設定された印刷条件、及び印刷設定画面53で設定された印刷条件)とに基づいて印刷データ(デバイスに機能を実行させるための制御コマンドの一例)を生成する。そして、「使用する通信ポート」として設定されている通信ポート41にその印刷データを出力する(出力処理の一例)。
「使用する通信ポート」として設定されている通信ポート41に出力された印刷データは当該通信ポート41に対応するプリンタ31に出力され、印刷データが出力されたプリンタ31はその印刷データに従って印刷を実行する。これにより、プリンタ31で印刷が実行される。
S104では、プリンタドライバは、実行指示を入力したユーザに「使用する通信ポート」が変更されていることを通知する処理である「通知処理」を実行して処理を終了する。
(5−2)通知処理
図6は、「通知処理」の流れを示すフローチャートである。
S201では、プリンタドライバは図7に示すメッセージ画面70を表示装置18に表示する。図示するように、メッセージ画面70には「ポートが別要因で切り替わっています。適切なプリンタを選択しなおしてください。」というメッセージが表示される。
S202では、プリンタドライバはOSから出力された印刷命令を破棄する。これにより印刷がキャンセルされる(「機能の実行をキャンセルする処理」の一例)。
(6)実施形態の効果
以上説明した本発明の実施形態1に係るユニバーサルプリンタドライバ40によると、実行指示を入力したユーザに対応付けられているポート名と「使用する通信ポート」として設定されている通信ポート41のポート名とが一致しない場合には実行指示を入力したユーザに「使用する通信ポート」が変更されていることを通知する(表示装置18にメッセージ画面70を表示する)。
これにより、先にデバイスを選択したユーザは、別のユーザによって「使用する通信ポート」が変更されていることを知らず、デバイスの選択(指定)を行わずに実行指示を入力してしまった場合に、「使用する通信ポート」が変更されていることを知ることができる。「使用する通信ポート」が変更されていることを知ったユーザは、印刷がキャンセルされた後にプリンタ31を選択し直して再度実行指示を入力することにより、意図したプリンタ31で印刷を実行することができる。
このようにユニバーサルプリンタドライバ40によると、1台のPC1で複数のユーザがユニバーサルプリンタドライバ40を共有する場合に、実行指示を入力したユーザが意図したプリンタ31で印刷を実行することができる。これにより、ユーザが意図したプリンタ31で印刷が実行されないことによるユーザの混乱を低減できる。
更に、このユニバーサルプリンタドライバ40によると、実行指示を入力したユーザに対応付けられているポート名と「使用する通信ポート」として設定されている通信ポート41のポート名とが一致しない場合には印刷をキャンセルする。従って、ユーザが意図したプリンタ31以外のプリンタで印刷が実行されてしまうことを低減できる。
<実施形態2>
次に、本発明の実施形態2を図8ないし図10によって説明する。
実施形態2は、実施形態1の変形例である。実施形態1ではS102で一致しないと判定した場合は印刷をキャンセルしたが、実施形態2ではS102で一致しないと判定した場合の処理をユーザに選択させ、ユーザによって選択された処理を実行する。
図8は、実施形態2に係る「通知処理」の流れを示すフローチャートである。 S301では、プリンタドライバは図9に示すメッセージ画面71を表示装置18に表示してユーザに処理を選択させる。
図示するように、メッセージ画面71には「ポートが別要因で切り替わっています。このまま印刷しますか?」というメッセージが表示される。メッセージ画面71には[最後に使用したプリンタで印刷]ボタン71a、[続行]ボタン71b、及び[キャンセル]ボタン71cが設けられており、ユーザはいずれかのボタンをクリックすることによって処理を選択する。
S302では、プリンタドライバはいずれのボタンがクリックされたかを判定し、[最後に使用したプリンタで印刷]ボタン71aがクリックされた場合はS303に進み、[続行]ボタン71bがクリックされた場合はS304に進み、[キャンセル]ボタン71cがクリックされた場合はS305に進む。
S303では、プリンタドライバは、実行指示を入力したユーザの個人フォルダ(あるいは個人フォルダの下に作成されている所定のフォルダ)に格納されているINIファイル61(例えば「Printer.ini」)からポート名を読み込み、読み込んだポート名を指定してOSにポート切替命令を出力する。これにより、読み込んだポート名によって識別される通信ポート41が「使用する通信ポート」として設定される。
S304では、プリンタドライバは印刷を実行する。印刷を実行する処理はS103の処理と同じであるので説明は省略する。
S305では、プリンタドライバは印刷をキャンセルする。
以上説明した本発明の実施形態2に係るユニバーサルプリンタドライバによると、通知が行われた後の処理をユーザが選択できる。
<実施形態3>
次に、本発明の実施形態3を図11ないし図12によって説明する。
実施形態3は、実施形態2の変形例である。実施形態2ではS301で通知が行われた後にユーザが処理を選択しているが、実施形態3では、通知が行われた後に処理を選択するか、通知が行われた後の処理を事前に選択しておくかをユーザが選択できる。
図10は、通知が行われた後に処理を選択するか、通知が行われた後の処理を事前に選択しておくかをユーザが予め選択するためのオプション画面の一例を示す模式図である。オプション画面72は、プリンタ選択画面52から呼び出すことができる。具体的には、実施形態3に係るプリンタ選択画面52には図示しない[オプション]ボタンが設けられており、ユーザは[オプション]ボタンをクリックすることでオプション画面72を表示させることができる。
図示するように、オプション画面72には[毎回通知する]、「最後に使用したプリンタで印刷する」、「そのまま印刷する」、「印刷をキャンセルする」の4つのオプションが表示され、ユーザはこれらの中からいずれか一つのオプションを選択できる。
図11は、実施形態3に係る印刷処理の流れを示すフローチャートである。ここでは実施形態1と実質的に同一の処理には同一の符号を付して説明を省略する。
S401では、プリンタドライバは、オプション画面72での選択が「毎回通知する」であるか否かを判定し、「毎回通知する」が選択されている場合はS402に進み、それ以外のオプションが選択されている場合はS403に進む。
S402では、プリンタドライバは、実施形態2で説明した「通知処理」を実行する。
S403では、プリンタドライバは、「オプションに応じた処理」を実行する。
図12は、上述した「オプションに応じた処理」の流れを示すフローチャートである。ここでは実施形態2で説明した「通知処理」と実質的に同一の処理には同一の符号を付して説明を省略する。
S501では、プリンタドライバは、いずれのオプションが選択されているかを判定し、「最後に使用したプリンタで印刷する」が選択されている場合はS303に進み、「そのまま印刷する」が選択されている場合はS304に進み、「印刷をキャンセルする」が選択されている場合はS305に進む。
以上説明した本発明の実施形態3に係るユニバーサルプリンタドライバによると、通知が行われた後に処理を選択するか、通知が行われた後の処理を事前に選択しておくかをユーザが選択できる。
<他の実施形態>
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
(1)上記実施形態1では実行指示を入力したユーザに対応付けられているポート名と「使用する通信ポート」として設定されている通信ポート41のポート名とが一致しない場合には通知(メッセージ画面70の表示)を行って印刷をキャンセルする場合を例に説明した。しかしながら、印刷をキャンセルするのではなく、「最後に使用したプリンタで印刷する」ようにしてもよい。
又は、プリンタ選択画面52を再度表示(指定処理を再度実行)してユーザにプリンタ31を選択させ直してもよい。この場合は、ユーザによって選択され直したプリンタ31と通信するための通信ポート41を「使用する通信ポート」として設定するためのポート切替命令をポート切替ツール43を介してOSに出力し、その後にその「使用する通信ポート」に印刷データを出力すればよい。
又は、「そのまま印刷する」ようにしてもよい。実施形態1では通知が行われた後の処理をユーザが選択できないので、「そのまま印刷する」ようにするとユーザが最初に意図したプリンタ31以外のプリンタ31で印刷が実行されてしまうことになるが、事前に通知しているので、最初に意図したプリンタ31で印刷が実行されないことによるユーザの混乱を低減できる。
(2)上記実施形態3では、通知を行った後に処理を選択するか、又は事前に処理を選択しておくかをユーザが選択できる場合を例に説明したが、この選択を行わせず、通知が行われた後に処理を選択させるか、又は事前に選択させるかのいずれか一方に固定されていてもよい。
(3)上記実施形態2ではユーザが選択可能な処理として「最後に使用したプリンタで印刷」、「続行」、「キャンセル」を例に説明したが、選択可能な処理はこれらのうちいずれか2つだけであってもよい。実施形態3で事前に処理を選択させる場合も同様である。
また、選択可能な処理はこれらに限られるものではなく、例えばプリンタ選択画面52を再度表示してユーザにプリンタ31を選択させ直す処理であってもよい。
(4)上記実施形態ではユニバーサルドライバとしてユニバーサルプリンタドライバを例に説明したが、ユニバーサルドライバはユニバーサルプリンタドライバに限られるものではなく、例えばユニバーサルスキャナドライバであってもよい。
1・・・コンピュータ
5・・・通信ネットワーク
11・・・CPU
12・・・ROM
13・・・RAM
14・・・記憶部
15・・・ディスプレイ駆動回路
16・・・USBインタフェース
17・・・ネットワークインタフェース
18・・・表示装置
19・・・入力装置
31・・・プリンタ
40・・・ユニバーサルプリンタドライバ
41・・・通信ポート
52・・・プリンタ選択画面
53・・・印刷設定画面
61・・・INIファイル
70・・・メッセージ画面
71・・・メッセージ画面
72・・・オプション画面

Claims (7)

  1. オペレーティングシステムを実行するコンピュータで実行されるユニバーサルドライバであって、
    前記コンピュータと通信可能に接続されているデバイスの中から機能を実行させるデバイスをユーザに指定させる指定処理と、
    前記指定処理において指定されたデバイスと通信するための通信ポートを、使用する通信ポートとして設定するよう前記オペレーティングシステムに要求する要求処理と、
    前記指定処理において指定されたデバイスと通信するための通信ポートのポート識別情報を前記ユーザに対応付けて記憶部に記憶させる記憶処理と、
    前記オペレーティングシステムから機能の実行が指示されると、当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報と、前記使用する通信ポートとして設定されている通信ポートのポート識別情報とが一致するか否かを判定する判定処理と、
    前記判定処理で一致すると判定された場合に、前記デバイスに機能を実行させるための制御コマンドを前記使用する通信ポートとして設定されている通信ポートに出力する出力処理と、
    前記判定処理で一致しないと判定された場合に、当該ユニバーサルドライバを実行させている前記ユーザに前記使用する通信ポートが変更されていることを通知する通知処理と、
    を前記コンピュータに実行させるユニバーサルドライバ。
  2. 請求項1に記載のユニバーサルドライバであって、
    前記通知処理において通知を行った後に、
    機能の実行をキャンセルする処理、
    前記指定処理を再度実行してユーザにデバイスを指定させ、指定されたデバイスと通信するための通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、
    又は、
    当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報によって識別される通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理を前記コンピュータに実行させる、ユニバーサルドライバ。
  3. 請求項1に記載のユニバーサルドライバであって、
    前記通知処理において通知を行った後に、通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理をユーザに選択させ、ユーザによって選択された処理を実行する、ユニバーサルドライバ。
  4. 請求項1に記載のユニバーサルドライバであって、
    通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理を事前にユーザに選択させておき、前記通知処理において通知を行った後に、ユーザによって事前に選択されている前記処理を実行する、ユニバーサルドライバ。
  5. 請求項1に記載のユニバーサルドライバであって、
    前記通知処理において通知を行った後に、通知を行った後の処理として予め設定されている複数の処理の中からいずれかの処理をユーザに選択させ、ユーザによって選択された処理を実行するか、
    又は、
    前記複数の処理の中からいずれかの処理を事前にユーザに選択させておき、前記通知処理において通知を行った後に、ユーザによって事前に選択されている処理を実行するか、
    をユーザに選択させる、ユニバーサルドライバ。
  6. 請求項3乃至請求項5のいずれか一項に記載のユニバーサルドライバであって、
    前記複数の処理は、
    機能の実行をキャンセルする処理、
    前記指定処理を再度実行してユーザにデバイスを指定させ、指定されたデバイスと通信するための通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、
    当該ユニバーサルドライバを実行させているユーザに対応付けられて前記記憶部に記憶されているポート識別情報によって識別される通信ポートを前記使用する通信ポートとして設定するよう前記オペレーティングシステムに要求し、その後に前記制御コマンドを出力する処理、
    又は、
    前記使用する通信ポートの設定を変更せずに前記制御コマンドを出力する処理、
    のうち少なくとも二つの処理を含む、ユニバーサルドライバ。
  7. コンピュータを用いたデバイス制御方法であって、
    前記コンピュータと通信可能に接続されているデバイスの中から機能を実行させるデバイスをユーザに指定させる指定段階と、
    前記指定段階において指定されたデバイスと通信するための通信ポートを、使用する通信ポートとして設定する設定段階と、
    前記指定段階において指定されたデバイスと通信するための通信ポートのポート識別情報を前記ユーザに対応付けて記憶部に記憶させる記憶段階と、
    ユーザから実行指示の入力を受け付ける受付段階と、
    前記実行指示を入力したユーザに対応付けられて前記記憶部に記憶されているポート識別情報と、前記使用する通信ポートとして設定されている通信ポートのポート識別情報とが一致するか否かを判定する判定段階と、
    前記判定段階で一致すると判定された場合に、前記デバイスに機能を実行させるための制御コマンドを前記使用する通信ポートとして設定されている通信ポートに出力する出力段階と、
    前記判定段階で一致しないと判定された場合に、前記実行指示を入力した前記ユーザに前記使用する通信ポートが変更されていることを通知する通知段階と、
    を含むデバイス制御方法。
JP2010170712A 2010-07-29 2010-07-29 ユニバーサルドライバ、及びデバイス制御方法 Active JP5392201B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010170712A JP5392201B2 (ja) 2010-07-29 2010-07-29 ユニバーサルドライバ、及びデバイス制御方法
US13/075,251 US8448192B2 (en) 2010-07-29 2011-03-30 Computer readable medium storing a universal driver, method of controlling a device and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010170712A JP5392201B2 (ja) 2010-07-29 2010-07-29 ユニバーサルドライバ、及びデバイス制御方法

Publications (2)

Publication Number Publication Date
JP2012032937A JP2012032937A (ja) 2012-02-16
JP5392201B2 true JP5392201B2 (ja) 2014-01-22

Family

ID=45528037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010170712A Active JP5392201B2 (ja) 2010-07-29 2010-07-29 ユニバーサルドライバ、及びデバイス制御方法

Country Status (2)

Country Link
US (1) US8448192B2 (ja)
JP (1) JP5392201B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5477318B2 (ja) * 2011-03-22 2014-04-23 ブラザー工業株式会社 端末装置
JP6155607B2 (ja) * 2012-11-19 2017-07-05 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP2018073196A (ja) * 2016-10-31 2018-05-10 キヤノン株式会社 情報処理装置、制御方法およびプログラム
US10565964B2 (en) * 2017-04-24 2020-02-18 Intel Corporation Display bandwidth reduction with multiple resolutions
US10747205B2 (en) * 2018-05-18 2020-08-18 Ingersoll-Rand Industrial U.S., Inc. Electronic tool and method for copying a plurality of settings from a mechanical tool to another mechanical tool
JP7247644B2 (ja) * 2019-02-25 2023-03-29 ブラザー工業株式会社 プログラム、情報処理装置、及びセットアップ方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172469A (ja) * 1998-12-09 2000-06-23 Sharp Corp 印刷設定情報の自動表示方法
JP2005100270A (ja) * 2003-09-26 2005-04-14 Minolta Co Ltd プリント制御プログラムおよび印刷装置
JP3821138B2 (ja) * 2004-04-23 2006-09-13 コニカミノルタビジネステクノロジーズ株式会社 ポート設定変更装置、ポート設定変更制御プログラム及びポート設定変更方法
US7529920B2 (en) * 2004-06-11 2009-05-05 Canon Kabushiki Kaisha Apparatus and method capable of executing plug and play installation processing operation upon acquiring one piece of device identification information including both printer and facsimile identification information
JP4667281B2 (ja) * 2006-02-20 2011-04-06 キヤノン株式会社 周辺装置制御方法及びその情報処理装置と制御プログラム
US20100027054A1 (en) * 2008-05-08 2010-02-04 Pharos Systems International, Inc. Computer network including a printer control device with web server interface and related methods
JP2009301127A (ja) * 2008-06-10 2009-12-24 Seiko Epson Corp プリンタドライバプログラム及び印刷指示装置
JP2009301312A (ja) * 2008-06-13 2009-12-24 Konica Minolta Business Technologies Inc プリンタドライバ
JP4587132B2 (ja) * 2008-10-10 2010-11-24 コニカミノルタビジネステクノロジーズ株式会社 制御機器設定方法及びプログラム

Also Published As

Publication number Publication date
US20120030690A1 (en) 2012-02-02
US8448192B2 (en) 2013-05-21
JP2012032937A (ja) 2012-02-16

Similar Documents

Publication Publication Date Title
US9355046B2 (en) Information processing apparatus, information processing method, and computer-readable medium
JP5321929B2 (ja) ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP7166799B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
US9864553B2 (en) Information processing apparatus configured to display icon
JP6578851B2 (ja) 情報処理装置およびプログラム
JP5293035B2 (ja) データ処理装置、データ処理方法、プログラムおよび記録媒体
JP5458909B2 (ja) 情報処理装置、印刷制御プログラム、コンピュータ読み取り可能な記憶媒体、画像処理装置、及びプリントシステム
JP5392201B2 (ja) ユニバーサルドライバ、及びデバイス制御方法
JP5201188B2 (ja) デバイス制御プログラム、及び、印刷プログラム
JP2007172087A (ja) 仮想オブジェクトを登録するためのプログラム、該プログラムを記憶する記憶媒体、仮想オブジェクト登録方法、及び情報処理装置
JP5962391B2 (ja) 印刷制御プログラム、及び、印刷制御装置
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP5648758B1 (ja) 印刷指示支援装置、印刷システム及びプログラム
US8725908B2 (en) Information processing apparatus, peripheral apparatus control method, and storage medium
JP2012098821A (ja) デバイス制御プログラム、及びデバイス
US8682194B2 (en) Managing peripheral devices using display a screen
JP6988081B2 (ja) 画像形成装置、画像形成システム、操作装置およびプログラム
JP5454441B2 (ja) ユニバーサルデバイスドライバ、及び、デバイス制御方法
JP2008283666A (ja) 情報処理装置、情報処理システム、及びプログラム
JP2016177352A (ja) 情報処理装置、情報処理システム、印刷設定の登録方法、及びプログラム
US9262109B2 (en) Print instruction apparatus, printing system, and non-transitory computer readable medium
JP2019160061A (ja) 情報処理装置、情報処理方法及びプログラム
JP2012252411A (ja) 選択プログラム、画像処理装置、及び、コンピュータ
JP2013196259A (ja) データ処理装置、データ処理システムおよびプログラム
JP5043993B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R150 Certificate of patent or registration of utility model

Ref document number: 5392201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150