zoukankan      html  css  js  c++  java
  • 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}
    ootcimv2", 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;
                }
            }
  • 相关阅读:
    python自动化之利用configparser库获取配置文件中的section,option,value值
    python自动化之pymysql库连接mysql数据库封装成类
    python中封装pymysql库连接mysql数据库
    python自动化之requests库封装
    OS模块获取文件相对路径
    元素定位之xpath定位详解
    Jmeter工具-连接postgresql数据库+提取参数并应用到下个接口中
    JDK安装与环境变量配置
    python使用psycopg2连接postgresql数据库
    SQL的in的参数化查询
  • 原文地址:https://www.cnblogs.com/wei325/p/5441756.html
Copyright © 2011-2022 走看看