`

修改网络映射磁盘的方法

阅读更多

      相信很多人都一直希望能够修改网络映射磁盘的Lable,但伤心的是使用SetVolumValue不可用,其仅适用于本地磁盘的Label修改。

 

      修改网络磁盘的方法可以采用注册表的形式,这里该方法就不拿来说明,网上很容易找到的。

 

      这里提供一种采用COM 的API方式来修改:

     

void RenameDrive(BSTR strNewName, BSTR strDriveLetter)
{
   IShellDispatch* pShellDispatch = NULL;

   if ( SUCCEEDED( CoInitialize(NULL) ) )
   {
	   // 如果成功初始化COM库,则继续初始化并运行应用程序...
	   // 对于Win32应用程序, CoInitialize函数的pvReserved参数,必须为NULL. 此参数不能被用于32位COM,      
	   // CoInitialize将会返回E_INVALIDARG,如果传递一个非NULL参数.
   }
   else
   {
	   // 如果初始化COM库失败,则退出.
   }

   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);
      VariantClear(&vt);
      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();

	  CoUninitialize();
   }
}

 

    测试代码:

   

int _tmain(int argc, _TCHAR* argv[])
{
	BSTR bstrLabel = ::SysAllocString( L"TestLabel" );

	if (bstrLabel == NULL)

		return E_OUTOFMEMORY;

	BSTR bstrLetter = ::SysAllocString( L"Z:" );

	if (bstrLetter == NULL)

		return E_OUTOFMEMORY;

	RenameDrive(bstrLabel, bstrLetter);

	::SysFreeString( bstrLabel );
	::SysFreeString( bstrLetter );
	return 0;
}

    

   OK

   转载请注明出处:

   http://yiranwuqing.iteye.com/blog/1825349

0
0
分享到:
评论

相关推荐

    映射网络盘符脚本

    文件服务器映射盘符的脚本,脚本很简单,可以根据自己的需要修改成对应的盘符

    易语言映射共享

    易语言映射共享源码,映射共享,网络_映射网络驱动器,网络_取消网络驱动器映射,网络_修改网络驱动器卷标,WNetCancelConnection2,WNetAddConnection2

    2008客户端自动映射域控网络硬盘.docx

    方法/步骤 1. 在域控上创建一个共享文件夹,并开启共享权限,everyone 更改和读取,命名为共享,然后在其下面建立一个子文件夹,本文以 “财务部”为例 2. 打开域控Active Directory 用户和计算机管理面板

    FTP服务器的架设.txt

    FTP服务器的架设 在我们的实际网络生活中,特别是宽带网接入之后,FTP服务器作为文件的传输和共享工具得到广泛应用。FTP服务器在文件的传输上性能稳定,占用系统资源小,而且传输速度快,现在网上已经有很多的FTP...

    vmware-vdiskmanager.exe 下载

    如果你在你的宿主机中映射了网络共享,你也可以提供确切的虚拟磁盘文件的路径信息来创建虚拟磁盘在这个网络共享中。 -c 创建虚拟磁盘。 #你必须用-a, -s 和 -t 并指定选项参数,然后你需要指定所要创建的虚拟磁盘...

    第八章-网络管理与网络安全.doc

    第八章 网络管理与网络安全 多项选择题 1.在建立用户帐户时,可使用( )字符。(2分) A./ B.@ C. : D.* 2....映射网络驱动器 D.完全控制 8.共享打印机时不能设置( )(2分) A.打印文档类型 B.授权用户和组

    API之网络函数---整理网络函数及功能

    FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘 GetBinaryType 判断文件是否可以执行 GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数 GetCurrentDirectory 在一个缓冲区中装载...

    C#程序开发范例宝典14

    实例450 获取网络中某台计算机的磁盘信息 693 实例451 映射网络驱动器 694 14.5 网络连接与通信 696 实例452 编程实现Ping操作 696 14.6 网络聊天室 698 实例453 利用C#设计聊天程序 698 实例454 编写...

    rac11.1onSuse10.2withDs4700

    2.8 映射磁盘 29 3 准备安装集群 31 3.1 软硬件环境及需求 31 3.2 网络需求和设置 31 3.3 软件包需求和安装 32 3.4 安装多路径软件 33 3.5 设置时间同步 35 3.6 创建oracle用户 36 3.7 修改oracle环境变量 36 3.7.1...

    LTong云端网络存储服务系统4.2

    映射就是把您的远程服务器账号文件夹映射到本地,只支持局域网用户,您可以像管理本地资源一样管理远程文件,在本地系统驱动器列表中,将显示一个远程网络映射磁盘,那就是您的远程文件了。 提示:映射服务需要提供...

    安全技术网络攻防

    net user 用户名 密码 /add (建立用户) net localgroup administrators 用户名 密码 /add (将用户加到...net user guest 12345 (修改guest密码为12345) ...net use z: \\127.0.0.1\c$(映射目标主机磁盘c盘到本地磁盘Z盘)

    数据备份与数据恢复实验报告.doc

    1、建立网络映射磁盘 在RG-iS-LAB 2中配置共享文件夹中,并将此共享文件夹映射为RG-iS-LAB 1的网络磁盘。 映射完成后,请将此网络磁盘所在的"我的电脑"窗口打开并截图。 2、对RG-iS-LAB 1的文件进行备份 在RG-iS-...

    C# 网络通信开发训练实例

    实例14 获取网络中某台计算机的磁盘信息...... 693 实例15 映射网络驱动器...... 694 14.5 网络连接与通信...... 696 实例16 编程实现Ping操作...... 696 14.6 网络聊天室...... 698 实例17 利用C#设计...

    Dos命令大全

    charmap启动字符映射表 diskmgmt.msc磁盘管理实用程序 calc启动计算器 dfrg.msc磁盘碎片整理程序 chkdsk.exeChkdsk磁盘检查 devmgmt.msc设备管理器 regsvr32 /u *.dll停止dll文件运行 drwtsn32系统医生 rononce -p15...

    utorrent(BT/PT下载软件)v3.3简体中文版.rar

    软件介绍: utorrent是一款轻量级的BT及PT下载器,拥有BT软件的所有功能,可以用来取代比特彗星,自动带宽控制会自动为浏览器留出带宽,让网页...µTorrent通常自动管理缓存,但您可以通过修改设置更改其操作模式。

    为Delphi初学者准备的一些网络操作实例

    内容索引:Delphi源码,网络相关,网络操作 Delphi网络操作示例,都是些较简单的小程序,每一个都基本只完成一个功能,这些示例主要有用Delphi动态更改DNS地址;计算机名与IP地址的互相获取;Delphi实现Ping操作;实现...

    300个注册表优化修改文件

    取出映射网络驱动器和断开网络驱动器.reg 去除网上邻居里的邻近的计算机项.reg 设置HTTP 1.1协议的支持.reg 设置WINS服务器解析超时时间.reg 设置浏览器Cache的大小.reg 设置慢速网络连接超时时间.reg 设置...

    [小e笔记]之10gR2+redhat5.3+32bit+RAC安装

    2.16 为ASM磁盘映射原始设备 43 3 配置第2台节点-RAC2 44 3.1 修改网络配置 44 3.2修改/etc/hosts 48 3.3 修改Oracle用户下的环境变量 48 4配置Clusterware安装环境 48 4.1使用SSH建立用户等效性 48 4.2配置...

    寒江独钓-Windows内核安全编程(高清完整版).part1

     本书从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现的密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的...

Global site tag (gtag.js) - Google Analytics