(57)【要約】【課題】旧バージョンのＯＳで実行可能な作業を、ユーザアカウント制御を導入したシステムで実行可能とする。【解決手段】アプリケーションプログラム４３は、ユーザによるドラッグ＆ドロップの操作を受け付けるユーザインタフェースモジュールＭ１を実現するプログラムＡと、画像ファイルに基づいて実際のファイル処理を行う実処理モジュールＭ２を実現するプログラムＢとを備える。プログラムＡのリソース内には、標準ユーザトークンで動作することを記述したマニフェストファイルＭＦ１が埋め込まれている。プログラムＢのリソース内には、管理者トークンで動作することを記述したマニフェストファイルＭＦ２が埋め込まれている。【選択図】図４
2008250382.tif 000002
【特許請求の範囲】
【請求項１】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
当該コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールと、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールとを実現する第１のプログラムコードと、
前記第１のプログラムコードに従う前記ユーザインタフェースモジュールの実行を前記標準モードによるものに規定する第２のプログラムコードと、
前記第１のプログラムコードに従う前記実処理モジュールの動作を前記管理特権モードによるものに規定する第３のプログラムコードと
を備えるコンピュータプログラム。
【請求項２】
請求項１に記載のコンピュータプログラムであって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ＆ドロップさせる操作を受け付けるためのものである、コンピュータプログラム。
【請求項３】
請求項２に記載のコンピュータプログラムであって、
前記実処理モジュールは、
前記データファイルを前記標準モード下で用意した作業用ファイルにコピーするものであり、
さらに、
前記実処理モジュールにより前記作業用ファイルにコピーされたデータファイルを前記標準モード下で処理する第４のプログラムコード
を備える、コンピュータプログラム。
【請求項４】
請求項１ないし３のいずれかに記載のコンピュータプログラムであって、
前記第１のプログラムコードは、
前記ユーザインタフェースモジュールを実現する第５のプログラムコードと、
前記実処理モジュールを実現する第６のプログラムコードと
を備え、
前記第２のプログラムコードは、
前記第５のプログラムコードに埋め込まれ、当該第５のプログラムコードが前記標準モードで起動することを記述するマニフェストファイルにより構成され、
前記第３プログラムコードは、
前記第６のプログラムコードに埋め込まれ、当該第６のプログラムコードが前記管理特権モードで起動することを記述するマニフェストファイルにより構成される、コンピュータプログラム。
【請求項５】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
前記特定処理を含まない第１処理を行う第１モジュールと、前記特定処理を含む第２処理を行う第２モジュールとを実現する第１のプログラムコードと、
前記第１のプログラムコードに従う前記第１モジュールの動作を前記標準モードによるものに規定する第２のプログラムコードと、
前記第１のプログラムコードに従う前記第２モジュールの動作を前記管理特権モードによるものに規定する第３のプログラムコードと
を備えるコンピュータプログラム。
【請求項６】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理装置であって、
前記標準モード下で、使用するデータファイルの指定を受け付けるユーザインタフェースモジュールと、
前記標準モードから前記管理特権モードへの切り替えを行うモード切替手段と、
前記モード切替手段によるモードの切り替え後、前記データファイルに基づいて実際のファイル処理を行う実処理モジュールと
を備える情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ＆ドロップさせる操作を受け付けるためのものである、情報処理装置。
【請求項８】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理方法であって、
前記標準モード下で、使用するデータファイルの指定を受け付け、
前記標準モードから前記管理特権モードへの切り替えを行い、
前記管理特権モードへの切り替え後、前記データファイルに基づいて実際のファイル処理を行う、情報処理方法。
【請求項９】
請求項８に記載の情報処理方法であって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ＆ドロップさせる操作を受け付けるためのものである、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム、情報処理装置および情報処理方法に関するものである。
【背景技術】
【０００２】
パソコンを動作させるための基本ソフトであるオペレーティング・システム（以下、「ＯＳ」と呼ぶ）では、ログオン時に、管理特権を持つ管理者であるか、管理特権を持たない標準ユーザであるかの入力を操作者（ユーザ）に課している。標準ユーザとしてログオンした時には、セキュリティもしくはＯＳの安定性に係わる特定処理については、権限がないとして実行を制限（禁止）している。
【０００３】
近年、セキュリティレベルを向上するという要請の元、ＯＳに種々の新たな技術が導入されている。これら技術の一つとして、Windows Vista（米国マイクロソフト社の登録商標）に導入されたユーザアカウント制御と呼ばれる技術がある。ユーザアカウント制御を行うシステムにおいては、例え管理者としてログオンしていても、通常は標準ユーザとしてシステムを利用することになる。そして、必要な場合のみ、標準ユーザから管理者へ「昇格」させることにより、管理特権を与えている。ユーザアカウント制御を導入することによって、処理を個別に実行制限することが可能となる。
【０００４】
しかしながら、前記ユーザアカウント制御を導入したシステムでは、前述したように、処理を個別に実行制限可能としたことで、導入前の旧バージョンのＯＳ（例えば、Windows 2000、Windows Xp（米国マイクロソフト社の登録商標））で実行可能であった作業が、例え管理特権を持っていても実行不可能となることがあった。
【０００５】
上記作業の一つとして、データファイルを任意のアプリケーションで開くためのドラッグ＆ドロップの作業がある（図３，図６を参照：例えば特許文献１）。この作業は、画面上でデータファイルを任意のアプリケーションのアイコンにドラッグ＆ドロップさせることで、そのデータファイルでは関連づけられていないアプリケーションでそのデータファイルを開くというものである。このドラッグ＆ドロップの作業をユーザアカウント制御を導入したシステムで実行しようとした場合、管理者ユーザへ例え昇格したとしても、この作業を実行することができないという問題があった。
【０００６】
【特許文献１】特開２００６−１６３８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の解決しようとする課題は、旧バージョンのＯＳで実行可能な作業を、ユーザアカウント制御を導入したシステムで実行可能とすることにある。
【課題を解決するための手段】
【０００８】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【０００９】
本発明の第１のコンピュータプログラムは、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
当該コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールと、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールとを実現する第１のプログラムコードと、
前記第１のプログラムコードに従う前記ユーザインタフェースモジュールの実行を前記標準モードによるものに規定する第２のプログラムコードと、
前記第１のプログラムコードに従う前記実処理モジュールの動作を前記管理特権モードによるものに規定する第３のプログラムコードと
を備えることを特徴としている。
【００１０】
前記構成のコンピュータプログラムによれば、コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールについては標準モードで実行され、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールについては管理特権モードで実行される。実際のファイル処理は、セキュリティもしくはオペレーティングシステムの安定性を損ねる虞があることから、実行に管理特権が必要となることが多いが、この構成によれば、管理特権を持つ管理特権モードにより実際のファイル処理が行われることから、管理特権がないとして作業が実行不可能となることがない。
【００１１】
したがって、本発明の第１のコンピュータプログラムによれば、旧バージョンのＯＳで実行可能なファイル処理の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【００１２】
前記ユーザインタフェースモジュールは、前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ＆ドロップさせる操作を受け付けるためのものとしてもよい。この構成によれば、ドラッグ＆ドロップによってデータファイルを開く作業を、ユーザアカウント制御を行うオペレーティングシステム下で実行することができる。
【００１３】
前記ドラッグ＆ドロップによってデータファイルを開く作業を実行可能とした第１のコンピュータプログラムにおいて、前記実処理モジュールは、前記データファイルを前記標準モード下で用意した作業用ファイルにコピーするものであり、さらに、前記実処理モジュールにより前記作業用ファイルにコピーされたデータファイルを前記標準モード下で処理する第４のプログラムコードを備える構成としてもよい。
【００１４】
この構成によれば、データファイルを対象として行う実際のファイル処理は、管理特権モード下で行われる作業用ファイルへのコピー処理だけであって、標準モード下で行なわれる処理はない。このために、コピーされた作業用ファイルのデータファイルを使用することで、標準モード下でのファイル処理が可能となる。したがって、旧バージョンのＯＳで実行可能な作業をユーザアカウント制御を導入したシステムで実行可能とすることを、容易な構成で実現することができる。
【００１５】
本発明の第１のコンピュータプログラムにおいて、前記第１のプログラムコードは、前記ユーザインタフェースモジュールを実現する第５のプログラムコードと、前記実処理モジュールを実現する第６のプログラムコードとを備え、前記第２のプログラムコードは、前記第５のプログラムコードに埋め込まれ、当該第５のプログラムコードが前記標準モードで起動することを記述するマニフェストファイルにより構成され、前記第３プログラムコードは、前記第６のプログラムコードに埋め込まれ、当該第６のプログラムコードが前記管理特権モードで起動することを記述するマニフェストファイルにより構成される構成としてもよい。
【００１６】
上記構成によれば、ユーザインタフェースモジュールの動作を標準モードによるものに、実処理モジュールの動作を管理特権モードによるものにそれぞれ制限することを容易に実現することができる。
【００１７】
本発明の第２のコンピュータプログラムは、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
前記特定処理を含まない第１処理を行う第１モジュールと、前記特定処理を含む第２処理を行う第２モジュールとを実現する第１のプログラムコードと、
前記第１のプログラムコードに従う前記第１モジュールの動作を前記標準モードによるものに規定する第２のプログラムコードと、
前記第１のプログラムコードに従う前記第２モジュールの動作を前記管理特権モードによるものに規定する第３のプログラムコードと
を備えることを特徴としている。
【００１８】
前記構成の第２のコンピュータプログラムによれば、標準モード時に実行制限を行う特定処理を含まない第１処理を行う第１モジュールについては標準モードで実行され、前記特定処理を含む第２処理を行う第２モジュールについては管理特権モードで実行することができる。この構成によれば、特定処理を含む第２処理を管理特権がないとして作業が実行不可能となることがない。したがって、旧バージョンのＯＳで実行可能な種々の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【００１９】
本発明の情報処理装置は、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理装置であって、
前記標準モード下で、使用するデータファイルの指定を受け付けるユーザインタフェースモジュールと、
前記標準モードから前記管理特権モードへの切り替えを行うモード切替手段と、
前記モード切替手段によるモードの切り替え後、前記データファイルに基づいて実際のファイル処理を行う実処理モジュールと
を備えることを特徴としている。
【００２０】
本発明の情報処理方法は、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理方法であって、
前記標準モード下で、使用するデータファイルの指定を受け付け、
前記標準モードから前記管理特権モードへの切り替えを行い、
前記管理特権モードへの切り替え後、前記データファイルに基づいて実際のファイル処理を行う、ことを特徴としている。
【００２１】
前記情報処理装置および情報処理方法は、本発明の第１のコンピュータプログラムと同様に、旧バージョンのＯＳで実行可能なファイル処理の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【００２２】
なお、本発明は、種々の態様で実現することが可能であり、例えば、本発明の第１または第２のコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。また、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様で実現することもできる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を実施例に基づいて次の順に説明する。
Ａ．ハードウェアの構成：
Ｂ．ＯＳのユーザアカウント制御：
Ｃ．アプリケーションプログラムの制御：
Ｄ．作用、効果：
Ｅ．その他の実施形態：
【００２４】
Ａ．ハードウェアの構成：
図１は、本発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。このコンピュータシステムは、いわゆるパーソナルコンピュータ（以下、単にコンピュータと呼ぶ）１０を中心に備え、その周辺にディスプレイ１２を備える。コンピュータ１０は、コンピュータ本体１６と、入力装置としてのキーボード１８およびマウス２０を備える。なお、このコンピュータ本体１６には、ＣＤ−ＲＯＭの内容を読み取るＣＤドライブ２２が搭載されている。
【００２５】
コンピュータ本体１６は、中央演算処理装置としてのＣＰＵ３０を中心にバスにより相互に接続されたＲＯＭ３１、ＲＡＭ３２、マウスインタフェース３４、キーボードインタフェース３５、ＣＤＣ３６、ＨＤＣ３７およびＣＲＴＣ３８を備える。
【００２６】
ＲＯＭ３１は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。ＲＡＭ３２は、各種データ等を記憶する読み出し・書込み可能なメモリである。マウスインタフェース３４は、マウス２０とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース３５は、キーボード１８からのキー入力を司るインタフェースである。ＣＤＣ３６は、ＣＤドライブ２２を制御するＣＤコントローラである。ＨＤＣ３７は、内蔵のハードディスクドライブ（ＨＤＤ）４０を制御するハードディスクコントローラである。ＨＤＤ４０には、画像を表すデータファイル（以下、画像ファイルと呼ぶ）４１等の種々のデータや、後述するＯＳ（オペレーティングシステム）４２やアプリケーションプログラム４３が格納される。
【００２７】
本実施例では、ＯＳ４２としてWindows Vistaが搭載されている。Windows Vistaは、キーボード１８、マウス２０からの入力やディスプレイ１２への出力といった入出力機能、ＨＤＤ４０やメモリの管理など基本的な機能を提供するものであり、コンピュータ本体１６上でアプリケーションプログラム４３を走らせるための土台となっている。コンピュータ本体１６に電源を投入すると、ＯＳ４２はＨＤＤ４０のブートブロックに書き込まれたローダに従ってＲＡＭ３２の所定の領域にロードされる。
【００２８】
また、アプリケーションプログラム４３として、画像を閲覧する画像閲覧用プログラムが用意されている。アプリケーションプログラム４３は、ＣＤ−ＲＯＭによって提供されており、ＣＤ−ＲＯＭからコンピュータ本体１６にインストールされてＨＤＤ４０に格納されている。コンピュータ本体１６においてＣＰＵ３０がＨＤＤ４０に格納されたアプリケーションプログラム４３を実行することにより、ＨＤＤ４０に格納された画像ファイル４１を表示する処理が実現される。
【００２９】
なお、アプリケーションプログラム４３は、ＣＤ−ＲＯＭに替えて、フレキシブルディスク、光磁気ディスク、ＩＣカード等の他の携帯型記録媒体（可搬型記録媒体）に格納された構成として、これらから提供されたものとすることができる。また、アプリケーションプログラム４３は、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【００３０】
アプリケーションプログラム４３は、第１ないし第３のプログラムコードＰ１，Ｐ２，Ｐ３を備えている。第１のプログラムコードＰ１は、ユーザインタフェースモジュール（以下、「ＵＩモジュール」と呼ぶ）Ｍ１と実処理モジュールＭ２とを実現する。このアプリケーションプログラム４３については後ほど詳述する。
【００３１】
Ｂ．ＯＳのユーザアカウント制御：
ＯＳ４２であるWindows Vistaには、背景技術の欄で説明したユーザアカウント制御（以下、「ＵＡＣ」と呼ぶ）と呼ばれる技術が導入されている。
【００３２】
図２は、ＵＡＣを簡単に説明するための説明図である。ＵＡＣはユーザＵがコンピュータ本体１６にログオンするときに動作を開始する。ＵＡＣでは、まず、管理特権を持つユーザ（すなわち管理者）ＡＤがキーボード１８やマウス２０、ディスプレイ１２を用いて対話形式でログオンする際に、制限付き (つまり、フィルタ処理した) トークンを作成する。このトークンが標準ユーザトークンＳＴと呼ばれるものであり、管理者ＡＤ、もともと持っている管理者トークンＡＴと標準ユーザトークンＳＴとを併せ持つことになる。なお、図示はしないが、管理特権を持たない標準ユーザは、ログオンすると、標準ユーザトークンＳＴだけを備える。
【００３３】
コンピュータ１０のログオン後、種々のアプリケーションプログラムを使用して各種の情報処理が実行されることになるが、ログオン後の処理は、標準ユーザ、管理者ＡＤともに標準ユーザトークンで実行される。なお、ＵＡＣにより、標準ユーザトークンでは、セキュリティもしくはＯＳの安定性に係わる処理についての実行が禁止されている。すなわち、セキュリティもしくはＯＳの安定性に係わる処理は、制限付きの特定処理であるとして、ＵＡＣは、標準ユーザトークンでの実行を禁止している。制限付きの特定処理としては、次の（１）〜（５）等のものがある。
【００３４】
（１）Windowsフォルダ等の重要なフォルダ（具体的には、HKLM、%ProgramFiles%、 %WinDir%等）への書き込み
（２）日付の変更
（３）アプリケーションのインストール
（４）デバイスの削除
（５）ドライバの変更
【００３５】
上記特定処理を実行する必要があるときには、ＵＡＣは、ディスプレイ１２に資格情報確認用のダイアログボックスＤＢを表示し、ユーザに特権の昇格を確認する。このダイアログボックスＤＢにおいては、ユーザが管理特権を持つユーザ（管理者）ＡＤである場合には、単に［続行］ボタンをクリックするだけでよく、一方、ユーザが管理特権を持たない標準ユーザである場合には、管理特権のパスワードの入力が必要となる。ダイアログボックスＤＢを用いてユーザが特権の昇格に同意すると、ＵＡＣは、管理者トークンを使って、上記特定処理ついての作業を行う。なお、標準ユーザである場合には、上記パスワードの入力を受けて、一時的に管理特権ユーザトークが作成され、これが使われる。なお、標準ユーザトークンＳＴを用いて処理を行う状態が本発明でいう「管理特権を持たない標準モード」に相当し、管理者トークンＡＴを用いて処理を行う状態が本発明でいう「管理特権を持つ管理特権モード」に相当する。
【００３６】
Ｃ．アプリケーションプログラムの制御：
図３は、アプリケーションプログラム４３の動作を説明する説明図である。アプリケーションプログラム４３は、前述したように画像を閲覧する画像閲覧用プログラムである。図中の（ａ）はアプリケーションプログラム４３の起動時におけるディスプレイ１２の画面Ｄ１であり、図中の（ｂ）はアプリケーションプログラム４３により画像の表示が完了したときのディスプレイ１２の画面Ｄ２である。ここで、アプリケーションプログラム４３の名称は「閲覧用ビューア」であるとする。
【００３７】
ＯＳ４２は、ＧＵＩ（Graphical User Interface）を採用しており、図中の（ａ）に示すように、ディスプレイ１２の画面Ｄ１には、「ＰＩＣ００１」、「ＰＩＣ００２」といった２つの画像ファイルのアイコンＩＣ１，ＩＣ２と、「閲覧用ビューア」のアプリケーションプログラム４３のアイコンＩＣ３とが表示されているものとする。この状態から、ユーザは、マウス２０を用いたドラッグ＆ドロップにより、「ＰＩＣ００２」のアイコンＩＣ２を「閲覧用ビューア」のアイコンＩＣ３に移動する操作を行う。すなわち、ユーザは、「ＰＩＣ００２」のアイコンＩＣ２をマウス２０でつかみ（マウスボタンを押す）、そのまま引きずり（ボタンを押したままマウス２０を移動）、「閲覧用ビューア」のアイコンＩＣ３上で離す（マウスボタンを離す）という操作を行う。
【００３８】
上記操作を受けて、図３の（ｂ）に示すように、「閲覧用ビューア」のアプリケーションプログラム４３により開いたアプリケーションウィンドウ４３Ｗに、「ＰＩＣ００２」の画像ファイル４１で示される画像４１Ｐが表示される。こうした図３の（ａ）から（ｂ）に至る一連の動作がどのようなプログラム構造とプログラム処理により実現されているかについて、以下に詳述する。
【００３９】
図４は、アプリケーションプログラム４３のデータ構造を示す説明図である。アプリケーションプログラム４３は、「プログラムＡ」、「プログラムＢ」といった２つのプログラムによって構成される。プログラムＡは、ユーザによる入力操作を受け付けるユーザインタフェースモジュールＭ１を実現する。詳細には、ユーザインタフェースモジュールＭ１は、図３の（ａ）に示した画像ファイルのアイコンを「閲覧用ビューア」のアイコンＩＣ３にドロップする操作を受け付ける。
【００４０】
プログラムＢは、前記入力操作により指定された（すなわちドロップされた）画像ファイルに基づいて実際のファイル処理を行う実処理モジュールＭ２を実現する。「実際のファイル処理」とは、実際のデータファイルを対象とした処理であり、ここでは、前記ドロップされた画像ファイルを対象とした処理をいう。この処理は、具体的には、前記ドロップされた画像ファイルをアプリケーションウィンドウ４３Ｗに表示する処理である。
【００４１】
なお、プログラムＡのリソース内には、標準ユーザトークンで動作することを記述したマニフェストファイルＭＦ１が埋め込まれている。詳細には、継承元（親）のプロセスのアクセストークンを使用してアプリケーションを起動することを意味する「asInvoker」を指定したマニフェストファイルＭＦ１がプログラムＡのリソース内に埋め込まれている。一方、プログラムＢのリソース内には、管理者トークンで動作することを記述したマニフェストファイルＭＦ２が埋め込まれている。詳細には、完全な管理特権でアプリケーションを起動することを意味する「RequireAdministrator 」を指定したマニフェストファイルＭＦ２がプログラムＢのリソース内に埋め込まれている。
【００４２】
例えば、旧バージョンのＯＳ（Windows 2000、Windows Xp等）に対応していた既存のアプリケーションプログラムに、ドラッグ＆ドロップによってデータファイルを開く処理を担当する一つのモジュール（ＥＸＥファイル）が含まれている場合を考えてみる。この場合には、このモジュールをコピーして同じソースを持つＥＸＥファイルを２つ作り、名称を変更して、両者にＵＩ処理を担当するか、実際のファイル処理を担当するかの役割を決定する。そうして、ＵＩ処理を担当する側のＥＸＥファイルに対して、「asInvoker」を指定したマニフェストファイルＭＦ１を埋め込むことにより標準ユーザトークンで動作することを指定する。一方、実際のファイル処理を担当する側のＥＸＥファイルに対して、「RequireAdministrator 」を指定したマニフェストファイルＭＦ２を埋め込むことにより管理者トークンで動作することを指定する。このようにすることで。既存のアプリケーションプログラムから図４に示すようなデータ構造のアプリケーションプログラム４３を容易に作成することができる。
【００４３】
なお、プログラムＡにおけるＵＩモジュールＭ１とプログラムＢにおける実処理モジュールＭ２とが、図１で示した第１のプログラムコードＰ１に相当する。また、プログラムＡにおけるマニフェストファイルＭＦ１が、図１で示した第２のプログラムコードＰ２に相当する。プログラムＢにおけるマニフェストファイルＭＦ２が、図１で示した第３のプログラムコードＰ３に相当する。
【００４４】
図５は、アプリケーションプログラム４３に従う処理を示すフローチャートである。図示するように、処理が開始されると、まず、ＯＳ４２に搭載されるエクスプローラ上で、マウス２０によって画像ファイルをドラッグする処理が開始されるのを受けて、プログラムＡが起動する。
【００４５】
プログラムＡが起動すると、まず、コンピュータ本体１６のＣＰＵ３０は、画像ファイルのアイコンがアプリケーションプログラム４３のリストコントロールにドロップされたか否かを判定する処理を行う（ステップＳ１００）。リストコントロールは、グラフィックユーザインタフェース（ＧＵＩ）部品を意味し、図３の（ａ）に示す場合には、アイコンＩＣ３が相当する。ステップＳ１００では、アプリケーションプログラム４３のアイコンＩＣ３上に画像ファイルのアイコンがドロップされたか否かの判定を行う。
【００４６】
図６は、ドラッグ＆ドロップの操作により画像ファイルを開く別の態様を示す説明図である。図示するように、アプリケーションプログラム４３が予め起動されている場合に画面上にはアプリケーションウィンドウ４３Ｗが表示されているが、このアプリケーションウィンドウ４３Ｗ上に画像ファイルのアイコンＩＣ２をドラッグ＆ドロップする操作によっても、アプリケーションプログラム４３で画像ファイルを開く（表示する）ことができる。この場合には、アプリケーションプログラム４３のリストコントロールはアプリケーションウィンドウ４３Ｗに相当することから、ステップＳ１００では、このアプリケーションウィンドウ４３Ｗ上に画像ファイルのアイコンがドロップされたか否かの判定を行う。
【００４７】
図５に戻って、ステップＳ１００の実行後、ＣＰＵ３０は、ドロップされた画像ファイルのファイル名、詳細にはフルパス名ＰＳＳを取得する（ステップＳ１１０）。次いで、ＣＰＵ３０は、実体のないファイルを作業用ファイルとして、その作業用ファイルのフルパス名ＷＰＳＳを用意する（ステップＳ１２０）。その後、ＣＰＵ３０は、ステップＳ１１０，Ｓ１２０で得られた２つのフルパス名ＰＳＳ，ＷＰＳＳを引数にしてプログラムＢを呼び出す（起動する）処理を行う（ステップＳ１３０）。この後、プログラムＡについては待機状態とする。
【００４８】
前述したように、プログラムＡのリソース内には標準ユーザトークンで動作することを記述したマニフェストファイルＭＦ１が埋め込まれていることから、上述したステップＳ１００ないしＳ１３０は標準ユーザトークンで動作する、換言すれば標準モードで動作する。このステップＳ１００ないしＳ１３０の処理は、セキュリティもしくはＯＳの安定性に係わる特定処理ではないことから、標準モード下であっても不具合なく実行される。なお、ステップＳ１００ないしＳ１３０の処理が、前述したＵＩモジュールＭ１（図４）に相当する。
【００４９】
ステップＳ１３０の実行後、ＣＰＵ３０の処理は、プログラムＢに従うものとなる。プログラムＢが呼びされると、ＣＰＵ３０は、ステップＳ１１０で得られたフルパス名ＰＳＳで特定される画像ファイル４１（図１参照）をＨＤＤ４０から読み出して、その画像ファイル４１をステップＳ１２０で用意した作業用ファイルのフルパス名ＷＰＳＳにコピーする（ステップＳ２００）。その後、ＣＰＵ３０は、プログラムＢを終了して、プログラムＡに処理を移行する（ステップＳ２１０）。なお、ステップＳ２００の処理は、ドロップされたデータファイルを対象とした処理であることから前述した実処理モジュールＭ２（図４）に相当する。
【００５０】
前述したように、プログラムＢのリソース内には管理者トークンで動作することを記述したマニフェストファイルＭＦ２が埋め込まれていることから、上述したステップＳ２００、Ｓ２１０は管理者トークンで動作する、換言すれば管理特権モードで動作する。
【００５１】
ステップＳ２１０の実行後、ＣＰＵ３０は、プログラムＡのステップＳ１４０に処理を移行して、作業用のフルパス名ＷＰＳＳに格納された画像ファイルをアプリケーションウィンドウ４３Ｗに表示する処理を行う。この結果、アプリケーションプログラム４３による画像ファイルの表示が完了する。このステップＳ１４０は、プログラムＡによるものであることから標準モードで動作することになる。ステップＳ１４０の実行後、「リターン」に抜けてこの処理を終了する。
【００５２】
Ｄ．作用、効果：
旧バージョンのＯＳでは、ステップＳ１１０でドロップされた画像ファイルのフルパス名ＰＳＳを取得した後、直ちにそのフルパス名ＰＳＳの画像ファイルを表示しようとするが、このときのフルパス名ＰＳＳの画像ファイルを読み込む処理がセキュリティに係わる特定処理であるとして処理が中止されることがあった。上記フルパス名ＰＳＳに該当するフォルダは必ずしも標準ユーザトークンでの処理が許可されていないためであり、読み出そうとしたときに、セキュリティに係わる特定処理であるとされる。
【００５３】
これに対して、本実施例では、作業用のフルパス名ＷＰＳＳにコピーされた画像ファイルを読み出して表示していることから、標準ユーザトークンであっても問題なく動作させることができる。すなわち、作業用のフルパス名ＷＰＳＳは、標準モード下で動作させる自身のプログラムＡにより用意したものであることから、標準ユーザトークンであっても問題なく動作させることができる。一方、ドロップされたフルパス名ＰＳＳの画像ファイルの読み出しを伴うステップＳ２００のコピー処理については、プログラムＢにより管理者トークンを用いて行っていることから、このコピー処理についても正常に行うことができる。
【００５４】
したがって、本発明の第１のコンピュータプログラムによれば、旧バージョンのＯＳで実行可能な画像ファイルを開くためのドラッグ＆ドロップの作業を、ユーザアカウント制御を導入したWindows Vista上で実行可能とすることができる。
【００５５】
また、本実施例では、アプリケーションプログラム４３が、ＵＩ処理を担当するプログラムＡと実際のファイル処理を担当するプログラムＢとを備え、プログラムＡのリソース内に標準ユーザトークンで動作することを記述したマニフェストファイルＭＦ１を備え、プログラムＢのリソース内に管理者トークンで動作することを記述したマニフェストファイルＭＦ２を備えるように構成されている。このために、ＵＩモジュールＭ１の動作を標準モードによるものに、実処理モジュールＭ２の動作を管理特権モードによるものにそれぞれ制限することを容易に実現することができる、
【００５６】
Ｅ．その他の実施形態：
本発明の他の実施形態について、次に説明する。
【００５７】
（１）前記実施例では、アプリケーションプログラム４３は画像ファイルを表示するための画像閲覧用プログラムであったが、これに換えて、文書ファイルを表示するモジュールを備えるワードプロセッサ、画像や文書ファイル以外の他の形式のデータファイルを表示するモジュールを備えるアプリケーションプログラム等に適用する構成としてもよい。これらの場合に、対象となるデータファイルをドラッグ＆ドロップの操作により開く（表示する）構成とすればよい。
【００５８】
（２）さらに、必ずしもドラッグ＆ドロップの操作に限る必要もなく、コンピュータプログラムで使用の対象となるデータファイルを指定する入力操作（ユーザによる入力装置を用いた操作）であれば、ドラッグ＆ドロップ以外の操作に換えることもできる。
【００５９】
（３）さらにまた、コンピュータプログラムは、ドライバやアプリケーションプログラムをインストールするものであってもよい。
【００６０】
（４）前記実施例では、コンピュータプログラムは、ユーザインタフェースモジュールと実際のファイル処理を行う実処理モジュールとを実現する構成としたが、前記ユーザインタフェースモジュールは、管理特権を必要とする特定処理を含まない他の処理（第１処理）に換えることもできる。また、前記実処理モジュールは、前記特定処理を含む他の処理（第２処理）に換えることもできる。
【００６１】
（５）プログラムＡ、プログラムＢのリソース内にマニフェストファイルＭＦ１，ＭＦ２を埋め込むことにより、プログラムＡ，Ｂの動作を標準モードによるものか管理特権モードによるものかを規定する構成としていたが、必ずしもマニフェストファイルを使用する構成とする必要もなく、動作モードを規定することができればどのような手法によるものとしてもよい。
【００６２】
（６）前記実施例では、アプリケーションプログラム４３をプログラムＡとプログラムＢといった２本のプログラムからなる構成としたが、必ずしも２本に分ける必要もなく、ＵＩモジュールＭ１，実処理モジュールＭ２との双方を備える１本のプログラムによって構成してもよい。
【００６３】
以上、本発明の一実施例とその変形例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図２】ＵＡＣを簡単に説明するための説明図である。
【図３】アプリケーションプログラム４３の動作を説明する説明図である。
【図４】アプリケーションプログラム４３のデータ構造を示す説明図である。
【図５】アプリケーションプログラム４３に従う処理を示すフローチャートである。
【図６】ドラッグ＆ドロップの操作により画像ファイルを開く別の態様を示す説明図である。
【符号の説明】
【００６５】
１０…コンピュータ
１２…ディスプレイ
１６…コンピュータ本体
１８…キーボード
２０…マウス
２２…ＣＤドライブ
３０…ＣＰＵ
３１…ＲＯＭ
３２…ＲＡＭ
３４…マウスインタフェース
３５…キーボードインタフェース
３６…ＣＤＣ
３７…ＨＤＣ
３８…ＣＲＴＣ
４１…画像ファイル
４２…オペレーティングシステム
４３…アプリケーションプログラム
４３Ｗ…アプリケーションウィンドウ
Ｍ１…ユーザインタフェースモジュール
Ｍ２…実処理モジュール
Ｐ１…第１のプログラムコード
Ｐ２…第２のプログラムコード
Ｐ３…第３のプログラムコード
ＭＦ１…マニフェストファイル
ＭＦ２…マニフェストファイル
【図１】
2008250382.tif 000003
【図２】
2008250382.tif 000004
【図３】
2008250382.tif 000005
【図４】
2008250382.tif 000006
【図５】
2008250382.tif 000007
【図６】
2008250382.tif 000008