0

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

4

1 回答 1

0

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

抱歉,我无法为您提供 .NET 帮助(在使用 .NET编写 shell 扩展时您应该小心),但是在 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
    }
}
于 2013-08-12T03:59:02.460 回答