实例介绍
【实例截图】

【核心代码】
/*
*******************************************************************************************
* 软件信息: *
* 制作/更改时间:2020年7月23日19:08:58 *
* 作者:gfdgd xi *
* 程序编辑/调试平台(最近一次):Visual Studio 2019 Professional 以及 Windows 8.1 *
* 程序目的:通过C#通过的类获取系统/硬件信息 *
*******************************************************************************************
*/
// 导入头文件
// using System.Collections.Generic;
// using System.ComponentModel;
// using System.Data;
// using System.Drawing;
// using System.Linq;
// using System.Text;
// 上面头文件可以不用,所以注释掉了
using System;
using System.Windows.Forms;
using System.Threading;
using Microsoft.VisualBasic.Devices;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false; // 不让程序出现“Cross-thread operation not valid”错误
Thread thread = new Thread(start); thread.Start(); // 创建线程一个线程加载系统信息和工具箱列表
}
private void start() // 这个线程用于加载系统信息和工具箱列表
{
system.Items.Clear(); // 清空系统检测列表
/*通过ComputerInfo类获取系统信息
加载什么内容都标着*/
Computer info = new Computer();
system.Items.Add("系统全称:" info.Info.OSFullName);
system.Items.Add("系统平台:" info.Info.OSPlatform);
system.Items.Add("系统版本:" info.Info.OSVersion);
system.Items.Add("计算机名:" info.Name);
system.Items.Add("物理内存大小:" info.Info.TotalPhysicalMemory);
system.Items.Add("虚拟内存大小:" info.Info.TotalVirtualMemory);
system.Items.Add("数字锁定是否开启:" info.Keyboard.NumLock);
system.Items.Add("大写锁定是否开启:" info.Keyboard.CapsLock);
system.Items.Add("滚动锁定是否开启:" info.Keyboard.ScrollLock);
system.Items.Add("鼠标是否开启了左右键调换:" info.Mouse.ButtonsSwapped);
system.Items.Add("鼠标是否有滚轮:" info.Mouse.WheelExists);
system.Items.Add("鼠标滚轮旋转一下所滚动的行数:" info.Mouse.WheelScrollLines);
system.Items.Add("电脑是否连接网络:" info.Network.IsAvailable);
system.Items.Add("主屏幕分辨率:" info.Screen.Bounds.Width "×" info.Screen.Bounds.Height);
/*用Environment加载系统信息
加载什么内容都标着*/
system.Items.Add("CPU处理器数量:" Environment.ProcessorCount);
system.Items.Add("64位操作系统:" Environment.Is64BitOperatingSystem);
system.Items.Add("当前系统的SP版本:" Environment.OSVersion.ServicePack);
system.Items.Add("系统目录所在位置:" Environment.SystemDirectory);
system.Items.Add("当前登录用户名称:" Environment.UserName);
var va = Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User);
system.Items.Add("—————当前用户环境变量列表—————"); // 获取用户环境变量列表
foreach(var k in va.Keys)
{
system.Items.Add(k.ToString() "=" va[k].ToString());
}
system.Items.Add("————————————————————");
/*使用SystemInformation类获取用户信息
获取什么内容都标着*/
system.Items.Add("操作系统的启动方式:" SystemInformation.BootMode);
system.Items.Add("窗口标题栏中按钮的标准尺寸:" SystemInformation.CaptionButtonSize.Width "×" SystemInformation.CaptionButtonSize.Height);
system.Items.Add("窗口标题栏的标准高度:" SystemInformation.CaptionHeight);
system.Items.Add("输入光标的闪烁时间:" SystemInformation.CaretBlinkTime);
system.Items.Add("双击时,第一次点击和第二次点击最长的毫秒数:" SystemInformation.DoubleClickTime);
system.Items.Add("是否启用高对比度模式:" SystemInformation.HighContrast);
system.Items.Add("是否启用字体平滑:" SystemInformation.IsFontSmoothingEnabled);
system.Items.Add("键盘重复速度设置:" SystemInformation.KeyboardSpeed);
system.Items.Add("系统是否能使用希伯来语和阿拉伯语:" SystemInformation.MidEastEnabled);
system.Items.Add("显示器数量:" SystemInformation.MonitorCount);
system.Items.Add("鼠标的按键数:" SystemInformation.MouseButtons);
system.Items.Add("获取当前鼠标的速度:" SystemInformation.MouseSpeed);
system.Items.Add("当前电池状态:" SystemInformation.PowerStatus.BatteryChargeStatus);
system.Items.Add("预计电池充满电的时间:" SystemInformation.PowerStatus.BatteryFullLifetime);
system.Items.Add("电池剩余电量的百分比:" SystemInformation.PowerStatus.BatteryLifePercent);
system.Items.Add("电池预计的使用时间:" SystemInformation.PowerStatus.BatteryLifeRemaining);
system.Items.Add("当前的电源状态:" SystemInformation.PowerStatus.PowerLineStatus);
switch(SystemInformation.ScreenOrientation) // 获取主屏幕的旋转度数
{
case ScreenOrientation.Angle0:
system.Items.Add("主屏幕旋转角度:0°");
break;
case ScreenOrientation.Angle90:
system.Items.Add("主屏幕旋转角度:90°");
break;
case ScreenOrientation.Angle180:
system.Items.Add("主屏幕旋转角度:180°");
break;
case ScreenOrientation.Angle270:
system.Items.Add("主屏幕旋转角度:270°");
break;
default:
system.Items.Add("主屏幕旋转角度:旋转角度未知(不明)");
break;
}
system.Items.Add("屏幕的工作区域:" SystemInformation.WorkingArea.Width "×" SystemInformation.WorkingArea.Height);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true; // 先不让程序那么快退出
if (MessageBox.Show("你确定要退出吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
// 判断用户是不是选择确定,如果选择了就
{
e.Cancel = false;
}
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Close(); // 触发退出事件
}
private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(start); thread.Start(); // 启动系统检测进程
}
}
}
标签: windows window系统信息 C#
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论