2

このコードを標準ユーザー モードで実行すると、ネットワーク ドライブを含むすべてのドライブが取得されます。管理者として実行すると、ネットワーク ドライブがリストに表示されません。何を与える?

List<string> drives = Environment.GetLogicalDrives().ToList();
StringBuilder driveList = new StringBuilder();

foreach (string drive in drives)
    driveList.AppendLine(drive);

MessageBox.Show(driveList.ToString());

これは Windows 7 で実行されています。ネットワーク ドライブは Novell 製です。コードは、.NET 4 フレームワークを使用して C# で記述されています。

4

1 に答える 1

6

Windows Vista のネットワークにマップされたドライブは昇格された特権で実行されたプロセスでは使用できないため、これは正常な動作です (「Windows Vista または Windows 7 でユーザー アカウント制御を有効にすると、プログラムが一部のネットワークの場所にアクセスできない場合がある」(KB 937624) を参照)。)。ナレッジ ベース記事の回避策は、レジストリの編集とコンピューターの再起動を意味します。

詳細については、ブログ記事「Windows Vista での UAC によるマップされたネットワーク ドライブ」も参照してください。

于 2011-01-17T15:07:37.913 に答える