看到一段代码,谁写的忘了。请作者多多包含。

private enum NetError : uint
  {
   NERR_Success = 0,
   NERR_BASE = 2100,
   NERR_UnknownDevDir = (NERR_BASE + 16),
   NERR_DuplicateShare = (NERR_BASE + 18),
   NERR_BufTooSmall = (NERR_BASE + 23),
  }

private enum SHARE_TYPE : uint
  {
   STYPE_DISKTREE = 0,
   STYPE_PRINTQ = 1,
   STYPE_DEVICE = 2,
   STYPE_IPC = 3,
   STYPE_SPECIAL = 0x80000000,
  }

[StructLayout(LayoutKind.Sequential)]
  private struct SHARE_INFO_502
  {
   [MarshalAs(UnmanagedType.LPWStr)] public string shi502_netname;
   public SHARE_TYPE shi502_type;
   [MarshalAs(UnmanagedType.LPWStr)] public string shi502_remark;
   public Int32 shi502_permissions;
   public Int32 shi502_max_uses;
   public Int32 shi502_current_uses;
   [MarshalAs(UnmanagedType.LPWStr)] public string shi502_path;
   [MarshalAs(UnmanagedType.LPWStr)] public string shi502_passwd;
   public Int32 shi502_reserved;
   public IntPtr shi502_security_descriptor;
  }

[DllImport("Netapi32.dll")]
  private static extern uint NetShareAdd(
   [MarshalAs(UnmanagedType.LPWStr)] string strServer,
   Int32 dwLevel,
   ref SHARE_INFO_502 buf,
   out uint parm_err);

public uint SetDirectoryShare(string path, string shareName, string shareDesc)
  {
   SHARE_INFO_502 info = new SHARE_INFO_502();
   info.shi502_netname = shareName;
   info.shi502_type = SHARE_TYPE.STYPE_DISKTREE;
   info.shi502_remark = shareDesc;
   info.shi502_permissions = 0;   
   info.shi502_max_uses = -1;
   info.shi502_current_uses = 0;   
   info.shi502_path = path;
   info.shi502_passwd = null;       
   info.shi502_reserved = 0;
   info.shi502_security_descriptor = IntPtr.Zero;
   uint error = 0;
   return NetShareAdd(null, 502, ref info, out error);
  }

第二种方法
using System.IO;
using System.Management;

private void CreateDirtory()
  {
   try
   {
    // create a directory
    Directory.CreateDirectory(@"C:\Inetpub\wwwroot\Temp");
    // Create a ManagementClass object
    ManagementClass managementClass = new ManagementClass("Win32_Share");
    // Create ManagementBaseObjects for in and out parameters
    ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");
    ManagementBaseObject outParams;
    // Set the input parameters
    inParams["Description"] = "My Files Share";
    inParams["Name"] = "My Files Share";
    inParams["Path"] = @"C:\Inetpub\wwwroot\Temp";
    inParams["Type"] = 0x0; // Disk Drive
    // Invoke the method on the ManagementClass object
    outParams = managementClass.InvokeMethod("Create", inParams, null);
    // Check to see if the method invocation was successful
    if((uint)(outParams.Properties["ReturnValue"].Value) != 0)
    {
     throw new Exception("Unable to share directory.");
    }
   }
   catch(Exception e)
   {
    MessageBox.Show(e.Message.ToString());
   }
  }

转载于:https://www.cnblogs.com/mullr2005/archive/2005/10/18/257223.html

