0

Windows 7 での最初の状況 (明らかに 8.1 と 10 で同じ):

  1. 永続的な (!) ネットワーク ドライブ マッピング (別名「ログオン時に再接続」) を作成します。
  2. ここで、ネットワーク フォルダから物理的に切断します (ケーブルを抜くか、ターゲット システムをシャットダウンします)。
  3. ログオフして再度ログオンします。「すべてのネットワーク ドライブを再接続できませんでした」というバルーン メッセージが表示されますが、ドライブは引き続きエクスプローラーに表示されます (赤い十字)。

この時点で、そのネットワーク ドライブをアプリケーションからコードで削除したいと思います。

このために、私は WNetCancelConnection2 (他の状況でも問題なく動作します) を使用していますが、再現しやすくするために、コマンド ラインを使用することもできます。次のコマンドを実行します。

net use Z: /delete

(または使用したドライブ文字)。正常に完了したことが通知されます。「net use」を実行すると、ネットワークドライブが接続されていないことが表示されます。ただし、エクスプローラーでは、ドライブはまだそこにあります。ここで右クリックして切断を選択すると、エラーが発生します。そのドライブを削除するには、ログオフして再度ログオンするか、explorer.exe を強制終了して再度実行する必要があります。

興味深いことに、コードまたはコマンド ラインでドライブを削除する代わりに、エクスプローラーでドライブを右クリックしてそこから切断すると、問題なく動作します。そのため、右クリックオプションは、「ネット使用」および前述の API 呼び出しとは異なることを行います。それが何をするのか本当に知りたいです。

では、ここで何が問題なのですか?そして、それを解決する方法は?任意のプログラミング言語での任意のソリューションで問題ありません。前もって感謝します。

4

0 に答える 0