@AndresRohrAtlasInformatik के रूप में, स्वीकृत समाधान विंडोज विस्टा और बाद में काम नहीं करता है।
तो मेरा समाधान 'बस' छुपा खिड़की के रूप में एक्सप्लोरर शुरू करना है, नेटवर्क ड्राइव पर जाएं और एक्सप्लोरर बंद करें। उत्तरार्द्ध थोड़ा और कठिन है (here देखें) क्योंकि एक्सप्लोरर के पास कई खिड़कियों के लिए बहुत खास व्यवहार है।
ProcessStartInfo info = new ProcessStartInfo("explorer.exe", myDriveLetter);
info.WindowStyle = ProcessWindowStyle.Hidden;
Process process = new Process();
process.StartInfo = info;
process.Start();
Thread.Sleep(1000);
//bool res = process.CloseMainWindow(); // doesn't work for explorer !!
//process.Close();
//process.WaitForExit(5000);
// https://stackoverflow.com/a/47574704/2925238
ShellWindows _shellWindows = new SHDocVw.ShellWindows();
string processType;
foreach (InternetExplorer ie in _shellWindows)
{
//this parses the name of the process
processType = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
//this could also be used for IE windows with processType of "iexplore"
if (processType.Equals("explorer") && ie.LocationURL.Contains(myDriveLetter))
{
ie.Quit();
}
}
ध्यान रखें कि यह कोड अब Windows Vista से शुरू नहीं होता है। – AndresRohrAtlasInformatik