4

起動時にロードし、Xとしてマウントされているネットワークドライブにデータを記録するC#アプリケーションがあります。

マシンが最初に起動すると、アプリケーションはX:\が使用できないというエラーをスローします。アプリを再起動すると、同じエラーが発生します。

ただし、Windowsエクスプローラーを開き、ダブルクリックしてドライブを参照すると、アプリケーションを実行でき、Xに接続できます。問題ありません。

ネットワークドライブは、マップされているにもかかわらず、起動時に自動的に初期化されませんか?自動的に初期化するように設定する方法はありますか?

4

2 に答える 2

3

私はまったく同じ問題を抱えていました。より良い方法があるかどうかはわかりませんが、マップされたドライブにアクセスする前に、これをコードに追加しました。

Process mapDrive = new Process();
mapDrive.StartInfo.FileName = "net.exe";
mapDrive.StartInfo.Arguments = @"use c: \\server\share";
mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
mapDrive.Start();

そうすれば、ドライブが起動時に使用可能かどうかに関係なく、常に使用可能になります。

于 2012-04-05T14:19:46.997 に答える
0

確認する項目のリストについては、SOでマップされたネットワークドライブにアクセスする方法を参照してください。私の推測では、ドライブがユーザーに存在しないか、ドライブにアクセスするためのアクセス許可の問題があります。確認するもう1つの項目は、偽装を呼び出す順序です。つまり、そうしていると仮定します。

Windowsサービスからマップされたドライブ上のファイルにアクセスできないによると、これはまったく行わないでください。承認された回答に記載されているMicrosoftのリンクを参照してください。

于 2012-04-05T14:20:06.797 に答える