Visual Studio2010でNET3.5とC#を使用して小さなファイルエクスプローラーを作成しています。この関数を使用して、ディレクトリにアクセスできるかどうかを確認します。
RealPath=@"c:\System Volume Information";
public bool IsAccessible()
{
//get directory info
DirectoryInfo realpath = new DirectoryInfo(RealPath);
try
{
//if GetDirectories works then is accessible
realpath.GetDirectories();
return true;
}
catch (Exception)
{
//if exception is not accesible
return false;
}
}
しかし、大きなディレクトリでは、すべてのサブディレクトリを取得してディレクトリにアクセスできるかどうかを確認するのに時間がかかる可能性があると思います。この機能を使用して、保護されたフォルダまたはCD / DVDドライブをディスクなしで探索しようとしたときのエラー(「デバイスの準備ができていません」エラー)を防止します。
アプリケーション(できればNET 3.5)がディレクトリにアクセスできるかどうかを確認するためのより良い方法(より高速)はありますか?