네트워크 드라이브에서 폴더를 선택하려면 FolderBrowserDialog
과 함께 winform이 있습니다. 네트워크 경로 (\\Network\Projects\Folder...
)가 아닌 드라이브 문자 (X:\Folder...
)를 반환하는 것이 문제입니다. 네트워크 경로는 어떻게 얻을 수 있습니까?FolderBrowserDialog에서 드라이브 문자가 아닌 네트워크 경로 가져 오기
2
A
답변
2
MessageBox에서 경로를 네트워크 경로로 표시하는 빠르고 코드입니다. 수표를 추가하거나 약간 재구성 할 수 있습니다.
var dialog = new OpenFileDialog();
dialog.ShowDialog();
var path = dialog.FileName;
using (var managementObject = new ManagementObject())
{
managementObject.Path = new ManagementPath($"Win32_LogicalDisk='{path.Substring(0,2)}'");
var driveType = (DriveType)(uint)managementObject["DriveType"];
var networkPath = Convert.ToString(managementObject["ProviderName"]);
if (driveType == DriveType.Network)
{
MessageBox.Show(path.Replace(path.Substring(0, 3), networkPath));
}
}
MessageBox.Show(path);
+0
''DriveType = (DriveType) (uint) '에 System.TypeInitializationException이 생겼습니다. managementObject [ "DriveType"];' –
드라이브에 매핑되지 않은 네트워크 위치를 선택하면 어떻게됩니까? –
이 다른 질문보기, 답변은 당신이 찾고있는 것과 비슷합니다 : (http://stackoverflow.com/questions/31818511/how-to-get-folderbrowserdialog-to-show-only-network) – Peter4499
@AdamV 위치가 매핑되지 않으면 어떻게 될지 잘 모르겠습니다. 내 목적으로 모든 네트워크 위치가 매핑되었다고 가정합니다. – Programmer