説明

コンピュータプログラム、情報処理装置および情報処理方法

【課題】旧バージョンのOSで実行可能な作業を、ユーザアカウント制御を導入したシステムで実行可能とする。
【解決手段】アプリケーションプログラム43は、ユーザによるドラッグ&ドロップの操作を受け付けるユーザインタフェースモジュールM1を実現するプログラムAと、画像ファイルに基づいて実際のファイル処理を行う実処理モジュールM2を実現するプログラムBとを備える。プログラムAのリソース内には、標準ユーザトークンで動作することを記述したマニフェストファイルMF1が埋め込まれている。プログラムBのリソース内には、管理者トークンで動作することを記述したマニフェストファイルMF2が埋め込まれている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラム、情報処理装置および情報処理方法に関するものである。
【背景技術】
【0002】
パソコンを動作させるための基本ソフトであるオペレーティング・システム(以下、「OS」と呼ぶ)では、ログオン時に、管理特権を持つ管理者であるか、管理特権を持たない標準ユーザであるかの入力を操作者(ユーザ)に課している。標準ユーザとしてログオンした時には、セキュリティもしくはOSの安定性に係わる特定処理については、権限がないとして実行を制限(禁止)している。
【0003】
近年、セキュリティレベルを向上するという要請の元、OSに種々の新たな技術が導入されている。これら技術の一つとして、Windows Vista(米国マイクロソフト社の登録商標)に導入されたユーザアカウント制御と呼ばれる技術がある。ユーザアカウント制御を行うシステムにおいては、例え管理者としてログオンしていても、通常は標準ユーザとしてシステムを利用することになる。そして、必要な場合のみ、標準ユーザから管理者へ「昇格」させることにより、管理特権を与えている。ユーザアカウント制御を導入することによって、処理を個別に実行制限することが可能となる。
【0004】
しかしながら、前記ユーザアカウント制御を導入したシステムでは、前述したように、処理を個別に実行制限可能としたことで、導入前の旧バージョンのOS(例えば、Windows 2000、Windows Xp(米国マイクロソフト社の登録商標))で実行可能であった作業が、例え管理特権を持っていても実行不可能となることがあった。
【0005】
上記作業の一つとして、データファイルを任意のアプリケーションで開くためのドラッグ&ドロップの作業がある(図3,図6を参照:例えば特許文献1)。この作業は、画面上でデータファイルを任意のアプリケーションのアイコンにドラッグ&ドロップさせることで、そのデータファイルでは関連づけられていないアプリケーションでそのデータファイルを開くというものである。このドラッグ&ドロップの作業をユーザアカウント制御を導入したシステムで実行しようとした場合、管理者ユーザへ例え昇格したとしても、この作業を実行することができないという問題があった。
【0006】
【特許文献1】特開2006−163869号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の解決しようとする課題は、旧バージョンのOSで実行可能な作業を、ユーザアカウント制御を導入したシステムで実行可能とすることにある。
【課題を解決するための手段】
【0008】
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
【0009】
本発明の第1のコンピュータプログラムは、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
当該コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールと、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールとを実現する第1のプログラムコードと、
前記第1のプログラムコードに従う前記ユーザインタフェースモジュールの実行を前記標準モードによるものに規定する第2のプログラムコードと、
前記第1のプログラムコードに従う前記実処理モジュールの動作を前記管理特権モードによるものに規定する第3のプログラムコードと
を備えることを特徴としている。
【0010】
前記構成のコンピュータプログラムによれば、コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールについては標準モードで実行され、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールについては管理特権モードで実行される。実際のファイル処理は、セキュリティもしくはオペレーティングシステムの安定性を損ねる虞があることから、実行に管理特権が必要となることが多いが、この構成によれば、管理特権を持つ管理特権モードにより実際のファイル処理が行われることから、管理特権がないとして作業が実行不可能となることがない。
【0011】
したがって、本発明の第1のコンピュータプログラムによれば、旧バージョンのOSで実行可能なファイル処理の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【0012】
前記ユーザインタフェースモジュールは、前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ&ドロップさせる操作を受け付けるためのものとしてもよい。この構成によれば、ドラッグ&ドロップによってデータファイルを開く作業を、ユーザアカウント制御を行うオペレーティングシステム下で実行することができる。
【0013】
前記ドラッグ&ドロップによってデータファイルを開く作業を実行可能とした第1のコンピュータプログラムにおいて、前記実処理モジュールは、前記データファイルを前記標準モード下で用意した作業用ファイルにコピーするものであり、さらに、前記実処理モジュールにより前記作業用ファイルにコピーされたデータファイルを前記標準モード下で処理する第4のプログラムコードを備える構成としてもよい。
【0014】
この構成によれば、データファイルを対象として行う実際のファイル処理は、管理特権モード下で行われる作業用ファイルへのコピー処理だけであって、標準モード下で行なわれる処理はない。このために、コピーされた作業用ファイルのデータファイルを使用することで、標準モード下でのファイル処理が可能となる。したがって、旧バージョンのOSで実行可能な作業をユーザアカウント制御を導入したシステムで実行可能とすることを、容易な構成で実現することができる。
【0015】
本発明の第1のコンピュータプログラムにおいて、前記第1のプログラムコードは、前記ユーザインタフェースモジュールを実現する第5のプログラムコードと、前記実処理モジュールを実現する第6のプログラムコードとを備え、前記第2のプログラムコードは、前記第5のプログラムコードに埋め込まれ、当該第5のプログラムコードが前記標準モードで起動することを記述するマニフェストファイルにより構成され、前記第3プログラムコードは、前記第6のプログラムコードに埋め込まれ、当該第6のプログラムコードが前記管理特権モードで起動することを記述するマニフェストファイルにより構成される構成としてもよい。
【0016】
上記構成によれば、ユーザインタフェースモジュールの動作を標準モードによるものに、実処理モジュールの動作を管理特権モードによるものにそれぞれ制限することを容易に実現することができる。
【0017】
本発明の第2のコンピュータプログラムは、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
前記特定処理を含まない第1処理を行う第1モジュールと、前記特定処理を含む第2処理を行う第2モジュールとを実現する第1のプログラムコードと、
前記第1のプログラムコードに従う前記第1モジュールの動作を前記標準モードによるものに規定する第2のプログラムコードと、
前記第1のプログラムコードに従う前記第2モジュールの動作を前記管理特権モードによるものに規定する第3のプログラムコードと
を備えることを特徴としている。
【0018】
前記構成の第2のコンピュータプログラムによれば、標準モード時に実行制限を行う特定処理を含まない第1処理を行う第1モジュールについては標準モードで実行され、前記特定処理を含む第2処理を行う第2モジュールについては管理特権モードで実行することができる。この構成によれば、特定処理を含む第2処理を管理特権がないとして作業が実行不可能となることがない。したがって、旧バージョンのOSで実行可能な種々の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【0019】
本発明の情報処理装置は、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理装置であって、
前記標準モード下で、使用するデータファイルの指定を受け付けるユーザインタフェースモジュールと、
前記標準モードから前記管理特権モードへの切り替えを行うモード切替手段と、
前記モード切替手段によるモードの切り替え後、前記データファイルに基づいて実際のファイル処理を行う実処理モジュールと
を備えることを特徴としている。
【0020】
本発明の情報処理方法は、
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理方法であって、
前記標準モード下で、使用するデータファイルの指定を受け付け、
前記標準モードから前記管理特権モードへの切り替えを行い、
前記管理特権モードへの切り替え後、前記データファイルに基づいて実際のファイル処理を行う、ことを特徴としている。
【0021】
前記情報処理装置および情報処理方法は、本発明の第1のコンピュータプログラムと同様に、旧バージョンのOSで実行可能なファイル処理の作業を、ユーザアカウント制御を導入したシステムで実行可能とすることができる。
【0022】
なお、本発明は、種々の態様で実現することが可能であり、例えば、本発明の第1または第2のコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。また、コンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様で実現することもできる。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施の形態を実施例に基づいて次の順に説明する。
A.ハードウェアの構成:
B.OSのユーザアカウント制御:
C.アプリケーションプログラムの制御:
D.作用、効果:
E.その他の実施形態:
【0024】
A.ハードウェアの構成:
図1は、本発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。このコンピュータシステムは、いわゆるパーソナルコンピュータ(以下、単にコンピュータと呼ぶ)10を中心に備え、その周辺にディスプレイ12を備える。コンピュータ10は、コンピュータ本体16と、入力装置としてのキーボード18およびマウス20を備える。なお、このコンピュータ本体16には、CD−ROMの内容を読み取るCDドライブ22が搭載されている。
【0025】
コンピュータ本体16は、中央演算処理装置としてのCPU30を中心にバスにより相互に接続されたROM31、RAM32、マウスインタフェース34、キーボードインタフェース35、CDC36、HDC37およびCRTC38を備える。
【0026】
ROM31は、内蔵されている各種プログラム等を記憶する読み出し専用のメモリである。RAM32は、各種データ等を記憶する読み出し・書込み可能なメモリである。マウスインタフェース34は、マウス20とのデータ等のやり取りを司るインタフェースである。キーボードインタフェース35は、キーボード18からのキー入力を司るインタフェースである。CDC36は、CDドライブ22を制御するCDコントローラである。HDC37は、内蔵のハードディスクドライブ(HDD)40を制御するハードディスクコントローラである。HDD40には、画像を表すデータファイル(以下、画像ファイルと呼ぶ)41等の種々のデータや、後述するOS(オペレーティングシステム)42やアプリケーションプログラム43が格納される。
【0027】
本実施例では、OS42としてWindows Vistaが搭載されている。Windows Vistaは、キーボード18、マウス20からの入力やディスプレイ12への出力といった入出力機能、HDD40やメモリの管理など基本的な機能を提供するものであり、コンピュータ本体16上でアプリケーションプログラム43を走らせるための土台となっている。コンピュータ本体16に電源を投入すると、OS42はHDD40のブートブロックに書き込まれたローダに従ってRAM32の所定の領域にロードされる。
【0028】
また、アプリケーションプログラム43として、画像を閲覧する画像閲覧用プログラムが用意されている。アプリケーションプログラム43は、CD−ROMによって提供されており、CD−ROMからコンピュータ本体16にインストールされてHDD40に格納されている。コンピュータ本体16においてCPU30がHDD40に格納されたアプリケーションプログラム43を実行することにより、HDD40に格納された画像ファイル41を表示する処理が実現される。
【0029】
なお、アプリケーションプログラム43は、CD−ROMに替えて、フレキシブルディスク、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成として、これらから提供されたものとすることができる。また、アプリケーションプログラム43は、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
【0030】
アプリケーションプログラム43は、第1ないし第3のプログラムコードP1,P2,P3を備えている。第1のプログラムコードP1は、ユーザインタフェースモジュール(以下、「UIモジュール」と呼ぶ)M1と実処理モジュールM2とを実現する。このアプリケーションプログラム43については後ほど詳述する。
【0031】
B.OSのユーザアカウント制御:
OS42であるWindows Vistaには、背景技術の欄で説明したユーザアカウント制御(以下、「UAC」と呼ぶ)と呼ばれる技術が導入されている。
【0032】
図2は、UACを簡単に説明するための説明図である。UACはユーザUがコンピュータ本体16にログオンするときに動作を開始する。UACでは、まず、管理特権を持つユーザ(すなわち管理者)ADがキーボード18やマウス20、ディスプレイ12を用いて対話形式でログオンする際に、制限付き (つまり、フィルタ処理した) トークンを作成する。このトークンが標準ユーザトークンSTと呼ばれるものであり、管理者AD、もともと持っている管理者トークンATと標準ユーザトークンSTとを併せ持つことになる。なお、図示はしないが、管理特権を持たない標準ユーザは、ログオンすると、標準ユーザトークンSTだけを備える。
【0033】
コンピュータ10のログオン後、種々のアプリケーションプログラムを使用して各種の情報処理が実行されることになるが、ログオン後の処理は、標準ユーザ、管理者ADともに標準ユーザトークンで実行される。なお、UACにより、標準ユーザトークンでは、セキュリティもしくはOSの安定性に係わる処理についての実行が禁止されている。すなわち、セキュリティもしくはOSの安定性に係わる処理は、制限付きの特定処理であるとして、UACは、標準ユーザトークンでの実行を禁止している。制限付きの特定処理としては、次の(1)〜(5)等のものがある。
【0034】
(1)Windowsフォルダ等の重要なフォルダ(具体的には、HKLM、%ProgramFiles%、 %WinDir%等)への書き込み
(2)日付の変更
(3)アプリケーションのインストール
(4)デバイスの削除
(5)ドライバの変更
【0035】
上記特定処理を実行する必要があるときには、UACは、ディスプレイ12に資格情報確認用のダイアログボックスDBを表示し、ユーザに特権の昇格を確認する。このダイアログボックスDBにおいては、ユーザが管理特権を持つユーザ(管理者)ADである場合には、単に[続行]ボタンをクリックするだけでよく、一方、ユーザが管理特権を持たない標準ユーザである場合には、管理特権のパスワードの入力が必要となる。ダイアログボックスDBを用いてユーザが特権の昇格に同意すると、UACは、管理者トークンを使って、上記特定処理ついての作業を行う。なお、標準ユーザである場合には、上記パスワードの入力を受けて、一時的に管理特権ユーザトークが作成され、これが使われる。なお、標準ユーザトークンSTを用いて処理を行う状態が本発明でいう「管理特権を持たない標準モード」に相当し、管理者トークンATを用いて処理を行う状態が本発明でいう「管理特権を持つ管理特権モード」に相当する。
【0036】
C.アプリケーションプログラムの制御:
図3は、アプリケーションプログラム43の動作を説明する説明図である。アプリケーションプログラム43は、前述したように画像を閲覧する画像閲覧用プログラムである。図中の(a)はアプリケーションプログラム43の起動時におけるディスプレイ12の画面D1であり、図中の(b)はアプリケーションプログラム43により画像の表示が完了したときのディスプレイ12の画面D2である。ここで、アプリケーションプログラム43の名称は「閲覧用ビューア」であるとする。
【0037】
OS42は、GUI(Graphical User Interface)を採用しており、図中の(a)に示すように、ディスプレイ12の画面D1には、「PIC001」、「PIC002」といった2つの画像ファイルのアイコンIC1,IC2と、「閲覧用ビューア」のアプリケーションプログラム43のアイコンIC3とが表示されているものとする。この状態から、ユーザは、マウス20を用いたドラッグ&ドロップにより、「PIC002」のアイコンIC2を「閲覧用ビューア」のアイコンIC3に移動する操作を行う。すなわち、ユーザは、「PIC002」のアイコンIC2をマウス20でつかみ(マウスボタンを押す)、そのまま引きずり(ボタンを押したままマウス20を移動)、「閲覧用ビューア」のアイコンIC3上で離す(マウスボタンを離す)という操作を行う。
【0038】
上記操作を受けて、図3の(b)に示すように、「閲覧用ビューア」のアプリケーションプログラム43により開いたアプリケーションウィンドウ43Wに、「PIC002」の画像ファイル41で示される画像41Pが表示される。こうした図3の(a)から(b)に至る一連の動作がどのようなプログラム構造とプログラム処理により実現されているかについて、以下に詳述する。
【0039】
図4は、アプリケーションプログラム43のデータ構造を示す説明図である。アプリケーションプログラム43は、「プログラムA」、「プログラムB」といった2つのプログラムによって構成される。プログラムAは、ユーザによる入力操作を受け付けるユーザインタフェースモジュールM1を実現する。詳細には、ユーザインタフェースモジュールM1は、図3の(a)に示した画像ファイルのアイコンを「閲覧用ビューア」のアイコンIC3にドロップする操作を受け付ける。
【0040】
プログラムBは、前記入力操作により指定された(すなわちドロップされた)画像ファイルに基づいて実際のファイル処理を行う実処理モジュールM2を実現する。「実際のファイル処理」とは、実際のデータファイルを対象とした処理であり、ここでは、前記ドロップされた画像ファイルを対象とした処理をいう。この処理は、具体的には、前記ドロップされた画像ファイルをアプリケーションウィンドウ43Wに表示する処理である。
【0041】
なお、プログラムAのリソース内には、標準ユーザトークンで動作することを記述したマニフェストファイルMF1が埋め込まれている。詳細には、継承元(親)のプロセスのアクセストークンを使用してアプリケーションを起動することを意味する「asInvoker」を指定したマニフェストファイルMF1がプログラムAのリソース内に埋め込まれている。一方、プログラムBのリソース内には、管理者トークンで動作することを記述したマニフェストファイルMF2が埋め込まれている。詳細には、完全な管理特権でアプリケーションを起動することを意味する「RequireAdministrator 」を指定したマニフェストファイルMF2がプログラムBのリソース内に埋め込まれている。
【0042】
例えば、旧バージョンのOS(Windows 2000、Windows Xp等)に対応していた既存のアプリケーションプログラムに、ドラッグ&ドロップによってデータファイルを開く処理を担当する一つのモジュール(EXEファイル)が含まれている場合を考えてみる。この場合には、このモジュールをコピーして同じソースを持つEXEファイルを2つ作り、名称を変更して、両者にUI処理を担当するか、実際のファイル処理を担当するかの役割を決定する。そうして、UI処理を担当する側のEXEファイルに対して、「asInvoker」を指定したマニフェストファイルMF1を埋め込むことにより標準ユーザトークンで動作することを指定する。一方、実際のファイル処理を担当する側のEXEファイルに対して、「RequireAdministrator 」を指定したマニフェストファイルMF2を埋め込むことにより管理者トークンで動作することを指定する。このようにすることで。既存のアプリケーションプログラムから図4に示すようなデータ構造のアプリケーションプログラム43を容易に作成することができる。
【0043】
なお、プログラムAにおけるUIモジュールM1とプログラムBにおける実処理モジュールM2とが、図1で示した第1のプログラムコードP1に相当する。また、プログラムAにおけるマニフェストファイルMF1が、図1で示した第2のプログラムコードP2に相当する。プログラムBにおけるマニフェストファイルMF2が、図1で示した第3のプログラムコードP3に相当する。
【0044】
図5は、アプリケーションプログラム43に従う処理を示すフローチャートである。図示するように、処理が開始されると、まず、OS42に搭載されるエクスプローラ上で、マウス20によって画像ファイルをドラッグする処理が開始されるのを受けて、プログラムAが起動する。
【0045】
プログラムAが起動すると、まず、コンピュータ本体16のCPU30は、画像ファイルのアイコンがアプリケーションプログラム43のリストコントロールにドロップされたか否かを判定する処理を行う(ステップS100)。リストコントロールは、グラフィックユーザインタフェース(GUI)部品を意味し、図3の(a)に示す場合には、アイコンIC3が相当する。ステップS100では、アプリケーションプログラム43のアイコンIC3上に画像ファイルのアイコンがドロップされたか否かの判定を行う。
【0046】
図6は、ドラッグ&ドロップの操作により画像ファイルを開く別の態様を示す説明図である。図示するように、アプリケーションプログラム43が予め起動されている場合に画面上にはアプリケーションウィンドウ43Wが表示されているが、このアプリケーションウィンドウ43W上に画像ファイルのアイコンIC2をドラッグ&ドロップする操作によっても、アプリケーションプログラム43で画像ファイルを開く(表示する)ことができる。この場合には、アプリケーションプログラム43のリストコントロールはアプリケーションウィンドウ43Wに相当することから、ステップS100では、このアプリケーションウィンドウ43W上に画像ファイルのアイコンがドロップされたか否かの判定を行う。
【0047】
図5に戻って、ステップS100の実行後、CPU30は、ドロップされた画像ファイルのファイル名、詳細にはフルパス名PSSを取得する(ステップS110)。次いで、CPU30は、実体のないファイルを作業用ファイルとして、その作業用ファイルのフルパス名WPSSを用意する(ステップS120)。その後、CPU30は、ステップS110,S120で得られた2つのフルパス名PSS,WPSSを引数にしてプログラムBを呼び出す(起動する)処理を行う(ステップS130)。この後、プログラムAについては待機状態とする。
【0048】
前述したように、プログラムAのリソース内には標準ユーザトークンで動作することを記述したマニフェストファイルMF1が埋め込まれていることから、上述したステップS100ないしS130は標準ユーザトークンで動作する、換言すれば標準モードで動作する。このステップS100ないしS130の処理は、セキュリティもしくはOSの安定性に係わる特定処理ではないことから、標準モード下であっても不具合なく実行される。なお、ステップS100ないしS130の処理が、前述したUIモジュールM1(図4)に相当する。
【0049】
ステップS130の実行後、CPU30の処理は、プログラムBに従うものとなる。プログラムBが呼びされると、CPU30は、ステップS110で得られたフルパス名PSSで特定される画像ファイル41(図1参照)をHDD40から読み出して、その画像ファイル41をステップS120で用意した作業用ファイルのフルパス名WPSSにコピーする(ステップS200)。その後、CPU30は、プログラムBを終了して、プログラムAに処理を移行する(ステップS210)。なお、ステップS200の処理は、ドロップされたデータファイルを対象とした処理であることから前述した実処理モジュールM2(図4)に相当する。
【0050】
前述したように、プログラムBのリソース内には管理者トークンで動作することを記述したマニフェストファイルMF2が埋め込まれていることから、上述したステップS200、S210は管理者トークンで動作する、換言すれば管理特権モードで動作する。
【0051】
ステップS210の実行後、CPU30は、プログラムAのステップS140に処理を移行して、作業用のフルパス名WPSSに格納された画像ファイルをアプリケーションウィンドウ43Wに表示する処理を行う。この結果、アプリケーションプログラム43による画像ファイルの表示が完了する。このステップS140は、プログラムAによるものであることから標準モードで動作することになる。ステップS140の実行後、「リターン」に抜けてこの処理を終了する。
【0052】
D.作用、効果:
旧バージョンのOSでは、ステップS110でドロップされた画像ファイルのフルパス名PSSを取得した後、直ちにそのフルパス名PSSの画像ファイルを表示しようとするが、このときのフルパス名PSSの画像ファイルを読み込む処理がセキュリティに係わる特定処理であるとして処理が中止されることがあった。上記フルパス名PSSに該当するフォルダは必ずしも標準ユーザトークンでの処理が許可されていないためであり、読み出そうとしたときに、セキュリティに係わる特定処理であるとされる。
【0053】
これに対して、本実施例では、作業用のフルパス名WPSSにコピーされた画像ファイルを読み出して表示していることから、標準ユーザトークンであっても問題なく動作させることができる。すなわち、作業用のフルパス名WPSSは、標準モード下で動作させる自身のプログラムAにより用意したものであることから、標準ユーザトークンであっても問題なく動作させることができる。一方、ドロップされたフルパス名PSSの画像ファイルの読み出しを伴うステップS200のコピー処理については、プログラムBにより管理者トークンを用いて行っていることから、このコピー処理についても正常に行うことができる。
【0054】
したがって、本発明の第1のコンピュータプログラムによれば、旧バージョンのOSで実行可能な画像ファイルを開くためのドラッグ&ドロップの作業を、ユーザアカウント制御を導入したWindows Vista上で実行可能とすることができる。
【0055】
また、本実施例では、アプリケーションプログラム43が、UI処理を担当するプログラムAと実際のファイル処理を担当するプログラムBとを備え、プログラムAのリソース内に標準ユーザトークンで動作することを記述したマニフェストファイルMF1を備え、プログラムBのリソース内に管理者トークンで動作することを記述したマニフェストファイルMF2を備えるように構成されている。このために、UIモジュールM1の動作を標準モードによるものに、実処理モジュールM2の動作を管理特権モードによるものにそれぞれ制限することを容易に実現することができる、
【0056】
E.その他の実施形態:
本発明の他の実施形態について、次に説明する。
【0057】
(1)前記実施例では、アプリケーションプログラム43は画像ファイルを表示するための画像閲覧用プログラムであったが、これに換えて、文書ファイルを表示するモジュールを備えるワードプロセッサ、画像や文書ファイル以外の他の形式のデータファイルを表示するモジュールを備えるアプリケーションプログラム等に適用する構成としてもよい。これらの場合に、対象となるデータファイルをドラッグ&ドロップの操作により開く(表示する)構成とすればよい。
【0058】
(2)さらに、必ずしもドラッグ&ドロップの操作に限る必要もなく、コンピュータプログラムで使用の対象となるデータファイルを指定する入力操作(ユーザによる入力装置を用いた操作)であれば、ドラッグ&ドロップ以外の操作に換えることもできる。
【0059】
(3)さらにまた、コンピュータプログラムは、ドライバやアプリケーションプログラムをインストールするものであってもよい。
【0060】
(4)前記実施例では、コンピュータプログラムは、ユーザインタフェースモジュールと実際のファイル処理を行う実処理モジュールとを実現する構成としたが、前記ユーザインタフェースモジュールは、管理特権を必要とする特定処理を含まない他の処理(第1処理)に換えることもできる。また、前記実処理モジュールは、前記特定処理を含む他の処理(第2処理)に換えることもできる。
【0061】
(5)プログラムA、プログラムBのリソース内にマニフェストファイルMF1,MF2を埋め込むことにより、プログラムA,Bの動作を標準モードによるものか管理特権モードによるものかを規定する構成としていたが、必ずしもマニフェストファイルを使用する構成とする必要もなく、動作モードを規定することができればどのような手法によるものとしてもよい。
【0062】
(6)前記実施例では、アプリケーションプログラム43をプログラムAとプログラムBといった2本のプログラムからなる構成としたが、必ずしも2本に分ける必要もなく、UIモジュールM1,実処理モジュールM2との双方を備える1本のプログラムによって構成してもよい。
【0063】
以上、本発明の一実施例とその変形例を詳述してきたが、本発明は、こうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することができるのは勿論のことである。
【図面の簡単な説明】
【0064】
【図1】本発明の一実施例を適用するコンピュータシステムのハードウェアの概略構成を示すブロック図である。
【図2】UACを簡単に説明するための説明図である。
【図3】アプリケーションプログラム43の動作を説明する説明図である。
【図4】アプリケーションプログラム43のデータ構造を示す説明図である。
【図5】アプリケーションプログラム43に従う処理を示すフローチャートである。
【図6】ドラッグ&ドロップの操作により画像ファイルを開く別の態様を示す説明図である。
【符号の説明】
【0065】
10…コンピュータ
12…ディスプレイ
16…コンピュータ本体
18…キーボード
20…マウス
22…CDドライブ
30…CPU
31…ROM
32…RAM
34…マウスインタフェース
35…キーボードインタフェース
36…CDC
37…HDC
38…CRTC
41…画像ファイル
42…オペレーティングシステム
43…アプリケーションプログラム
43W…アプリケーションウィンドウ
M1…ユーザインタフェースモジュール
M2…実処理モジュール
P1…第1のプログラムコード
P2…第2のプログラムコード
P3…第3のプログラムコード
MF1…マニフェストファイル
MF2…マニフェストファイル

