■ファイル属性のチェックと変更

最近では、CD-Rが広く一般に普及してきたため、個人ユーザーでもCD-Rを使うことが 少なくない。ところが、いったん通常のCD-ROMドライブで読めるようにクローズしてしまうと、ファイルの属性が「読み取り専用」となってしまう。CD-ROMとは、ROMという文字が示すように"Read Only Memory"なのだから、これは当然といえば当然のことである。しかし、ファイルをハードディスクにコピーした場合でも、その属性はそのまま残る。

このままでは、ファイルがハードディスク上にあっても内容変更ができない(=書き込み禁止)ので、エクスプローラのプロパティから「読み取り専用」のチェックをはずす必要がある。個人的な用途なら手作業でも構わないが、アプリケーションソフトやゲームではそんな無粋な手間を強要するわけにはいかない。となれば、書き込みたいファイルの属性を事前にプログラムで操作しておくしかない。

ただし、これをインストール・プログラムでやろうとすると汎用インストーラのソースをいじらなければならない。いっぽうで、この程度のことであえてソース・プログラムに手を加えるのは避けたいもの。そこで、実行プログラムが走るたびにファイルの属性を調べ、もしも「読み取り専用」のチェックがあれば、それをはずすようにすれば問題は解決する。


※ "Fname.dat"=Path+ファイル名とする。
------------------------------------------------------

参考までに、GetAttr関数で調べる際の定数を示しておこう。なお、SetAttr関数で指定できるのは、フォルダ(vbDirectory)を除いた5種類となる。

定数

内容

vbNormal

0

通常ファイル

vbReadOnly

1

読み取り専用ファイル

vbHidden

2

隠しファイル

vbSystem

4

システムファイル

vbDirectory

16

フォルダ

vbArchive

32

アーカイブ(バックアップ後に更新されたファイル)