-1

私のアプリケーションでは、マップされたネットワーク ドライブを含むすべての論理ドライブが必要です。管理者として実行しなくても問題なく動作します。しかし、私のアプリケーションはデフォルトで管理者として実行され、ネットワーク ドライブをマップできません。なぜそれが起こったのか、私は知っています。

コレクション ドライブにDriveInfo.GetDrives()を使用しています。

私の質問は、管理者として実行されているアプリケーションで現在のユーザー権限として単一のメソッド (マップされたすべてのドライブを収集する) を実行することは可能ですか?

または、すべてのネットワーク ドライブを収集するその他の方法。

前もって感謝します。

4

1 に答える 1

0

管理者権限なしで別のアプリケーションを作成し、メイン プログラムから実行することができます。

Process.Start("myNormalApp.exe");

「myNormalApp.exe」には、ドライブ マッピング コードを配置します。次に、マップされたドライブをファイルに書き込み、そのファイルをメイン アプリケーションで開くことができます。少し複雑ですが、それが唯一の方法だと思います。ただし、昇格されたアプリケーションがネットワークドライブにアクセスできないとあなたが言う理由は想像できません(私には少し奇妙に思えます)

コードはテストされていませんが、動作するはずです。

お役に立てれば、

Fホワイト

于 2014-11-05T18:38:45.907 に答える