当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-25

    本文导语:  打开我的电脑System.Diagnostics.Process.Start("explorer.exe", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"); 第二个参数也可为完整路径, 通过查询注册表拿到的一些完整路径例子: 代码如下:public string GetWindowsPath(string path)        {          ...

打开我的电脑
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得到,我还是更喜欢这种方法


    
 
 

您可能感兴趣的文章:

  • c#中SAPI使用总结——SpVoice的使用方法
  • c#友好显示日期 c#日期datetime使用方法
  • 请问在工作岗位的朋友!使用java开发的公司对c#的态度如何?
  • c#自带缓存使用方法 c#移除清理缓存
  • C#中的switch case使用介绍
  • c# 空合并运算符“??”的使用详解
  • 使用C#实现在屏幕上画图效果的代码实例
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解
  • c#闭包使用方法示例
  • c# split分隔字符串使用方法
  • c#的params参数使用示例
  • c#使用资源文件的示例
  • 使用C# Winform应用程序获取网页源文件的解决方法
  • C#将时间转成文件名使用方法
  • C# 使用匿名函数解决EventHandler参数传递的难题
  • 使用C#获取系统特殊文件夹路径的解决方法
  • C#使用带like的sql语句时防sql注入的方法
  • C#可选参数的相关使用
  • C# 静态构造函数使用总结
  • C# WndProc的使用方法示例
  • 已经安装到移动硬盘上的ubuntu怎样在其它电脑上使用
  • 个人电脑上是否能够使用sco Unix ware 7.1.1???
  • 将VMware下安装的Red Hat Enterprise Linux拷贝到其他电脑后,网卡(与Host 利用Bridge连接)无法使用?如何解决啊?
  • 50分求教怎样在redhat9下使用u盘,希望各位电脑达人指教。
  • linux 下怎么检查电脑上是否安装或使用了某软件 具体方法及步骤?
  • [200分]在原来一块硬盘上已经安装rh linux9的电脑上,如何加一块新买的硬盘,新硬盘也在linux系统使用!最好给个详细的步骤
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • asp程序使用的access在Linux下如何使用!
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 新装的Linux使用root用户不能使用FTP?
  • c/c++预处理命令预#,##使用介绍
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • 在div中使用css让文字底部对齐的方法
  • redhat9内存使用率高达73%,怎么查看内存具体使用情况
  • Python namedtuple(命名元组)使用实例
  • 嵌入式Linux使用外挂Vsftpd不能正常使用, 请高手解答,谢谢。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3