如何获取映射网络驱动器上的文件的UNC路径

时间:2013-08-11 23:26:20

标签: networking windows-shell

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

1 个答案:

答案 0 :(得分:0)

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

我无法帮助你抱歉(你是{{​​3}})但是在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
    }
}