【问题标题】:How can I get the UNC path of a file that is on a mapped network drive如何获取映射网络驱动器上文件的 UNC 路径
【发布时间】:2013-08-11 23:26:19
【问题描述】:

.NET 4.0,这是一个外壳扩展
选择文件后,我的上下文菜单处理程序获取映射的驱动路径,但是我需要UNC路径,原因太长了。有没有办法从映射驱动器获取 UNC 路径。或者,我可以枚举所有映射的驱动器以及它们映射到的内容,以便根据驱动器号查找此信息

【问题讨论】:

    标签: networking windows-shell


    【解决方案1】:

    您可以使用WNetGetConnection() 函数将映射的驱动器号转换为UNC 路径。

    我无法在 .NET 方面为您提供帮助(您 should be careful about writing shell extensions using),但在 C++ 中,

    LPCWSTR pszPath = L"M:\\"; // mapped drive
    if (GetDriveType(pszPath) == DRIVE_REMOTE)
    {
        // WNetGetConnection needs drive letter WITHOUT trailing backslash
        wchar_t wchDrive[3] = { pszPath[0], pszPath[1], L'\0' };
        wchar_t wchUNC[MAX_PATH];
        DWORD dwLength = _countof(wchUNC);
        if (WNetGetConnection(wchDrive, wchUNC, &dwLength) == NO_ERROR)
        {
            // do something with wchUNC
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2011-08-13
      • 2014-11-01
      相关资源
      最近更新 更多