通知
すべてクリア
Topic starter
2010年9月13日 5:08 PM
お世話になっております。
Windows Vista以降ではProgram Fileフォルダの中などにファイルを
作成したり上書きしたりすると、そのファイルではなく互換性フォルダに
別のファイルとして作成されます。
C:\Program Files\CompName\AppName\foo.txt
例えば、アプリのインストールフォルダに上記のようなファイルがあった時に、
「foo.txt」に対して互換性ファイルが生成されているか?
もし、されている場合にそのフルパス名は?
この2つの情報が知りたいのですが、何かAPIなどは用意されているのでしょうか?それ
とも、「VirtualStore\~」というパス名を自分で合成していく必要が
あるのでしょうか?
ご存じの方がいましたらアドバイスをお願い致します。
2010年9月13日 8:16 PM
仮想化されているかどうかは、GetFileAttributes で FILE_ATTRIBUTE_VIRTUAL が返っ
てくるかどうかで判別できます。
実体の場所を取得する方法は知りませんね。わかったらまたレスします。
Topic starter
2010年9月15日 7:51 AM
アドバイスありがとうございました。
「FILE_ATTRIBUTE_VIRTUAL」というフラグは知りませんでした。
仮想化されたファイルのフルパス名については自分で合成して
作成するようにしました。