对文件夹添加共享属性!相关推荐

  1. 柯美smb扫描出现服务器连接错误_柯尼卡美能达363,正确设置了SMB扫描,文件夹也共享了,但扫描后,显示错误为 登录错误,是为什么...

    需要在某台局域2113网内的电脑上安装5261ftp软件,然后设4102置好网络地址就可以扫1653描了这个驱动安装同时设内置好比如扫描容存储文件名位置都要放好,有人不小心把这个扫描后存储到电脑的文件 ...

  2. VMware宿主机与虚拟机之间的文件夹相互共享(看图操作)

    一.虚拟机访问宿主机文件夹 此处用的"仅主机模式"主要出于安全性考虑(宿主机为纯内网,虚拟机为外网,网络相对隔离开) 二.宿主机访问虚拟机共享文件夹 ①开启SMB协议(虚拟机上操作 ...

  3. linux怎样将文件夹设置共享,Linux操作系统下共享文件夹设置方法介绍

    首先当然是要安装samba了,呵呵: sudo apt-get install samba sudo apt-get install smbfs 下面我们来共享群组可读写文件夹,假设你要共享的文件夹为 ...

  4. 计算机无法共享的原因,文件夹无法共享的原因及其解决办法

    局域网中文件夹无法共享,一直弹出与管理员联系的错误提示该怎么办.文件夹不能共享将严重影响工作效率.那么,文件夹不能共享的问题到该如何解决呢?下面,我就为大家详细介绍其原因及解决办法. 要解决文件夹无法 ...

  5. FREENAS WINDOWS SMB 公用文件夹的共享设置。。

    @[TOC]FREENAS WINDOWS SMB 免登录公用文件夹的共享设置.. FREENAS WINDOWS SMB 免登录公用文件夹的共享设置: 这是FreeNAS-11.2-U7 版本的 w ...

  6. 通过NIS+NFS实现/home文件夹的共享(集群服务器共享文件节点)

    NIS:(Network Information Services)网络信息服务,用于集中管理数据,常用于在多台linux主机统一管理用户密码. NFS:(Network File System)网络 ...

  7. 给文件夹添加everyone用户

    问题描述: 需要将excel文件上传到服务器上的某个文件下面,开发环境是VS2017,部署到IIS下面. 本地测试调试怎么都没问题. 发布到服务器上面 就是报错: Access to the path ...

  8. 如何给文件夹添加备注

    目录 首先将备注的选项显示出来 显示出desktop.ini文件 编辑desktop.ini文件 开发过程中会使用很多英文来什么项目名称,但一旦项目多了的话很多相似的文件命名很容易混淆,给文件夹添加备 ...

  9. 给Windows文件夹添加备注

    给文件夹添加备注是有必要的,甚至我想给文件添加标签或者备注(有方法的网友请告知).毕竟空间是越来越大,文件是越来越多. 以下是批处理脚本,例如我命名为mark.bat.当需要给目录备注时,进入目录,输 ...

  10. Windows中给文件夹添加备注

    Windows中给文件夹添加备注 起因 今天整理了一下文件夹,发现很多文件夹重名了,但是内容却不一样,就想着怎么把文件夹添加个备注来区分一下.百度转了一圈,方法倒是有,但是特别麻烦,知乎方案,要下软件 ...

最新文章

  1. crnn自编码网络(类似递归)
  2. Android 通过http协议数据交互
  3. 小米笔记本服务器系统,小米笔记本Pro GTX版
  4. 【2018.3.24】模拟赛之六-ssl2550 重要人物【图论,最短路,SPFA】
  5. 升级换代!Facebook全新电商搜索系统Que2Search
  6. python machinelearning下载_Python与机器学习系列1:Anaconda的下载与安装
  7. Shell脚本学习-阶段四-mysqladmin
  8. spring cloud搭建_Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
  9. python IDE 集合
  10. 文件夹批量重命名不会操作?快来看看吧
  11. 【三国演义】——刘备、孙权
  12. html onload状态事件,HTML onload事件用法及代码示例
  13. 你懂得“沉没成本”是什么吗?是可怕的赌徒思想,会毁了你的一生
  14. 数据库保存时间为什么用long最好
  15. TOM在线公布二零零六年全年净利润2866万美元
  16. 最新的CC2642R与CC2640、CC2640R2F有什么改进?
  17. TSC TTP244Pro 标签打印机打印不走纸
  18. 趣图:我说自己菜 vs 大佬说自己菜
  19. 转:浅谈程序员的英语学习
  20. 【VeighNa】开始量化交易——第四章:结合AHR999指标和情绪指标分析

热门文章

  1. Python内置的服务器的使用
  2. Skype for business企业语音配置之二创建拨号计划
  3. 35.5. array route
  4. C# yield简单迭代
  5. HTTP协议——学习资料小结
  6. eclipse svn
  7. POI以SAX方式解析Excel2007大文件(包含空单元格的处理)
  8. StringBuilder 使用方法
  9. 百度又一OCR神器面世!速度提升220%。网友:这也太猛了...
  10. 最新!2020中国高校毕业生薪资排行出炉!好过双一流的高校原来这么多