XP,VB6
PAGEFILE.SYSの属性をGetAttrで読み込もうとするとエラーが
発生してしまいます。
なにかいい方法はありませんか?
確か・・・
システム属性と隠しファイル属性のあるファイルは、エクスプローラ
等からでは、見えない(無い)ファイルとして扱うようになったはず
です。
よって、スワップファイルも、ATTRIBで調べたら当然、ASHの属性が
ついていましたので、『見えない=>無い』ファイルの扱いになると
思います。
そうしますと、GetAttr()関数としては、無いファイルからは属性が
取得できないので、エラーとなる・・・
ただし、エラー内容としては、無いファイルを指定すると、
ファイルが見つかりません。
となっていますが、PAGEFILE.SYSでは、
プロシージャの呼び出し、または引数が不正です。
となります。
実質、システムが常時使用しているファイルですので、排他制御を
含め、何がしか他の問題もあるようです。
ですが、コマンドプロンプトの、ATTRIBからは取得できますので、
VBのランタイム内での使用されるAPIが、ATTRIBとは違うので
しょう・・・
ちなみに、どうしてもスワップファイルの属性を取得する必要があ
るのでしょうか?
無ければ、わざわざスワップファイルに対しアクセスを発生させる
怖いことは、行わない方がよいのでは?
以上。
> PAGEFILE.SYSの属性をGetAttrで読み込もうとするとエラーが
> 発生してしまいます。
On Errorで、エラーをトラップすれば良いのでは。
どうしても属性を知りたいのであれば、以下を参照してみてください。
http://www.galliver.co.jp/writing/vbm_tokushu/api9030/
岡田 之仁さん、魔界の仮面弁士さんありがとうございました。
どうやら下手にいじらない方がいいファイルのようなので
事前にファイル名をチェックして回避するようにしたいと思います。
ツイート | ![]() |