GetAttributesOf()の第3引数にSFGAO_HASSUBFOLDERを渡し、下位のフォルダがあるか確認する処理を書いています。
問題なく動作しているのですが、下位のフォルダに25000程度ファイルが存在すると、ものすごく動作が遅くなることが分かりました。
これはWindowsXPに比べWindows7だと顕著に遅くなるみたいです。
ココからが質問なのですが、GetAttributesOf()代替案、もしくはこうしたら速くなるよ、という情報をお持ちの方が要らしたら教えて頂けないでしょうか。
以上、よろしくお願いいたします。
回答がつかないようなので…
代替案ということであれば、下位のフォルダの確認だけ
System.SysUtils.FindFirst
http://docwiki.embarcadero.com/Libraries/XE7/ja/System.SysUtils.FindFirst
(Win32APIのFindFirstFile相当)
System.SysUtils.DirectoryExists
http://docwiki.embarcadero.com/Libraries/XE7/ja/System.SysUtils.DirectoryExists
(Win32APIのGetFileAttributes相当)
あたりで置き換えてみるのはいかがでしょう?外していたらすいません。