c#不使用windows api函数打开我的电脑和获取电脑驱动器信息
2018-10-12 14:10
696 查看
打开我的电脑
System.Diagnostics.Process.Start("explorer.exe", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
第二个参数也可为完整路径,
通过查询注册表拿到的一些完整路径例子:
public string GetWindowsPath(string path)
{
RegistryKey folders;
folders = OpenRegistryPath(Registry.CurrentUser, @"\software\microsoft\windows\currentversion\explorer\shell 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 驱动类型转换
/// <summary>
/// 驱动类型转换
/// </summary>
/// <param name="_String"></param>
/// <returns></returns>
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# Windows API应用之基于FlashWindowEx实现窗口闪烁的方法
- C#获取进程的主窗口句柄的实现方法
- C#实现利用Windows API读写INI文件的方法
- C#中调用Windows API的技术要点说明
- C#调用windows api关机(关机api)示例代码分享
- c#调用api控制windows关机示例(可以重启/注销)
- C#中隐式运行CMD命令行窗口的方法
- C# WinForm中禁止改变窗口大小的方法
- C# Winform中实现主窗口打开登录窗口关闭的方法
- C# WinForm窗口最小化到系统托盘
- 解决C#获取鼠标相对当前窗口坐标的实现方法
- C# Winform 让整个窗口都可以拖动
- C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法
相关文章推荐
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十八节 在本地电脑的地址解析协议(ARP )表中创建和删除一个ARP
- 在vb中使用Iphlpapi.dll获取网络信息 第四章 第二节 一个重要函数
- 用js获取电脑信息(是使用与IE浏览器)
- 使用Windows API实现运行时动态获取程序文件版本信息
- Delphi For Android 使用Posix函数获取网络信息(MAC, IP...)
- 在vb中使用Iphlpapi.dll获取网络信息 第三章 第一节 IPHLPAPI 的其它函数
- 使用Windows API函数显示打开文件对话框
- FindFirstVolume系列函数遍历驱动器,获取驱动器信息
- 使用psutil模块获取电脑运行信息
- 第九篇:使用 lstat 函数获取文件信息
- 使用python获取电脑的磁盘信息
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第十八节 在本地电脑的地址解析协议(ARP )表中创建和删除一个ARP
- 使用API中的函数:NetUserEnum来枚举用户 NetUserGetInfo来获取用户的信息
- 使用gethostname()函数和gethostbyname()函数获取主机相关信息
- c# API使用GetVolumeInformation函数获取硬盘信息
- 使用gethostname()函数和gethostbyname()函数获取主机相关信息
- windows api 获取内存信息函数以及示例
- 获取Exe文件版本信息的函数(使用GetFileVersionInfo得到TFileVersionInfo结构体,包含12项内容)
- 在SQL Server 中使用EVENTDATA()函数来获取DDL 触发器信息
- 使用 WPF 获取你电脑上所有目录的详细信息: