C#检查远程或本地磁盘使用率
因为公司有多个服务器,要检查磁盘的使用情况确定程序放哪个服务器和清理垃圾,所以写个小程序帮忙检查。
效果图:
后台代码:
private void btnCheck_Click(object sender, EventArgs e) { listBox1.Items.Clear(); if (rbtnRemote.Checked) { //远程 RemoteDisk(); } else { //本地 LocalDisk(); } } //查看本地 private void LocalDisk() { WqlObjectQuery wmiquery = new WqlObjectQuery("select * from Win32_LogiCalDisk"); ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery); //显示 ShowInfo(wmifind); } //远程 private void RemoteDisk() { if (cbIP.Text == "" | cbUserName.Text == "" | txtPwd.Text == "") { MessageBox.Show("请把信息补充完整!"); return; } string ip = cbIP.Text; string username = cbUserName.Text; string password = txtPwd.Text; ConnectionOptions conn = new ConnectionOptions(); conn.Username = username; conn.Password = password; conn.Timeout = new TimeSpan(1,1,1,1);//连接时间 //ManagementScope 的服务器和命名空间。 string path = string.Format(@"\\{0}\root\cimv2", ip); //表示管理操作的范围(命名空间),使用指定选项初始化ManagementScope 类的、表示指定范围路径的新实例。 ManagementScope scope = new ManagementScope(path, conn); scope.Connect(); //查询 string strQuery = "select * from Win32_LogicalDisk "; ObjectQuery query = new ObjectQuery(strQuery); //查询ManagementObjectCollection返回结果集 ManagementObjectSearcher wmifind = new ManagementObjectSearcher(scope, query); ShowInfo(wmifind); } #region 显示磁盘信息 private void ShowInfo(ManagementObjectSearcher wmifind) { long gb = 1024 * 1024 * 1024; string type = ""; string str = ""; double freePath = 0d; foreach (var mobj in wmifind.Get()) { type = mobj["Description"].ToString(); //判断是否是本机固盘 if (type == "Local Fixed Disk") { str = " 磁盘名称:" + mobj["Name"].ToString(); freePath = Math.Round(Convert.ToDouble(mobj["FreeSpace"]) / gb, 1); str += " 可用空间:" + freePath+ "G"; str += " 实际大小:" + Math.Round(Convert.ToDouble(mobj["Size"].ToString()) / gb, 1) + "G"; if (freePath < 20) { str += " ----请尽快清理!"; } listBox1.Items.Add(str); } } } #endregion private void rbtnLocal_CheckedChanged(object sender, EventArgs e) { //本地选中 if (rbtnLocal.Checked == true) { cbIP.Enabled = false; cbUserName.Enabled = false; txtPwd.Enabled = false; } } private void rbtnRemote_CheckedChanged(object sender, EventArgs e) { if (rbtnRemote.Checked == true) { cbIP.Enabled = true; cbUserName.Enabled = true; txtPwd.Enabled = true; } }
上一篇:C#巧用DateTime预设可选的日期范围(如本年度、本季度、本月等)
栏 目:C#教程
本文标题:C#检查远程或本地磁盘使用率
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6539.html
您可能感兴趣的文章
- 01-10C#实现远程关闭计算机或重启计算机的方法
- 01-10C#获取进程或线程相关信息的方法
- 01-10C#删除只读文件或文件夹(解决File.Delete无法删除文件)
- 01-10轻松学习C#的String类
- 01-10轻松学习C#的属性
- 01-10C#比较二个数组并找出相同或不同元素的方法
- 01-10C#获取远程XML文档的方法
- 01-10在C#的类或结构中重写ToString方法的用法简介
- 01-10详解C#编程中构造函数的使用
- 01-10解析C#中的分部类和分部方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 04-02jquery与jsp,用jquery
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-11ajax实现页面的局部加载
- 01-10delphi制作wav文件的方法
- 08-05织梦dedecms什么时候用栏目交叉功能?