需要源码和PPT请点赞关注收藏后评论区留言私信~~~

其他部分文章链接如下

【C#+Access+WindowsAPI】实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源

【C#+Access+WindowsAPI】实现仿360的安全卫士 二:主窗体设计讲解(附源码和资源)​​​​​​​

【C#+Acces+WindowsAPI】实现仿360的安全卫士 四:设计功能集合窗体讲解(附源码和资源)

【C#+Access+WindowsAPI】实现仿360的安全卫士 五:系统清理、开启重启功能讲解(附源码和资源)

【C#+Access+WindowsAPI】实现仿360的安全卫士 六:实用工具集合讲解(附源码和资源)

一、系统检测窗体概述

通过单击主窗体中的系统检测图片按钮,可以打开系统检测窗体,该窗体主要用来显示计算机硬件以及软件相关的信息 效果如下

二、系统检测窗体实现流程

系统检测窗体实现流程如下

三、设计系统检测窗体

系统检测窗体的设计主要分为两个步骤:分别是设计窗体和添加控件 下面分别介绍

1:设计窗体

窗体的属性值列表如下

2:添加控件

系统检测窗体主要用到了两个控件,分别是TreeView控件和ListView控件,下面分别介绍

1.添加TreeView控件

属性如下

2.添加ListView控件

属性如下

最后设计出的窗体效果如下

四、初始化树菜单

初始化树菜单主要是对系统检测窗体中的菜单进行设置,分三个步骤实现:导入公共类文件,添加必要的dll引用,Frm_SysCheck代码页实现

1:导入公共类文件

系统中一共用到3个公共类文件和一个html网页文件 功能如下

2:添加必要的dll引用

365系统加速器中由于需要获取硬件i西南西 并对注册表进行操作,因此需要添加System.Management.dll和Microsoft.VisualBaisc.dll引用 添加步骤如下

3:Frm_SysCheck代码页实现

定义一个GetInfo方法,用来根据指定节点获取相应的信息,该方法主要用到了Operator类中定义的InsertInfo方法,它用来根据指定的字符串获取其对应的系统或者硬件信息

private void GetInfo(string node)
{Operator oper = new Operator();               //创建公共操作类的对象switch (node)                       //判断选中的节点名称{case "Windows信息":oper.GetInfo(lvInfo);break;case "Windows用户":oper.InsertInfo("Win32_UserAccount", ref lvInfo, true);break;case "用户组别":oper.InsertInfo("Win32_Group", ref lvInfo, true);break;case "当前进程":oper.InsertInfo("Win32_Process", ref lvInfo, true);break;case "系统服务":oper.InsertInfo("Win32_Service", ref lvInfo, true);break;case "系统驱动":oper.InsertInfo("Win32_SystemDriver", ref lvInfo, true);break;case "中央处理器":oper.InsertInfo("Win32_Processor", ref lvInfo, true);break;case "主板":oper.InsertInfo("Win32_BaseBoard", ref lvInfo, true);break;case "BIOS信息":oper.InsertInfo("Win32_BIOS", ref lvInfo, true);break;case "显卡":oper.InsertInfo("Win32_VideoController", ref lvInfo, true);break;case "音频设备":oper.InsertInfo("Win32_SoundDevice", ref lvInfo, true);break;case "物理内存":oper.InsertInfo("Win32_PhysicalMemory", ref lvInfo, true);break;case "磁盘":oper.InsertInfo("Win32_LogicalDisk", ref lvInfo, true);break;case "网络适配器":oper.InsertInfo("Win32_NetworkAdapter", ref lvInfo, true);break;case "网络协议":oper.InsertInfo("Win32_NetworkProtocol", ref lvInfo, true);break;case "打印与传真":oper.InsertInfo("Win32_Printer", ref lvInfo, true);break;case "键盘":oper.InsertInfo("Win32_Keyboard", ref lvInfo, true);break;case "鼠标":oper.InsertInfo("Win32_PointingDevice", ref lvInfo, true);break;case "串口":oper.InsertInfo("Win32_SerialPort", ref lvInfo, true);break;case "IDE控制器":oper.InsertInfo("Win32_IDEController", ref lvInfo, true);break;case "软驱控制器":oper.InsertInfo("Win32_FloppyController", ref lvInfo, true);break;case "USB控制器":oper.InsertInfo("Win32_USBController", ref lvInfo, true);break;case "SCSI控制器":oper.InsertInfo("Win32_SCSIController", ref lvInfo, true);break;case "PCMCIA卡控制器":oper.InsertInfo("Win32_PCMCIAController", ref lvInfo, true);break;case "1394控制器":oper.InsertInfo("Win32_1394Controller", ref lvInfo, true);break;case "即插即用设备":oper.InsertInfo("Win32_PnPEntity", ref lvInfo, true);break;default:oper.GetInfo(lvInfo);                    //默认显示Windows信息break;}
}

下面对于触发该窗体的Load事件,编写代码,主要对树菜单进行初始化

private void Frm_SysCheck_Load(object sender, EventArgs e)
{#region 创建TreeNode对象作为父节点TreeNode tn1 = new TreeNode("Windows");TreeNode tn2 = new TreeNode("CPU与主板");TreeNode tn3 = new TreeNode("视频设备");TreeNode tn4 = new TreeNode("音频设备");TreeNode tn5 = new TreeNode("存储设备");TreeNode tn6 = new TreeNode("网络设备");TreeNode tn8 = new TreeNode("总线与接口");TreeNode tn9 = new TreeNode("输入设备");TreeNode tn10 = new TreeNode("打印与传真");#endregion#region Windows父节点的子节点tn1.Nodes.Add("Windows信息");tn1.Nodes.Add("Windows用户");tn1.Nodes.Add("用户组别");tn1.Nodes.Add("当前进程");tn1.Nodes.Add("系统服务");tn1.Nodes.Add("系统驱动");#endregion#region CPU与主板父节点的子节点tn2.Nodes.Add("中央处理器");tn2.Nodes.Add("主板");tn2.Nodes.Add("BIOS信息");#endregion#region 视频设备父节点的子节点tn3.Nodes.Add("显卡");#endregion#region 存储设备父节点的子节点tn5.Nodes.Add("物理内存");tn5.Nodes.Add("磁盘");#endregion#region 网络设备父节点的子节点tn6.Nodes.Add("网络适配器");tn6.Nodes.Add("网络协议");#endregion#region 总线与接口父节点的子节点tn8.Nodes.Add("串口");tn8.Nodes.Add("IDE控制器");tn8.Nodes.Add("软驱控制器");tn8.Nodes.Add("USB控制器");tn8.Nodes.Add("SCSI控制器");tn8.Nodes.Add("PCMCIA卡控制器");tn8.Nodes.Add("1394控制器");tn8.Nodes.Add("即插即用设备");#endregion#region 输入设备父节点的子节点tn9.Nodes.Add("鼠标");tn9.Nodes.Add("键盘");#endregion#region 将创建的父节点添加到树列表中tvItem.Nodes.Add(tn1);tvItem.Nodes.Add(tn10);tvItem.Nodes.Add(tn2);tvItem.Nodes.Add(tn3);tvItem.Nodes.Add(tn4);tvItem.Nodes.Add(tn5);tvItem.Nodes.Add(tn6);tvItem.Nodes.Add(tn8);tvItem.Nodes.Add(tn9);#endregionGetInfo("");                                          //默认获取Windows信息的相关信息
}

五、根据选择项显示其详细信息

触发树控件tvItem的AfterSelect事件,它实现根据选中的树节点显示其详细信息的功能

private void tvItem_AfterSelect(object sender, TreeViewEventArgs e)
{string strText = tvItem.SelectedNode.Text;                //获取选中节点的文本this.Text = "365系统加速器——" + strText;              //设置窗体标题lvInfo.Items.Clear();                                   //清空ListView中的信息GetInfo(strText);                                       //根据选中的树节点显示相应信息
}

创作不易 觉得有帮助请点赞关注收藏~~~

【C#+Access+WindowsAPI】实现仿360的安全卫士 三:系统检测窗体设计(附源码和资源)相关推荐

  1. 【C#+Access+WindowsAPI】实现仿360的安全卫士 六:实用工具集合讲解(附源码和资源)

    需要源码和资源请点赞关注收藏后评论区留言私信~~~ 其他部分文章链接如下 [C#+Access+WindowsAPI]实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源) [C#+A ...

  2. 【C#+Access+WindowsAPI】实现仿360的安全卫士 一:功能展示与系统开发环境简介(附源码和资源)

    需要源码和资源请点赞关注收藏后评论区留言私信~~~ 其他部分文章链接如下 [C#+Access+WindowsAPI]实现仿360的安全卫士 二:主窗体设计讲解(附源码和资源) [C#+Access+ ...

  3. 开博第一篇作品-C#winform版《仿360杀毒》页面切换动画效果(内含源码)

    C#winform版 <仿360杀毒>页面切换动画效果 昨天跟一个同事聊天,谈到了360杀毒的页面效果不错,我们所做的winform页面都是拖控件还是拖控件,不能吸引客户的注意力,想改成3 ...

  4. Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)

    这一系列博文都是:(android高仿系列)今日头条 --新闻阅读器 (一) 开发中碰到问题之后实现的,觉得可能有的开发者用的到或则希望独立成一个小功能DEMO,所以就放出来这么一个DEMO. 原本觉 ...

  5. Android 毕业设计高仿抖音(视频类App)(内附源码)

    背景 抖音这么火,我就想着要不自己也做一个吧,于是就有了我的自制抖音.喜欢的可以点个star或关注一下,以后会保持维护和优化. 主要效果演示 安装包: 整体设计 由于没有接口获取数据,使用的方式是将图 ...

  6. 【Android App】实战项目之仿微信的私信和群聊App(附源码和演示视频 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 手机最开始用于通话,后来增加了短信功能,初步满足了人与人之间的沟通需求.然而短信只能发文字,于是出现了能够发图片的彩信,但不管短信还是彩信,资费都太贵 ...

  7. 【Android App】实战项目之仿抖音的短视频分享App(附源码和演示视频 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 与传统的影视行业相比,诞生于移动互联网时代的短视频是个全新行业,它制作方便又容易传播,一出现就成为大街小巷的时髦潮流. 各行各业的人们均可通过短视频展 ...

  8. 基于HTML+CSS+JavaScript仿瓜子二手车官网【学生网页设计作业源码】

  9. 【cocos creater】6.仿《弓箭传说》- 控制主角移动(附源码)

    查看项目所有章节 接着上一章,我们在main场景中创建一个role精灵节点 在资源管理器中,将head图集拖到Sprite属性节点的Atlas属性上,并把head图集中的baioqing_1图片拖到S ...

最新文章

  1. 人人都是 DBA(V)SQL Server 数据库文件
  2. 1.17 局部内部类
  3. window系统无限试用 JAVA IDEA不限版本
  4. 好班微校云信聊天解读记录
  5. spring配置详解-初始化销毁方法
  6. mysql -u 报错_MySQL报错解决!
  7. 500 OOPS: vsftpd: both local and anonymous access disabled
  8. Linux系统资源控制
  9. C++ 基类私有成员会被继承吗
  10. chrome 离线安装包下载
  11. switchHost工具的使用
  12. Android启动优化
  13. allure报告定制
  14. STM32 RCC浅析
  15. 参考文献格式生成器(GB/T 7714-2015)
  16. tensorflow中axis理解非常重要
  17. 基于深度学习的三维重建算法综述
  18. Java进阶之--------集合
  19. 基于CTP的程序化交易系统开…
  20. 创业公司感叹养不起程序员:他们的工资有泡沫吗? | 百度宣布开源自主驾驶软件...

热门文章

  1. MySQL中的limit用法详解
  2. 数论、关于余数之和的浅解
  3. “由于网络上有重名,没有连接。请到“控制面板”中的“系统”更改计算机名,然后重试”解决办法
  4. TextAloud(文本)转换为使用mp3格式
  5. oracle9i 9.2.0.10,Oracle 9i和10G软件及补丁下载地址
  6. 使用 netlify 部署你的前端应用
  7. 使用ul li和不适用ul li的区别
  8. linux内核调度策略SCHED_OTHER,SCHED_FIFO和SCHED_RR
  9. MIT透过机器学习技术用胺基酸预测蛋白质结构
  10. 轩辕剑五的乱码问题解决