TearSnow

该如何用c#操作硬盘

主要是调用cmd处理,话不多说,下图代码——注释很清楚的,界面还是一如既往的对不起观众。。

//针对磁盘格式

private void Form1_Load(object sender, EventArgs e)

{

//提示窗口

//MessageBox.Show(“操作有风险,数据无价请谨慎操作”,”提示”,MessageBoxButtons.YesNo,MessageBoxIcon.Exclamation);

if (MessageBox.Show(“操作有风险,数据无价请谨慎操作”, “提示”, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No)

{

this.Close();

}

//WMI查询

ManagementObjectSearcher search = new ManagementObjectSearcher(“select * from win32_logicaldisk”);

ManagementObjectCollection collection = search.Get();//检索

foreach (ManagementObject disk in collection)

{

cboDrive.Items.Add(disk[“Name”].ToString());//添加磁盘名称

cboDrive.SelectedIndex = 0;//设置选择项

}

this.btnTranslate.Enabled = false;

}

private void btnShare_Click(object sender, EventArgs e)

{

if (cmbShareDisk.Text == “C” || cmbShareDisk.Text == “D” || cmbShareDisk.Text == “E” || cmbShareDisk.Text == “F”)

{

Process p = new Process();  //创建进程对象

string shareName = txtShareName.Text;  //共享名

string sharePath = cmbShareDisk.Text;//共享路径

p.StartInfo.FileName = “cmd”;   //启动进程名称

p.StartInfo.Arguments = ” /c net share ” + shareName + “=” + sharePath;//换行命令

p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//窗口状态为隐藏

p.StartInfo.CreateNoWindow = true;//启动进程不创建窗口

p.StartInfo.UseShellExecute = false;//从可执行文件创建进程

p.StartInfo.RedirectStandardOutput = true;//将输出写入流中

p.Start();//启动进程

p.WaitForExit();

MessageBox.Show(“设置共享成功!”);

}

else

{

MessageBox.Show(“请选择磁盘号!”);

}

}

private void btnCancel_Click(object sender, EventArgs e)

{

this.Close();

}

private void btnCheak_Click(object sender, EventArgs e)

{

if (cboDrive.Text== “C” ||cboDrive.Text== “D” ||cboDrive.Text == “E” ||cboDrive.Text== “F”||cboDrive.Text==”G”)

{

try

{

DriveInfo info = new DriveInfo(cboDrive.Text);//创建对象

//输出磁盘容量和可用空间

this.lblMessage.Text = string.Format(“{0}盘的总容量为:{1}b,n剩余空间大小为:{2}b,n可用空间大小为:{3}b”, cboDrive.Text, info.TotalSize, info.TotalFreeSpace, info.AvailableFreeSpace);

}

catch { this.lblMessage.Text =”请查看是否存在此磁盘”; }

}

else

{

this.lblMessage.Text = “请选择磁盘好!”;

}

}

private void btnDiskCheak_Click(object sender, EventArgs e)

{

DriveInfo info = new DriveInfo(cmbDiskName.Text);//创建对象

try

{

txtFile.Text = info.DriveFormat.ToString();//显示磁盘格式

if (txtFile.Text == “NTFS”)

{

this.btnTranslate.Enabled = false;//按钮不可用

}

if (txtFile.Text == “FAT32”)

{

this.btnTranslate.Enabled = true;//按钮可用

}

}

catch { MessageBox.Show(“请确认磁盘是否存在”); }

}

private void btnTranslate_Click(object sender, EventArgs e)

{

Process p = new Process();//创建进程对象

string drivename = cmbDiskName.Text;//盘符

p.StartInfo.FileName = “cmd”;//启动进程名称

p.StartInfo.Arguments = “/c convert ” +drivename+”: /fs:ntfs”;//执行命令

p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//窗口设置为隐藏

p.StartInfo.CreateNoWindow = true;//启动进程不创建窗口

p.StartInfo.UseShellExecute = false;//从可执行文件创建进程

p.StartInfo.RedirectStandardOutput = true;//将输出写入流中

p.Start();//启动进程

p.WaitForExit();

MessageBox.Show(“磁盘格式转换成功”);

}

看完代码有没有一些启发?当然大神路过就好!好了,就酱紫。

转载请注明本文地址: http://www.xiaopuee.name/netbc2.html | Yabo博客

Yabo

标签: 该日志由 Yabo 于2014年03月20日发表在 .Net编程 分类下, 您可以发表不同观点
原创文章,转载请注明: 该如何用c#操作硬盘 | Yabo博客

该如何用c#操作硬盘:等您坐沙发呢!

发表评论

= 10 + 11 (防止机器人评论


快捷键:Ctrl+Enter
Yabo
扫一扫
个人微信号
个人微信号