当前位置:  开发笔记 > 编程语言 > 正文

确定是否在.NET中共享文件夹

如何解决《确定是否在.NET中共享文件夹》经验,为你挑选了1个好方法。

有没有办法通过.net框架来确定文件夹是否共享?

Diretory,DirectoryInfo或FileAttributes似乎都没有任何相应的字段.

我忘记提到的一件事是我想检查网络共享.但我会研究WMI的东西.



1> JohnIdol..:

您可以使用WMI Win32_Share获取所有共享文件夹的列表,并查看您要查找的文件夹是否在它们之间.这是一个可能对您有帮助的片段:

public static List GetSharedFolders()
{

  List sharedFolders = new List();

  // Object to query the WMI Win32_Share API for shared files...

  ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from win32_share");

  ManagementBaseObject outParams;

  ManagementClass mc = new ManagementClass("Win32_Share"); //for local shares

  foreach (ManagementObject share in searcher.Get()){

  string type = share["Type"].ToString();

  if (type == "0") // 0 = DiskDrive (1 = Print Queue, 2 = Device, 3 = IPH)
  {
    string name = share["Name"].ToString(); //getting share name

    string path = share["Path"].ToString(); //getting share path

    string caption = share["Caption"].ToString(); //getting share description

    sharedFolders.Add(path);
  }

  }

  return sharedFolders;

}

请注意,我在字节上粗暴地从此链接复制粘贴

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有