ManagementObjectSearcher的使用「建议收藏」

ManagementObjectSearcher的使用「建议收藏」1.获取本地路径的网络访问地址privateIEnumerable<KeyValuePair<string,string>>GetShareFolders(){va

大家好,又见面了,我是你们的朋友全栈君。

1.获取本地路径的网络访问地址

        private IEnumerable<KeyValuePair<string, string>> GetShareFolders()
        {
            var shareFolders = new List<KeyValuePair<string, string>>();

            // Create a ManagementClass object
            var searcher = new ManagementObjectSearcher("select * from win32_share");

            foreach (ManagementObject share in searcher.Get())
            {
                //共享目录的名字
                string name = string.Empty;

                PropertyData propertyData = share.Properties["Name"];
                if (propertyData.Value != null && !string.IsNullOrEmpty(propertyData.Value.ToString()))
                {
                    name = propertyData.Value.ToString();
                }


                //共享目录的本地路程
                string path = string.Empty;

                propertyData = share.Properties["Path"];
                if (propertyData.Value != null && !string.IsNullOrEmpty(propertyData.Value.ToString()))
                {
                    path = propertyData.Value.ToString();
                }

                if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(path))
                {
                    var kv = new KeyValuePair<string, string>(name, path);

                    shareFolders.Add(kv);
                }
            }

            return shareFolders;
        }

        private string GetShareFolderPath(string path)
        {
            var kvList = GetShareFolders();

            var kv = kvList.FirstOrDefault(item => item.Value.Equals(path));

            if (!string.IsNullOrEmpty(kv.Key))
            {
                return @"\\" + Dns.GetHostName() + @"\" + kv.Key;
            }

            return null;
        }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154905.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 初探Protostuff的使用[通俗易懂]

    初探Protostuff的使用[通俗易懂]初探Protostuff的使用最近在学习RPC,看到了一个叫做Protostuff的库,是基于谷歌ProtocalBuffer的序列化库,之前了解过ProtocolBuffer,对学习了一些资料后,写了个demo,记录下来。什么是ProtocolBuffer?ProtocolBuffer是谷歌出品的一种数据交换格式,独立于语言和平台,类似于json。Google提供…

    2022年6月7日
    35
  • ubuntu18安装vscode_ubuntu安装vscode失败

    ubuntu18安装vscode_ubuntu安装vscode失败最近在学习一些前端开发的知识,使用了VisualStudioCode,记录一下。访问https://code.visualstudio.com/:网站会自动识别你的操作系统,并推荐对应的下载包。本例中使用的是UbuntuLinux,所以默认提供了Linux下的和两种安装包。对于Ubuntu,当然是使用安装包了。下载VSCode安装包,我下载的是文件。使用安装:安装过程很快,安装好以后,就能在里找到它了。点击右键,,把它固定到docker栏,以后就方便使用了。打开VSC

    2025年11月12日
    2
  • Mac命令行退出vim

    Mac命令行退出vim@Mac命令行退出vimMac退出vim按下ESC后输入:才能进入命令模式!进入之后输入:qw(保存退出)然后按2次大写Z退出q!(不保存退出)输入后回车退出新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高…

    2022年6月11日
    605
  • android toast显示时间,Android Toast自定义显示时间「建议收藏」

    android toast显示时间,Android Toast自定义显示时间「建议收藏」Toast是Android中使用频率较高的弹窗提示手段,使用起来简单、方便。常规使用方法这里不做说明,继前一篇博客《Android中Toast全屏显示》,其中抛砖引玉的给出一个简单的实现Toast全屏显示的方法后,发现无法控制Toast的显示时长。虽然Toast中有setDuration(intduration)接口,但是跟踪代码发现,设置的时间没起作用,只有系统默认的两个时间LENGTH_D…

    2025年11月10日
    9
  • scrapy爬虫学习系列一:scrapy爬虫环境的准备

    scrapy爬虫学习系列一:scrapy爬虫环境的准备系列文章列表:scrapy爬虫学习系列一:scrapy爬虫环境的准备:http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_007_scr

    2022年7月2日
    26
  • select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]

    select top语句 mysql_SQL SELECT TOP 语句[通俗易懂]SELECTTOP子句用于规定要返回的记录的数目。SELECTTOP子句对于拥有数千条记录的大型表来说,是非常有用的。注释:并非所有的数据库系统都支持SELECTTOP子句。SQLServer/MSAccess语法SELECTTOPnumber|percentcolumn_name(s)FROMtable_name;MySQL和Oracle中的SQLSEL…

    2022年7月13日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号