【特許請求の範囲】
【請求項1】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
当該コンピュータプログラムで使用するデータファイルを指定する入力操作を受け付けるユーザインタフェースモジュールと、前記入力操作により指定されたデータファイルに基づいて実際のファイル処理を行う実処理モジュールとを実現する第1のプログラムコードと、
前記第1のプログラムコードに従う前記ユーザインタフェースモジュールの実行を前記標準モードによるものに規定する第2のプログラムコードと、
前記第1のプログラムコードに従う前記実処理モジュールの動作を前記管理特権モードによるものに規定する第3のプログラムコードと
を備えるコンピュータプログラム。
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ&ドロップさせる操作を受け付けるためのものである、コンピュータプログラム。
【請求項3】
請求項2に記載のコンピュータプログラムであって、
前記実処理モジュールは、
前記データファイルを前記標準モード下で用意した作業用ファイルにコピーするものであり、
さらに、
前記実処理モジュールにより前記作業用ファイルにコピーされたデータファイルを前記標準モード下で処理する第4のプログラムコード
を備える、コンピュータプログラム。
【請求項4】
請求項1ないし3のいずれかに記載のコンピュータプログラムであって、
前記第1のプログラムコードは、
前記ユーザインタフェースモジュールを実現する第5のプログラムコードと、
前記実処理モジュールを実現する第6のプログラムコードと
を備え、
前記第2のプログラムコードは、
前記第5のプログラムコードに埋め込まれ、当該第5のプログラムコードが前記標準モードで起動することを記述するマニフェストファイルにより構成され、
前記第3プログラムコードは、
前記第6のプログラムコードに埋め込まれ、当該第6のプログラムコードが前記管理特権モードで起動することを記述するマニフェストファイルにより構成される、コンピュータプログラム。
【請求項5】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行うオペレーティングシステムが稼働するコンピュータによって読みとられ、アプリケーションとして実行されるコンピュータプログラムであって、
前記特定処理を含まない第1処理を行う第1モジュールと、前記特定処理を含む第2処理を行う第2モジュールとを実現する第1のプログラムコードと、
前記第1のプログラムコードに従う前記第1モジュールの動作を前記標準モードによるものに規定する第2のプログラムコードと、
前記第1のプログラムコードに従う前記第2モジュールの動作を前記管理特権モードによるものに規定する第3のプログラムコードと
を備えるコンピュータプログラム。
【請求項6】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理装置であって、
前記標準モード下で、使用するデータファイルの指定を受け付けるユーザインタフェースモジュールと、
前記標準モードから前記管理特権モードへの切り替えを行うモード切替手段と、
前記モード切替手段によるモードの切り替え後、前記データファイルに基づいて実際のファイル処理を行う実処理モジュールと
を備える情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ&ドロップさせる操作を受け付けるためのものである、情報処理装置。
【請求項8】
管理特権を持つ管理特権モードと管理特権を持たない標準モードとを選択的に切り替えて、前記標準モード時には予め定められた特定処理の実行を制限するユーザアカウント制御を行う情報処理方法であって、
前記標準モード下で、使用するデータファイルの指定を受け付け、
前記標準モードから前記管理特権モードへの切り替えを行い、
前記管理特権モードへの切り替え後、前記データファイルに基づいて実際のファイル処理を行う、情報処理方法。
【請求項9】
請求項8に記載の情報処理方法であって、
前記ユーザインタフェースモジュールは、
前記コンピュータに接続されるディスプレイの画面上で、当該アプリケーションのグラフィックユーザインタフェース部品に前記データファイルをドラッグ&ドロップさせる操作を受け付けるためのものである、情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−250382(P2008−250382A)
【公開日】平成20年10月16日(2008.10.16)
【国際特許分類】
【出願番号】特願2007−87354(P2007−87354)
【出願日】平成19年3月29日(2007.3.29)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】