(57)【要約】【課題】  ユーザが機器装置を接続したときに、支障となるソフトウェアを起動しないようにすること。【解決手段】  機器装置と接続が可能な情報処理装置におけるプログラムの起動制御方法であって、前記機器装置が接続された時に前記情報処理装置で稼動している稼動プログラムを検索する検索ステップと（Ｓ３０１）、前記検索された稼動プログラムが、前記機器装置の接続に応じて起動する予め設定された機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムを含んでいるかどうかを判断する判断ステップと（Ｓ３０２、Ｓ３０３）、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいない場合に前記機器対応ソフトウェアを起動し（Ｓ３０４）、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動ステップと（Ｓ３０５）を有する。【選択図】  図３
2010204843.tif 000002
【特許請求の範囲】
【請求項１】
機器装置と接続が可能な情報処理装置におけるプログラムの起動制御方法であって、
検索手段が、前記機器装置が接続された時に前記情報処理装置で稼動している稼動プログラムを検索する検索ステップと、
判断手段が、前記検索された稼動プログラムが、前記機器装置の接続に応じて起動する予め設定された機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムを含んでいるかどうかを判断する判断ステップと、
起動手段が、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいない場合に前記機器対応ソフトウェアを起動し、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動ステップと
を有することを特徴とする起動制御方法。
【請求項２】
前記起動手段が、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを起動するステップを更に有することを特徴とする請求項１に記載の起動制御方法。
【請求項３】
前記判断手段が、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいる場合に、前記機器対応ソフトウェアの起動待ちをするかどうかを判断するステップと、
起動待ちをすると判断した場合に、前記起動手段が、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを起動するステップと
を更に有することを特徴とする請求項２に記載の起動制御方法。
【請求項４】
機器装置と接続が可能な情報処理装置におけるプログラムの起動制御方法であって、
起動手段が、前記機器装置の接続に応じて、該機器装置に対応する予め決められた機器対応ソフトウェアを起動する起動ステップと、
検索手段が、前記機器装置が接続された時に稼動している稼動プログラムを検索する検索ステップと、
判断手段が、前記検索された稼動プログラムが、前記機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムを含んでいるかどうかを判断する判断ステップと、
前記起動手段が前記稼動プログラムが前記同時稼動不適格プログラムを含んでいれば、前記機器対応ソフトウェアを終了させる終了ステップと
を有することを特徴とする起動制御方法。
【請求項５】
前記起動手段が、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを再起動するように制御することを特徴とする請求項４に記載の起動制御方法。
【請求項６】
前記判断手段が、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいる場合に、前記機器対応ソフトウェアを再起動するかどうかを判断するステップと、
再起動すると判断した場合に、前記起動手段が、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを再起動するステップと
を有することを特徴とする請求項５に記載の起動制御方法。
【請求項７】
印刷装置と接続が可能な情報処理装置におけるプログラムの起動制御方法であって、
検索手段が、前記印刷装置が接続された時に稼動している稼動プログラムを検索する検索ステップと、
取得手段が、前記印刷装置が接続された時に、該印刷装置の状態を取得する取得ステップと、
判断手段が、前記稼動プログラムが、前記取得した印刷装置の状態に対応する状態対応ソフトウェアを含んでいるかどうかを判断する判断ステップと、
起動手段が、前記稼動プログラムが前記状態対応ソフトウェアを含んでいない場合に、前記印刷装置の接続に応じて予め設定された機器対応ソフトウェアを起動し、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動ステップと
を有することを特徴とする起動制御方法。
【請求項８】
印刷装置と接続が可能な情報処理装置におけるプログラムの起動制御方法であって、
検索手段が、前記印刷装置が接続された時に稼動している稼動プログラムを検索する検索ステップと、
取得手段が、前記印刷装置が接続された時に、該印刷装置の状態を取得する取得ステップと、
判断手段が、前記稼動プログラムが、前記取得した印刷装置の状態に対応する状態対応ソフトウェアを含んでいるかどうかを判断する判断ステップと、
起動手段が、前記稼動プログラムが前記状態対応ソフトウェアを含んでいない場合に、前記印刷装置の接続に応じて予め設定された機器対応ソフトウェアを起動し、含んでいる場合に、該状態対応ソフトウェアを印刷に用いたことがあるかどうかを判断し、用いていない場合に前記機器対応ソフトウェアを起動しないように制御し、用いたことがある場合、ユーザにより前記機器対応ソフトウェアが指示されると、該機器対応ソフトウェアを起動する起動ステップと
を有することを特徴とする起動制御方法。
【請求項９】
機器装置の接続に応じて起動する機器対応ソフトウェアの種類と、該機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムの種類とを記憶する記憶手段と、
前記機器装置が接続された時に稼動している稼動プログラムを検索する検索手段と、
前記稼動プログラムが前記同時稼動不適格プログラムを含んでいるかどうかを判断し、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいない場合に前記機器対応ソフトウェアを起動し、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動手段と
を有することを特徴とする起動制御装置。
【請求項１０】
前記起動手段は、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを起動するように制御することを特徴とする請求項９に記載の起動制御装置。
【請求項１１】
前記起動手段は、更に、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいる場合に、前記機器対応ソフトウェアの起動待ちをするかどうかを判断し、起動待ちをすると判断した場合に、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを起動するように制御することを特徴とする請求項１０に記載の起動制御装置。
【請求項１２】
機器装置の接続に応じて、該機器装置に対応する機器対応ソフトウェアを起動する起動手段と、
機器対応ソフトウェアの種類と該機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムの種類とを記憶する記憶手段と、
前記機器装置が接続された時に稼動している稼動プログラムを検索する検索手段とを有し、
前記起動手段は、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいるかどうかを判断し、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいれば、前記機器対応ソフトウェアを終了させることを特徴とする起動制御装置。
【請求項１３】
前記起動手段は、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを再起動するように制御することを特徴とする請求項１２に記載の起動制御装置。
【請求項１４】
前記起動手段は、更に、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいる場合に、前記機器対応ソフトウェアを再起動するかどうかを判断し、再起動すると判断した場合に、前記同時稼動不適格プログラムの終了後に、前記機器対応ソフトウェアを再起動するように制御することを特徴とする請求項１３に記載の起動制御装置。
【請求項１５】
印刷装置の状態に対応する状態対応ソフトウェアの種類と、前記印刷装置の接続に応じて起動する機器対応ソフトウェアの種類とを記憶する記憶手段と、
前記印刷装置が接続された時に稼動している稼動プログラムを検索する検索手段と、
前記印刷装置が接続された時に、該印刷装置の状態を取得する取得手段と、
前記稼動プログラムが、前記取得した印刷装置の状態に対応する前記状態対応ソフトウェアを含んでいるかどうかを判断し、前記稼動プログラムが前記状態対応ソフトウェアを含んでいない場合に前記機器対応ソフトウェアを起動し、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動手段と
を有することを特徴とする起動制御装置。
【請求項１６】
印刷装置の状態に対応する状態対応ソフトウェアの種類と、前記印刷装置の接続に応じて起動する機器対応ソフトウェアの種類とを記憶する記憶手段と、
前記印刷装置が接続された時に稼動している稼動プログラムを検索する検索手段と、
前記印刷装置が接続された時に、該印刷装置の状態を取得する取得手段と、
前記稼動プログラムが、前記取得した印刷装置の状態に対応する状態対応ソフトウェアを含んでいるかどうかを判断し、前記稼動プログラムが前記状態対応ソフトウェアを含んでいない場合に、前記印刷装置の接続に応じて予め設定された機器対応ソフトウェアを起動し、含んでいる場合に、該状態対応ソフトウェアを印刷に用いたことがあるかどうかを判断し、用いていない場合に前記機器対応ソフトウェアを起動しないように制御し、用いたことがある場合、ユーザにより前記機器対応ソフトウェアが指示されると、該機器対応ソフトウェアを起動するように制御する起動手段と
を有することを特徴とする起動制御装置。
【請求項１７】
コンピュータに、請求項１乃至８のいずれか１項に記載の起動制御方法の各ステップを実行させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器装置を接続した場合におけるプログラムの起動制御の技術に関する。
【背景技術】
【０００２】
従来の機器制御装置において、デバイス機器が接続されたときに起動するソフトウェアの起動を制御するものがあった（例えば特許文献１参照）。これは、デバイス機器に応じて起動できるソフトウェアの数を設定しておき、設定された数を超えるデバイス機器が接続されたときに、そのデバイス機器に対応するソフトウェアの起動を待機状態とするものであった。
【０００３】
また従来のタスク起動方法において、複数の機能処理を連携して実行するタスクフローを管理するサーバ装置と通信して行うタスク起動方法があった（例えば特許文献２参照）。この方法では、要求される機能に基づくタスクフローがサーバ装置に登録されているかどうかを判断して、登録されているタスクフローを参照して要求される機能に対応する複数の機能処理を実行する。
【０００４】
また、従来の印刷システムにおいては、印刷装置に装着されている紙のカセットの種類を判別して、印刷装置の紙カセットに応じて異なるソフトウェアを自動的に起動するものがあった（例えば特許文献３参照）。これは、紙のカセットの種類（名刺サイズなど）と印刷するソフトウェア（名刺印刷をするソフトウェアなど）の組み合わせをあらかじめ登録しておき、その情報に基づいて起動するソフトウェアを変えるものであった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２５９８８６号公報
【特許文献２】特開２００８−２１１７４７号公報
【特許文献３】特開２０００−０４７８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の機器制御装置では、機器を接続したときに、対応するソフトウェアを常に起動していた。この時、例えば、ユーザがドライバインストール中に機器を接続する場合があり、その場合であっても機器に対応するソフトウェアを起動してしまう。そのため、ドライバインストールが起動するソフトウェアで隠され、あるいはリソースを競合してしまい、ドライバインストールの動作が阻害され、あるいは遅延させられることがある。そのため、ソフトウェアが起動している間、ユーザの操作は阻害されてしまい、さらにはそのソフトウェアを終了させる手間が必要であった。また、ドライバのインストールは終了していないため、起動されるソフトウェアはそのドライバを使用できない状態で起動されるという問題もある。
【０００７】
また、従来のタスク起動方法では、入力されるデータに応じて要求されるタスクフローを常に実行していた。そのため、起動中のプログラムの中にそのタスクを実行すると支障をきたすソフトウェアが起動中であってもタスクを実行してしまうため、ユーザの操作は阻害されてしまい、さらにはそのソフトウェアを終了させる手間が必要であった。
【０００８】
また、従来の印刷システムでは、印刷装置を接続したときに、カセットと印刷ソフトウェアの組み合わせ情報に基づいて、対応するソフトウェアを常に起動していた。しかしユーザはそのソフトウェアではなく、違うソフトウェアを使って印刷したい場合がある。その場合、ユーザはあらかじめ自分が使いたいソフトウェアを稼動させておくが、その場合でも、印刷装置を接続するとあらかじめ登録されたソフトウェアが自動的に起動してしまっていた。そのため、そのソフトウェアが起動している間、ユーザの操作は阻害されてしまい、さらにはそのソフトウェアを終了させる手間が必要であった。
【０００９】
本発明は上記問題点を鑑みてなされたものであり、ユーザが機器装置を接続したときに、支障となるソフトウェアを起動しないようにすることを第１の目的とする。
【００１０】
また、ユーザが機器装置を接続したときに、ユーザが所望するソフトウェアが起動されるようにすることを第２の目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、機器装置と接続が可能な情報処理装置におけるプログラムの本発明の起動制御方法は、検索手段が、前記機器装置が接続された時に前記情報処理装置で稼動している稼動プログラムを検索する検索ステップと、判断手段が、前記検索された稼動プログラムが、前記機器装置の接続に応じて起動する予め設定された機器対応ソフトウェアと同時に稼動することが適さない同時稼動不適格プログラムを含んでいるかどうかを判断する判断ステップと、起動手段が、前記稼動プログラムが前記同時稼動不適格プログラムを含んでいない場合に前記機器対応ソフトウェアを起動し、含んでいる場合に前記機器対応ソフトウェアを起動しないように制御する起動ステップとを有する。
【発明の効果】
【００１２】
本発明によれば、ユーザが機器装置を接続したときに、支障となるソフトウェアを起動しないようにすることができる。また、ユーザが機器装置を接続したときに、ユーザが所望するソフトウェアが起動されるようにすることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態における起動制御プログラムの構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるプログラム情報の例を表す図である。
【図３】本発明の第１の実施形態における起動制御処理を示すフローチャートである。
【図４】本発明の変形例１における起動制御処理を示すフローチャートである。
【図５】本発明の第２の実施形態における起動制御処理を示すフローチャートである。
【図６】本発明の変形例２における起動制御処理を示すフローチャートである。
【図７】本発明の第３の実施形態における印刷ソフトウェア起動制御プログラムの構成を示すブロック図である。
【図８】本発明の第３の実施形態におけるソフトウェア情報の例を表す図である。
【図９】本発明の第３の実施形態における印刷ソフトウェア起動制御処理を示すフローチャートである。
【図１０】本発明の変形例３における印刷ソフトウェア起動制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
【００１５】
＜第１の実施形態＞
図１は本発明の第１の実施形態における起動制御プログラム１００の構成を示すブロック図である。起動制御プログラム１００は、機器装置が接続されたことを検知して機器装置に対応したソフトウェア（以降、「機器対応ソフトウェア」と呼ぶ。）を起動するプログラムを表す。なお、機器対応ソフトウェアは接続される機器装置ごとに設定しておくことができる。起動制御プログラム１００の例としては、情報処理装置（例えば、パーソナルコンピュータ（ＰＣ））上で常に稼動し、ＰＣに機器装置が接続したことを検知してソフトウェアを起動する常駐プログラムと呼ばれるプログラムがある。
【００１６】
１０７は機器装置で、カメラやスキャナや印刷装置などの機器を含む。１０１は機器対応ソフトウェアを複数保持するソフトウェア保持部、１０２はソフトウェア保持部１０１に保持されているソフトウェアを起動するソフトウェア起動部である。なお、機器対応ソフトウェアは、通常、ハードディスクなどの記憶媒体に保存されている。そのため、その場合、ソフトウェア保持部１０１は、ソフトウェア起動部１０２により機器対応ソフトウェアを起動するために必要な情報、例えば機器対応ソフトウェアへのパス名などを保持する。
【００１７】
１０３は、機器装置１０７の状態を取得する機器装置状態取得部である。機器装置１０７の状態の例としては、機器装置１０７が印刷装置の場合、印刷装置に装着されている用紙サイズの種類、用紙の材質の種類、インクの色の種類、インクの材質の種類などがある。また、機器装置状態取得部１０３は、機器装置１０７がＰＣに接続されたことを検知し、それをソフトウェア起動部１０２に伝える。これによって、機器装置１０７が接続されたときに、機器対応ソフトウェアを自動的に起動することができる。１０４は現在稼動しているプログラム（以降「稼動プログラム」と呼ぶ。）を検索するプログラム検索部である。検索する方法としては、プロセス名を用いるなどの方法がある。
【００１８】
１０５は、機器対応ソフトウェアに関連するプログラム情報を記録するプログラム情報記憶部である。なお、プログラム情報は図２を参照して後述する。１０６は、機器対応ソフトウェアが起動されてから実行した機能を記憶しておくソフトウェア実行履歴記憶部であり、機器対応ソフトウェアが起動されたことを検知し、また機器対応ソフトウェアから行われた機能を検知してそれを記憶しておく。ソフトウェア実行履歴記憶部１０６は、機器対応ソフトウェアが起動してから終了したことを検知するため、終了した情報も記憶する。
【００１９】
図２は、プログラム情報記憶部１０５に記憶されるプログラム情報の例である。２０１は接続される機器装置の情報で、ここでは、接続される機器装置の例として、プリンタとカメラとしている。２０２は、各機器装置に対して起動する機器対応ソフトウェアの情報である。２０３は、他のプログラムが稼動しているときに、この機器対応ソフトウェアを同時に実行する場合に支障が出るプログラム（以降「同時稼動不適格プログラム」と呼ぶ。）の情報である。２０４は後述する対応情報の例で、同時稼動不適格プログラムごとに、機器対応ソフトウェアを起動するときにこのプログラムの終了を待つかどうかの対応情報を保持している。
【００２０】
図３は、起動制御プログラム１００による、機器装置１０７を接続したときの本第１の実施形態における起動処理の一例を説明するフローチャートである。
【００２１】
機器装置１０７が接続されると、プログラム検索部１０４は、稼動プログラムを検索し、稼動プログラムの一覧のリストを作成する（Ｓ３０１）。次に、プログラム情報記憶部１０５に記憶されているプログラム情報を参照し、同時稼動不適格プログラムの一覧のリストを作成する（Ｓ３０２）。そして、ソフトウェア起動部１０２は、機器装置１０７の機器対応ソフトウェアに対する同時稼動不適格プログラムが稼動プログラムのリスト中にあるかどうかをチェックし（Ｓ３０３）、ある場合には、機器対応ソフトウェアを起動せずに終了する（Ｓ３０５）。一方、同時稼動不適格プログラムが稼動プログラムのリスト中に無い場合（Ｓ３０３でＮＯ）、機器対応ソフトウェアを起動して（Ｓ３０４）、本処理を終了する。
【００２２】
上記の通り本第１の実施形態によれば、機器装置を接続したときに、支障となるソフトウェアを起動しないようにすることができる。
【００２３】
＜変形例１＞
第１の実施形態で上述した図３のフローチャートに示す処理では、同時稼動不適格プログラムが稼動中である場合、機器対応ソフトウェアを起動しないように制御した。これに対し、図２に示すプログラム情報の起動待ち情報２０４をチェックすることで、以下のように制御することもできる。即ち、同時稼動不適格プログラムが稼動中である場合、機器対応ソフトウェアを起動しないようにするか、同時稼動不適格プログラムが終了するのを待って機器対応ソフトウェアを起動するかを区別して制御する。以下、図４のフローチャートを参照しながら説明する。
【００２４】
図４は、機器装置１０７を接続したときの起動制御プログラム１００の、本変形例１における起動処理の一例を説明するフローチャートである。なお、図３の処理と同様の処理には同じ参照番号を付し、説明を省略する。
【００２５】
本変形例１では、同時稼動不適格プログラムが稼動プログラムのリスト中にある場合（Ｓ３０３でＹＥＳ）、対象の同時稼動不適格プログラムの起動待ち情報２０４をチェックする。そして、同時稼動不適格プログラムが終了するまで待って起動するかどうかを判定する（Ｓ４０５）。起動すると判定された場合（Ｓ４０５でＹＥＳ）、すなわち対象の同時稼動不適格プログラムの起動待ち情報２０４が起動待ちする、となっている場合には、稼働中の同時起動不適格プログムの終了を待って、機器対応ソフトウェアを起動する（Ｓ４０６）。一方、同時稼動不適格プログラムが起動待ちのプログラムでないと判定された場合（Ｓ４０５でＮＯ）、すなわち対象の同時稼動不適格プログラムの対応情報２０４が起動待ちしないとなっている場合、機器対応ソフトウェアを起動せずに終了する（Ｓ４０７）。
【００２６】
＜第２の実施形態＞
第１の実施形態で上述した図３のフローチャートに示す処理では、同時稼動不適格プログラムが稼動中である場合、機器対応ソフトウェアを起動しないように制御した。これに対し、本第２の実施形態では、起動制御プログラム１００が常に稼動しているプログラム（常駐プログラム）で、稼動プログラムや起動しているソフトウェアを常に監視して処理を実行する場合について、図５のフローチャートを参照しながら説明する。なお、起動制御プログラム及びプログラム情報は、図１及び図２を参照して第１の実施形態で説明したものと同様であるので、ここでは説明を省略する。
【００２７】
先ず、起動しているソフトウェアを検索して（Ｓ５０１）、機器対応ソフトウェアが起動中であるかどうかチェックし（Ｓ５０２）、起動中でない場合は処理を終了する。機器対応ソフトウェアが起動中である場合（Ｓ５０２でＹＥＳ）、プログラム検索部１０４は稼動プログラムを検索し、稼動プログラムの一覧のリストを作成する（Ｓ５０３）。次に、プログラム情報記憶部１０５に記憶されているプログラム情報を参照し、同時稼動不適格プログラムの一覧のリストを作成する（Ｓ５０４）。そして、ソフトウェア起動部１０２は、同時稼動不適格プログラムが稼動プログラムのリスト中にあるかどうかチェックし（Ｓ５０５）、稼動プログラムのリスト中に無い場合、本処理を終了する。一方、同時稼動不適格プログラムが稼動プログラム中のリストにある場合（ステップＳ５０５でＹＥＳ）、機器対応ソフトウェアの終了通知を発行して（Ｓ５０６）、処理を終了する。
【００２８】
上記の通り本第２の実施形態によれば、機器装置を接続したときに、支障となるソフトウェアの起動を終了させることができる。
【００２９】
＜変形例２＞
起動制御プログラム１００は、機器対応ソフトウェアの起動中に、同時稼動不適格プログラムが稼動されていることを検出した場合に、既に起動している機器対応ソフトウェアに終了通知を発行するように制御することができる。このように制御することで、同時に起動すると支障となるソフトウェアを終了するようにユーザに通知することができる。
【００３０】
図５を参照して上述した処理では、起動制御プログラム１００は、機器対応ソフトウェアの起動中に同時稼動不適格プログラムが稼動していることを検出した場合に、起動中の機器対応ソフトウェアに終了通知を発行するようにした。本変形例２では、更に、終了通知を発行した機器対応ソフトウェアが終了してから、先に稼動していた同時稼動不適格プログラムが終了したことを判定して、機器対応ソフトウェアを再度起動することができる。
【００３１】
図６は、機器対応ソフトウェアの起動中に終了通知を発行した時の起動制御プログラムの動作を説明する起動制御処理を説明するためのフローチャートである。本変形例２では、起動制御プログラムは常に稼動しているプログラム（常駐プログラム）で、稼動プログラムや起動しているソフトウェアを常に監視して処理を実行するものとする。
【００３２】
まず、Ｓ６０１で、図５で説明した処理を実行する。次に、機器対応ソフトウェアの終了通知が発行されたかどうかチェックし（Ｓ６０２）、発行されていない場合は処理を終了する。一方、終了通知が発行されている場合は（Ｓ６０２でＹＥＳ）、図５のＳ５０５で検出した稼動中の同時稼動不適格プログラムを保持する（Ｓ６０３）。
【００３３】
次に機器対応ソフトウェアが終了するまで待ち（Ｓ６０４）、機器対応ソフトウェアが終了すると、Ｓ６０３で保持した同時稼動不適格プログラムが稼動中かどうか判定する（Ｓ６０５）。保持した同時稼動不適格プログラムが稼動中でない場合（Ｓ６０５でＮＯ）は処理を終了する。一方、保持した同時稼動不適格プログラムが稼動中である場合（Ｓ６０５でＹＥＳ）、保持した同時稼動不適格プログラムが終了するまで待つ（Ｓ６０６）。
【００３４】
同時稼動不適格プログラムが終了すると、Ｓ６０４で終了通知によって終了された機器対応ソフトウェアを起動する（Ｓ６０７）。このように制御することで、ユーザは再度、機器対応ソフトウェアの起動処理を実行しなくても、終了された機器対応ソフトウェアを自動的に再起動することができる。
【００３５】
なお、上記の例では、同時稼動不適格プログラムの終了後に機器対応ソフトウェアを再起動する場合について説明したが、図２の起動待ち情報２０４を用いて、起動待ちを行う場合のみ、機器対応ソフトウェアを再起動するように制御することも可能である。
【００３６】
なお、上記の例では、機器装置をコンピュータに接続した場合や機器装置に対応したソフトウェアを起動するために常駐する起動制御プログラムの例について説明したが、この機器装置としてた、例えば印刷装置やカメラに適用してもよい。すなわち、印刷装置がコンピュータに接続され印刷用のソフトウェアが起動される場合では、プリンタのドライバをインストールする為のインストールプログラムは同時稼動不適格プログラムとなる。そして、プリンタのドライバのインストールプログラムが稼動中である場合には、印刷装置がコンピュータに接続されても、印刷ソフトウェアは起動しないように動作する。
【００３７】
また、カメラがコンピュータに接続され、例えばカメラから画像を取り込む為ソフトウェアが起動される場合では、その画像転送用のプログラムを更新するプログラムを同時稼動不適格プログラムとする。この場合、画像転送用のプログラムを更新するプログラムが稼動中である場合には、カメラがコンピュータに接続されても、カメラから画像を取り込むソフトウェアは起動しないように動作する。
【００３８】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。本発明の第３の実施形態では、印刷装置に装着されたインクの種類に応じて、異なるソフトウェアを自動的に起動する場合について説明する。
【００３９】
図７は本第３の実施形態における印刷ソフトウェア起動制御プログラム７００の構成を示すブロック図である。同図において、７０７は、例えばインクジェットプリンタ、昇華型プリンタ、レーザープリンタなどの印刷装置であるが、本発明は、印刷装置の種類により制限されるものではない。７０１は、印刷装置７０７で印刷を行うためのアプリケーションソフトウェアを複数保持する印刷ソフトウェア保持部、７０２は、印刷ソフトウェア保持部７０１に保持されているソフトウェアのうちのひとつを起動するソフトウェア起動部である。なお、ソフトウェアは、通常、ハードディスクなどの記憶媒体に保存されているため、その場合、ソフトウェア保持部１０１は、ソフトウェア起動部７０２によりソフトウェアを起動できるために必要な情報、例えば起動するソフトウェアへのパス名などを保持する。
【００４０】
７０３は、印刷装置７０７の状態を取得する印刷装置状態取得部である。印刷装置７０７の状態の例としては、印刷装置７０７に装着されている用紙サイズの種類、用紙の材質の種類、インクの色の種類、インクの材質の種類などがある。また、印刷装置状態取得部７０３は、印刷装置７０７がＰＣに接続されたことを検知し、それをソフトウェア起動部７０２に伝える。これによって、印刷装置７０７が接続されたときに、印刷ソフトウェア保持部７０１に保持された対応するソフトウェアを自動的に起動することができる。７０４は現在稼動しているソフトウェア（以降、「稼動ソフトウェア」と呼ぶ。）を検索するソフトウェア検索部である。検索する方法としては、プロセス名などを用いるなどの方法がある。
【００４１】
７０５は、印刷装置７０７の状態と、その状態をサポートするソフトウェアの対応情報を記録するソフトウェア情報記録部である。７０６は、稼動中のソフトウェアを用いた印刷履歴を記憶しておくソフトウェア印刷履歴記憶部である。
【００４２】
図８は、ソフトウェア情報記録部７０５に記録されるソフトウェア情報の例である。ここでは、印刷装置７０７の状態として、インクの色の種類（以下、「インクの種類」と呼ぶ。）を例にとって説明する。ソフトウェア情報記録部７０５は、各インクに対して、起動するソフトウェア（以降、「機器対応ソフトウェア」と呼ぶ。）と、対応するソフトウェア（以降、「状態対応ソフトウェア」と呼ぶ。）の情報を持っている。機器対応ソフトウェアは、印刷装置７０７がコンピュータに接続されたときに、起動されるソフトウェアのことであり、本第３の実施形態ではインクの種類毎に設定しておくことができる。状態対応ソフトウェアは、印刷装置７０７に装着されているインクを用いて印刷可能なソフトウェアのことを示し、本第３の実施形態ではインクの各種類に対して複数種類設定しておくことができる。
【００４３】
図８の８０１に示すように、ＣＭＹＫＧインクの状態対応ソフトウェアは、飾り付けソフトウェアであり、機器対応ソフトウェアは、飾り付けソフトウェアであることを表している。ここで、ＣＭＹＫＧインクとは、C（シアン）、M（マゼンダ）、Y（イエロー）K、（ブラック）の４色に加えてG（金色）も印刷することができるインクである。また、飾り付けソフトウェアとは、写真の周囲に枠をつけたり、飾りやマークや文字などを写真に付けて印刷できるソフトウェアである。
【００４４】
デジタル写真データは、通常はＲＧＢなどで表わされるため、金色に関する情報を持っていない。そのため、写真だけを印刷する場合は、ＣＭＹＫＧインクは必要ない。特にＣＭＹＫＧインクが一つのタンクに入ったいわゆる一体型のインクタンクの場合、ＣＭＹＫＧインクを使ってＣＭＹＫの印刷だけを行うと、ＣＭＹＫが無くなった時点でＧインクが残った状態でインクタンクを処分することとなり、不経済である。通常、ＣＭＹＫＧインクは、写真に金色で飾り付けを加えて印刷するときに使われる。つまり、ＣＭＹＫＧインクが印刷装置に装着されている場合、ユーザは写真に金色の飾り付けを行いたいと考えられる。そのため、ＣＭＹＫＧインクの状態対応ソフトウェアと機器対応ソフトウェアは共に、飾り付けソフトウェアとしている。
【００４５】
また、８０２に示すように、ＣＭＹＫインクの状態対応ソフトウェアは、飾り付けソフトウェアとフチなし印刷ソフトウェアであり、機器対応ソフトウェアは、フチなし印刷ソフトウェアであることを表している。ここで、ＣＭＹＫインクとは、通常のＣＭＹＫを印字できるインクである。フチなし印刷ソフトウェアとは、写真データに飾り付けをせずに、そのまま例えばＡ４判の紙にフチなしで印刷するソフトウェアである。ＣＭＹＫインクは、飾り付け付きの印刷と、飾り付けのない印刷の両方で使用される。従って、ＣＭＹＫインクには、飾り付けソフトウェアとフチなし印刷ソフトウェアを、状態対応ソフトウェアとして対応させておく。しかし、一般的には飾り付けをせずにフチなしで印刷することの方が多いので、機器対応ソフトウェアとしてはフチなし印刷ソフトウェアを関連付けておく。
【００４６】
次に、印刷装置７０７を接続したときに行われる印刷ソフトウェア起動制御プログラム７００の動作について、図９のフローチャートを参照して説明する。
【００４７】
印刷装置７０７が接続されると、印刷装置状態取得部７０３は、印刷装置７０７に装着されたインクの種類を取得し（Ｓ９０１）、ソフトウェア起動部７０２に取得したインクの種類を伝える。次に、ソフトウェア検索部７０４は、稼動ソフトウェアを検索し、その一覧を作る（Ｓ９０２）。その後、ソフトウェア起動部７０２は、ソフトウェア情報記録部７０５を参照して、Ｓ９０１で取得したインクの種類に対する状態対応ソフトウェアを調べ、稼動ソフトウェアの中に、調べた状態対応ソフトウェアがあるかを調べる（Ｓ９０３）。
【００４８】
もし無ければ、現在のインクに対する状態対応ソフトウェアが起動されていないことになる。その場合は、ソフトウェア起動部７０２は、ソフトウェア情報記録部７０５を参照し、現在のインク種類に対する機器対応ソフトウェアを起動する（Ｓ９０４）。この場合の処理について、以下に具体例を説明する。
【００４９】
例えば、印刷装置７０７にＣＭＹＫインクが装着されていたとする。ソフトウェアが何も稼動してなければ、図９のＳ９０３において、現在のインクに対するソフトウェアは稼動していない。従って、印刷装置７０７を接続すると、図８のソフトウェア情報記録部７０５の内容を参照し、ＣＭＹＫインクの機器対応ソフトウェアであるフチなし印刷ソフトウェアが起動される（Ｓ９０４）。
【００５０】
ここで、上述した制御の具体的な例をいくつか説明する。
【００５１】
例えば、ユーザがフチなし印刷ソフトウェアを使ってＣＭＹＫインクで印刷した後に、金色のインクを使って飾り付け印刷をするために、インクをＣＭＹＫＧに変更し、印刷装置７０７を再度接続したとする。この場合、現在稼動している稼動ソフトウェアはＣＭＹＫＧインクに対応していないので（Ｓ９０３でＮＯ）、ＣＭＹＫＧインクの機器対応ソフトウェアである飾り付けソフトウェアが自動的に起動される（Ｓ９０４）。このように、ユーザは自分で飾り付けソフトウェアを起動する必要がない。このように、ユーザは印刷装置７０７を接続するだけで、自動的にソフトウェアが起動するので、ソフトウェアを起動する手間を省くことができる。
【００５２】
一方、現在のインクの種類に対応しているソフトウェアが稼動していれば（Ｓ９０３でＹＥＳ）、その稼動ソフトウェアを使って現在のインクを用いて印刷可能であるので、ソフトウェア情報記録部７０５にソフトウェアを新たに起動しない。
【００５３】
例えば、印刷装置７０７にＣＭＹＫインクが装着されていたとする。ユーザは金色を使わない飾り付け印刷を行うために、ＣＭＹＫインクに対して飾り付けソフトウェアから印刷を行いたいとする。その場合、ユーザはあらかじめ飾り付けソフトウェアを起動しておいてから、印刷装置７０７を接続すればよい。図８によれば、飾り付けソフトウェアはＣＭＹＫインクをサポートしているので、Ｓ９０３において、状態対応ソフトウェアが稼動していると判別され、機器対応ソフトウェア（この場合はフチなし印刷ソフトウェア）を起動しない。
【００５４】
このように、ユーザはあらかじめ使用したいソフトウェアを稼動しておくことにより、機器対応ソフトウェアが自動的に起動されるのを防ぐことができ、操作を阻害されずに、すぐに所望のソフトウェアを使って印刷の作業に入ることができる。
【００５５】
＜変形例３＞
本変形例３では、ユーザの意図しないソフトウェアが自動的に起動するのをより確実に防ぐ方法について図１０のフローチャートを参照して説明する。
【００５６】
図１０は、本変形例３において、印刷装置７０７を接続したときに行われる印刷ソフトウェア起動制御プログラム７００の動作を説明するフローチャートである。なお、図９と同様の処理には同じ参照番号を付し、説明を省略する。
【００５７】
本変形例３は、Ｓ９０３の判断において、現在のインクの種類に対応しているソフトウェアが稼動していると判断された場合の処理に特徴がある。現在のインクの種類に対応している稼動ソフトウェアがあると判断された場合、ソフトウェア起動部７０２はソフトウェア印刷履歴記憶部７０６を参照する。そして、現在のインクの種類をサポートしている稼動ソフトウェアの中に、起動してから現在までにユーザが印刷処理に用いていないソフトウェアが存在するかを調べる（Ｓ１００５）。もし印刷処理に用いていない稼働ソフトウェアが存在していれば、ソフトウェア情報記録部７０５に書かれたソフトウェアは用いない。この場合の処理について、以下に具体例を説明する。
【００５８】
例えば、印刷装置７０７にＣＭＹＫインクが装着されており、ユーザは金色を使わずに飾り付け印刷を行うために、ＣＭＹＫインクに対して飾り付けソフトウェアから印刷を行いたいものとする。その場合、ユーザはあらかじめ飾り付けソフトウェアを起動しておいてから印刷装置７０７を接続すると、飾り付けソフトウェアはＣＭＹＫインクをサポートしているので、Ｓ９０３において、状態対応ソフトウェアが稼動していると判断される。また、ユーザが飾り付けソフトウェアを起動してから印刷を行わずに印刷装置７０７を接続すれば、Ｓ１００５において、印刷していない稼動ソフトウェアが存在すると判断される。この場合、ソフトウェア起動部７０２は機器対応ソフトウェア（ここではフチなし印刷ソフトウェア）を起動しない。つまりユーザは、あらかじめ使用したい所望のソフトウェアを稼動しておき、その所望のソフトウェアから印刷をせずに印刷装置７０７を接続することにより、機器対応ソフトウェアが自動的に起動されるのを抑制することができる。これにより、操作を阻害されずに、すぐに所望のソフトウェアを使って印刷の作業に入ることができる。また、稼動ソフトウェアを用いて印刷したことがあるかを調べているので、ユーザがそのソフトウェアから印刷したいであろうことがより確実に判別でき、ユーザの意図しないソフトウェアが自動的に起動するのをより確実に防ぐことができる。
【００５９】
一方、Ｓ１００５において、印刷を行っていないソフトウェアが存在していなければ、つまり、稼動ソフトウェアのいずれでも印刷したことがあれば、Ｓ１００６に進む。そして、稼動ソフトウェアを使うか、あるいはソフトウェア情報記録部７０５に記載されている機器対応ソフトウェアを起動するかを、ソフトウェア起動部７０２がグラフィカルユーザインタフェースなどを用いてユーザに問い合わせる。そして、ユーザの指示に応じて、ソフトウェア起動部７０２は機器対応ソフトウェアを起動するかしないかを決定する。本変形例３では、稼動ソフトウェアが複数ある場合でも、すべての稼動ソフトウェアで印刷したことのある場合にのみ、ユーザに問い合わせるので、ユーザが煩わしさを感じることが少なくて済む。
【００６０】
なお、上述した第３の実施形態及び変形例３で説明した例では、印刷装置７０７をＰＣに接続したときに処理を行う場合について説明したが、印刷装置７０７のインクの種類を変更した場合の動作にも適用してもよい。すなわち、印刷装置状態取得部７０３に、印刷装置７０７を接続したことを検知する代わりに、インクの種類を変更したことを検知させる。そして、インクの種類が変更された場合にソフトウェア起動部７０２に伝えることで、印刷ソフトウェア保持部７０１に保持されたソフトウェアの内、変更後のインクの種類に対応したソフトウェアを自動的に起動するようにすることもできる。
【００６１】
また、上述した第３の実施形態及び変形例３で説明した例では、印刷装置７０７の状態の例として、インクの色の種類を例にして説明したが、本発明はインクの色の種類に限られるものではない。印刷装置７０７の状態を規定できると共に、状態を変更しうる他の属性であってもよい。例えば、これらに限られるものではないが、用紙サイズの種類、用紙の材質の種類、インクの材質の種類（例えば、トナー、インクリボン）、印刷装置のスイッチの状態、印刷装置の形状、装着されている部品の種類、電源の種類などが考えられる。
【００６２】
なお、上述した各実施形態及び変形例における各動作は、ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納された起動制御プログラム１００または印刷ソフトウェア起動制御プログラム７００をＣＰＵが実行することにより実行することができる。
【図１】
2010204843.tif 000003
【図２】
2010204843.tif 000004
【図３】
2010204843.tif 000005
【図４】
2010204843.tif 000006
【図５】
2010204843.tif 000007
【図６】
2010204843.tif 000008
【図７】
2010204843.tif 000009
【図８】
2010204843.tif 000010
【図９】
2010204843.tif 000011
【図１０】
2010204843.tif 000012