栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

c#不使用windows api函数打开我的电脑和获取电脑驱动器信息

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#不使用windows api函数打开我的电脑和获取电脑驱动器信息

打开我的电脑
System.Diagnostics.Process.Start("explorer.exe", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");

第二个参数也可为完整路径,

通过查询注册表拿到的一些完整路径例子:

复制代码 代码如下:
public string GetWindowsPath(string path)
        {
            RegistryKey folders;
            folders = OpenRegistryPath(Registry.CurrentUser, @"softwaremicrosoftwindowscurrentversionexplorershell folders");
            return folders.GetValue(path).ToString();
        }
private RegistryKey OpenRegistryPath(RegistryKey root, string s)
        {
            s = s.Remove(0, 1) + @"";
            while (s.IndexOf(@"") != -1)
            {
                root = root.OpenSubKey(s.Substring(0, s.IndexOf(@"")));
                s = s.Remove(0, s.IndexOf(@"") + 1);
            }
            return root;
        }


//调用
GetWindowsPath("关键字");

关键字比如:Windows用户桌面路径(Desktop),Windows用户字体目录路径(Fonts),Windows用户网络邻居路径(Nethood),Windows用户我的文档路径(Personal)...

具体的在注册表里面查找.

 以上是直接打开我的电脑的方法,当然也可以直接获取我的电脑的驱动器,方法如下:

复制代码 代码如下:
DriveInfo[] allDrives = DriveInfo.GetDrives();

foreach (DriveInfo d in allDrives)
{

messagebox.show(d.RootDirectory.FullName+"启动器所有信息在DriveInfo对象里都能找到");
messagebox.show(驱动器的类型+DriveTypeToCH(d.DriveType.ToString()));

}

这里就要说到启动器的类型了

复制代码 代码如下:
#region 驱动类型转换
        ///


        /// 驱动类型转换
        ///

        ///
        ///
        private string DriveTypeToCH(string _String)
        {
            string ToCh = "";
            switch (_String.ToLower())
            {
                case "unknown":
                    ToCh = "其它";
                    break;
                case "removable":
                    ToCh = "移动设备";
                    break;
                case "fixed":
                    ToCh = "硬盘";
                    break;
                case "network":
                    ToCh = "网络硬盘";
                    break;
                case "cdrom":
                    ToCh = "CD-ROM";
                    break;
                case "ram":
                    ToCh = "RAM磁盘";
                    break;
                case "norootdirectory":
                    ToCh = "";
                    break;
                default:
                    break;
            }
            return ToCh;
        }
        #endregion

也可以通过windows api得到,我还是更喜欢这种方法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/126889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号