一、介绍
虚拟盘有点类似于文件的快捷方式,但是又有不同。
本文介绍的虚拟盘,是通过网络路径或者自己本地计算机的某个文件夹来创建一个虚拟盘,可能表述不清楚,具体您先看一下效果图:
该L盘,实际是本地路径 E:\test 的文件夹映射。双击进去L盘后,看到的东西,跟E:\test下看到的东西是一样的。
二、C#如何实现虚拟盘
创建虚拟盘的指令是使用cmd命令程序来执行subst命令,那么C#代码,就要模拟这个过程,具体代码如下:
static void Main(string[] args){
Process process = new Process();
RunProgram(process, "cmd.exe", "subst L: E:\\test");
process.StandardInput.WriteLine("exit");
if (process.StandardOutput.Peek() > 0)
{
process.StandardOutput.ReadToEnd();
}
process.Close();
}
public static void RunProgram(Process process, string programName, string cmd){
process.StartInfo.CreateNoWindow = true;
process.StartInfo.FileName = programName;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
if (!string.IsNullOrWhiteSpace(cmd))
{
process.StandardInput.WriteLine(cmd);
}
}
代码解析:
- 声明Process进程处理器对象,初始化一些参数
- 让处理器对象指定运行cmd.exe程序,以及相应的指令
- 通过Peek()和ReadToEnd(),让程序得到真正的执行
- 关闭处理器。
运行该代码后,将在本地生成开篇那个gif动态效果图。
祝您用餐愉快。