Windows上通过程序设置盘符对应的友好名称

一个小技巧,与常规SetVolumeLabel不同,是指设置资源管理器中盘符对应的友好名称,如下图红框所示:

#include 

//CoInitialize(NULL);
void RenameDrive(BSTR strNewName, BSTR strDriveLetter)
{
    IShellDispatch* pShellDispatch = NULL;
    HRESULT hr = CoCreateInstance(CLSID_Shell,
                                  NULL,
                                  CLSCTX_INPROC_SERVER,
                                  IID_IShellDispatch,
                                  (void**)&pShellDispatch);
    if (SUCCEEDED(hr) && pShellDispatch)
    {
          Folder* pFolder = NULL;
          VARIANT vt = {};
          VariantInit(&vt);
          vt.vt = VT_BSTR;
          vt.bstrVal = strDriveLetter;
          hr = pShellDispatch->NameSpace(vt, &pFolder);
          if (SUCCEEDED(hr) && pFolder)
          {
            Folder2* pFolder2 = NULL;
            hr = pFolder->QueryInterface(IID_Folder2, (void**)&pFolder2);
           	if (SUCCEEDED(hr) && pFolder2)
            {
              FolderItem* pFolderItem = NULL;
              hr = pFolder2->get_Self(&pFolderItem);
              if (SUCCEEDED(hr) && pFolderItem)
              {
                pFolderItem->put_Name(strNewName);
                pFolderItem->Release();
              }
              pFolder2->Release();
            }
            pFolder->Release();
          }
          pShellDispatch->Release();
      }
}    
展开阅读全文

页面更新:2024-03-02

标签:友好   名称   中盘   资源管理器   常规   程序

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top