Top / .NET備忘録 / 99.小ネタ / 05.FileSystemObject.GetSpecialFolder

Scripting.FileSystemObject の互換ライブラリでも作るかなと動作確認していたとき、みょーな現象に出くわしました。

GetSpecialFolder で、引数に SystemFolder を指定したとき、DateLastModified の値を見ると、x64 の環境でありながら、SysWOW64 フォルダの値でなく、System32 フォルダの値をとってきているようです。

 Sub Main()
     Dim fso As New FileSystemObject
     Dim d   As Folder
     Set d = fso.GetSpecialFolder(SystemFolder)
     Debug.Print d.DateLastModified
     Debug.Print d.Files.Count
     Debug.Print d.SubFolders.Count
 End Sub

実行結果

2013/08/13 21:55:06 
 3033 
 95 
system32.gif

32ビットアプリだと、SysWOW64 フォルダを参照するはずなのですが・・・

「ファイル システム リダイレクタ」
http://msdn.microsoft.com/ja-jp/library/aa384187(v=vs.85).aspx

ちなみに、Files や、SubFolders の値は、ちゃんと SysWOW64 フォルダのものを取得しています。
Size プロパティはなぜかエラーになって参照できません。

system32Folder.gif



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2013-08-14 (水) 01:24:54 (1530d)