问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么取得硬盘和内存的类型和厂商? C#语言编写,写重点代码。简洁要简洁,谢谢

发布网友 发布时间:2022-05-13 20:09

我来回答

4个回答

热心网友 时间:2023-10-24 23:57

以下源码来着网络,本人不拥有该源码的任何权利;且不愿承担刊登该源码的任何责任;如果我的行为侵犯了你的利益,请给我通知,我会第一时间维护你的权益;

c# 获取系统基本信息
//cpu的编号
using System.Management;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
String strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
this.label1.Text = strCpuID;
break;
}

//获取CPU基本信息
using System.Runtime.InteropServices;
[DllImport("kernel32 ")]
public static extern void GetSystemInfo(ref CPU_INFO cpuinfo);

//定义CPU的信息结构
[StructLayout(LayoutKind.Sequential)]
public struct CPU_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}

private void Form1_Load(object sender, EventArgs e)
{
//调用GetSystemInfo函数获取CPU的相关信息
CPU_INFO CpuInfo;
CpuInfo = new CPU_INFO();
GetSystemInfo(ref CpuInfo);
string a = "本计算机中有 " + CpuInfo.dwNumberOfProcessors.ToString()+ "个CPU ";
string b = "CPU的类型为 " + CpuInfo.dwProcessorType.ToString();
string c = "CPU等级为 " + CpuInfo.dwProcessorLevel.ToString();
string d = "CPU的OEM ID为 " + CpuInfo.dwOemId.ToString();
string e = "CPU中的页面大小为 " + CpuInfo.dwPageSize.ToString();
}

//获取物理内存
using System.Management;//注意需要引用
string st = "";
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
st = mo["TotalPhysicalMemory"].ToString();
}

//显示卡信息
ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\CIMV2", "SELECT * FROM Win32_VideoController");
foreach (ManagementObject info in searcher.Get())
{
string a = "适配器兼容性 "+ info["AdapterCompatibility"].ToString();
string b = "适配器类型 "+ info["AdapterDACType"].ToString();
string c = "视频模式描述"+info["VideoModeDescription"].ToString();
string d = "字幕"+info["Caption"].ToString();
string e = "目前比特每像素"+info["CurrentBitsPerPixel"].ToString();
string f = "目前的水平分辨率"+info["CurrentHorizontalResolution"].ToString();
string g = "视频处理器"+info["VideoProcessor"].ToString();
string h = "最大刷新率" + info["MaxRefreshRate"].ToString();
string i = "设备ID" + info["DeviceID"].ToString();
string j = "描述" + info["Description"].ToString();
}

//获取分区信息
using System.Management;
private void button1_Click(object sender, EventArgs e)
{
WqlObjectQuery wmiquery = new WqlObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE DeviceID = 'e:'");
ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery);
foreach (ManagementObject mobj in wmifind.Get())
{
string a = ("磁盘类型: " + mobj["Description"].ToString());
string b = ("分区类型: " + mobj["FileSystem"].ToString());
string c = ("可用空间: " + mobj["FreeSpace"].ToString());
string d = ("实际大小: " + mobj["Size"].ToString());
}
}

//获取主板信息
using System.Management;
ManagementObjectSearcher my = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
foreach (ManagementObject share in my.Get())
{
string a = "主板制造商:" + share["Manufacturer"].ToString();
string b = "产品:" + share["Proct"].ToString();
string c = "主板序列号:" + share["SerialNumber"].ToString();
}

//获取IP地址
using System.Management;
string st = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
//st=mo["IpAddress"].ToString();
System.Array ar;
ar = (System.Array)(mo.Properties["IpAddress"].Value);
st = ar.GetValue(0).ToString();
String ipadd = st;
break;
}
}

//获取进程详细信息
using System.Diagnostics;
string s = "";
System.Int32 processid;
Process process;
//Retrieve the additional information about a specific process
processid = Int32.Parse(this.textBox1.Text);
process = System.Diagnostics.Process.GetProcessById(processid);
s = s + "该进程的总体优先级类别:" + Convert.ToString(process.PriorityClass) + " \r\n";
s = s + "由该进程打开的句柄数:" + process.HandleCount + "\r\n";
s = s + "该进程的主窗口标题:" + process.MainWindowTitle + "\r\n";
s = s + " 该进程允许的最小工作集大小:" + process.MinWorkingSet.ToString() + " \r\n";
s = s + "该进程允许的最大工作集大小:" + process.MaxWorkingSet.ToString() + " \r\n";
s = s + "该进程的分页内存大小:" + process.PagedMemorySize + "\r\n";
s = s + "该进程的峰值分页内存大小:" + process.PeakPagedMemorySize + "\r\n";
System.Windows.Forms.MessageBox.Show(s);
为了避免异常崩溃 建议放在 TRY 里运行

//获取系统的启动日期和安装日期.
System.Management.ObjectQuery MyQuery=new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
System.Management.ManagementScope MyScope=new ManagementScope();
ManagementObjectSearcher MySearch=new ManagementObjectSearcher(MyScope,MyQuery);
ManagementObjectCollection MyCollection=MySearch.Get();
string StrInfo="";
foreach(ManagementObject MyObject in MyCollection)
{
StrInfo=MyObject.GetText(TextFormat.Mof);
}
string InstallDate=StrInfo.Substring(StrInfo.LastIndexOf("InstallDate")+15,14);
string LastBootUpTime=StrInfo.Substring(StrInfo.LastIndexOf("LastBootUpTime")+18,14);
string a =InstallDate;
string b =LastBootUpTime;追问你的内存厂商得不到吧?

热心网友 时间:2023-10-24 23:58

用WMI实现
可以去搜一下相关的操作方法,不是很难。
只要调用一个API函数就能获得
以下源码来着网络,本人不拥有该源码的任何权利;且不愿承担刊登该源码的任何责任;如果我的行为侵犯了你的利益,请给我通知,我会第一时间维护你的权益;

c# 获取系统基本信息
//cpu的编号
using System.Management;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
String strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
this.label1.Text = strCpuID;
break;
}

//获取CPU基本信息
using System.Runtime.InteropServices;
[DllImport("kernel32 ")]
public static extern void GetSystemInfo(ref CPU_INFO cpuinfo);

//定义CPU的信息结构
[StructLayout(LayoutKind.Sequential)]
public struct CPU_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}

private void Form1_Load(object sender, EventArgs e)
{
//调用GetSystemInfo函数获取CPU的相关信息
CPU_INFO CpuInfo;
CpuInfo = new CPU_INFO();
GetSystemInfo(ref CpuInfo);
string a = "本计算机中有 " + CpuInfo.dwNumberOfProcessors.ToString()+ "个CPU ";
string b = "CPU的类型为 " + CpuInfo.dwProcessorType.ToString();
string c = "CPU等级为 " + CpuInfo.dwProcessorLevel.ToString();
string d = "CPU的OEM ID为 " + CpuInfo.dwOemId.ToString();
string e = "CPU中的页面大小为 " + CpuInfo.dwPageSize.ToString();
}

//获取物理内存
using System.Management;//注意需要引用
string st = "";
ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
st = mo["TotalPhysicalMemory"].ToString();
}

//显示卡信息
ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\CIMV2", "SELECT * FROM Win32_VideoController");
foreach (ManagementObject info in searcher.Get())
{
string a = "适配器兼容性 "+ info["AdapterCompatibility"].ToString();
string b = "适配器类型 "+ info["AdapterDACType"].ToString();
string c = "视频模式描述"+info["VideoModeDescription"].ToString();
string d = "字幕"+info["Caption"].ToString();
string e = "目前比特每像素"+info["CurrentBitsPerPixel"].ToString();
string f = "目前的水平分辨率"+info["CurrentHorizontalResolution"].ToString();
string g = "视频处理器"+info["VideoProcessor"].ToString();
string h = "最大刷新率" + info["MaxRefreshRate"].ToString();
string i = "设备ID" + info["DeviceID"].ToString();
string j = "描述" + info["Description"].ToString();
}

//获取分区信息
using System.Management;
private void button1_Click(object sender, EventArgs e)
{
WqlObjectQuery wmiquery = new WqlObjectQuery("SELECT * FROM Win32_LogicalDisk WHERE DeviceID = 'e:'");
ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery);
foreach (ManagementObject mobj in wmifind.Get())
{
string a = ("磁盘类型: " + mobj["Description"].ToString());
string b = ("分区类型: " + mobj["FileSystem"].ToString());
string c = ("可用空间: " + mobj["FreeSpace"].ToString());
string d = ("实际大小: " + mobj["Size"].ToString());
}
}

//获取主板信息
using System.Management;
ManagementObjectSearcher my = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
foreach (ManagementObject share in my.Get())
{
string a = "主板制造商:" + share["Manufacturer"].ToString();
string b = "产品:" + share["Proct"].ToString();
string c = "主板序列号:" + share["SerialNumber"].ToString();
}

//获取IP地址
using System.Management;
string st = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
//st=mo["IpAddress"].ToString();
System.Array ar;
ar = (System.Array)(mo.Properties["IpAddress"].Value);
st = ar.GetValue(0).ToString();
String ipadd = st;
break;
}
}

//获取进程详细信息
using System.Diagnostics;
string s = "";
System.Int32 processid;
Process process;
//Retrieve the additional information about a specific process
processid = Int32.Parse(this.textBox1.Text);
process = System.Diagnostics.Process.GetProcessById(processid);
s = s + "该进程的总体优先级类别:" + Convert.ToString(process.PriorityClass) + " \r\n";
s = s + "由该进程打开的句柄数:" + process.HandleCount + "\r\n";
s = s + "该进程的主窗口标题:" + process.MainWindowTitle + "\r\n";
s = s + " 该进程允许的最小工作集大小:" + process.MinWorkingSet.ToString() + " \r\n";
s = s + "该进程允许的最大工作集大小:" + process.MaxWorkingSet.ToString() + " \r\n";
s = s + "该进程的分页内存大小:" + process.PagedMemorySize + "\r\n";
s = s + "该进程的峰值分页内存大小:" + process.PeakPagedMemorySize + "\r\n";
System.Windows.Forms.MessageBox.Show(s);
为了避免异常崩溃 建议放在 TRY 里运行

//获取系统的启动日期和安装日期.
System.Management.ObjectQuery MyQuery=new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
System.Management.ManagementScope MyScope=new ManagementScope();
ManagementObjectSearcher MySearch=new ManagementObjectSearcher(MyScope,MyQuery);
ManagementObjectCollection MyCollection=MySearch.Get();
string StrInfo="";
foreach(ManagementObject MyObject in MyCollection)
{
StrInfo=MyObject.GetText(TextFormat.Mof);
}
string InstallDate=StrInfo.Substring(StrInfo.LastIndexOf("InstallDate")+15,14);
string LastBootUpTime=StrInfo.Substring(StrInfo.LastIndexOf("LastBootUpTime")+18,14);
string a =InstallDate;
string b =LastBootUpTime;

热心网友 时间:2023-10-24 23:58

用WMI实现
可以去搜一下相关的操作方法,不是很难。
只要调用一个API函数就能获得

热心网友 时间:2023-10-24 23:59

我靠,怎么就没一个回答哇,伤心了
怎么取得硬盘和内存的类型和厂商? C#语言编写,写重点代码。简洁要...

string a = ("磁盘类型: " + mobj["Description"].ToString());string b = ("分区类型: " + mobj["FileSystem"].ToString());string c = ("可用空间: " + mobj["FreeSpace"].ToString());string d = ("实际大小: " + mobj["Size"].ToString());...

C# 怎么提取各种物理序列号?(CPU、硬盘、显卡等)

第一步:请先在右侧的资源管理器,引用 那里,添加.Net引用,System.Management,这一步是必须的,否则会提示类有错误,很多新手在百度或者其它网站上查找的资料,忽略了这一步无法成功,以为是代码错误,引用System.Management之后,基本上网上的代码都差不多一样,都可以使用的。。第二步:然后在程序中...

u盘如何做成系统光盘一样?能装系统、分区、硬盘检测以及修复等功能,就...

(2)一个存储容量大于4G的usb设备(U盘或者移动硬盘)(3)Windows10镜像 (4)制作U盘启动的工具,比较常见比如UltraISO 操作步骤:1 .下载镜像 先是声明和许可条款,点【接受】是这一台机器安装还是另一台机器,选择【为另一台电脑创建安装介质】选择语言、版本等 可直接选【U盘】,可直接下载安装...

c# 语言编写硬盘文件搜索程序源代码

.版本 2 .子程序 搜索文件, , , 递归寻找文件 .参数 寻找目录, 文本型 .参数 关键字, 文本型, , 如 image*.pak .参数 结果数组, 文本型, 参考 数组, 获取文件名添加到数组 .参数 搜索子目录, 逻辑型, 可空, 默认真 .参数 搜索个数, 整数型, 可空, 欲搜索文件最多个数,默认无限制 ...

关于编程的学习,已经学习C,下一步想学另一种语言。。C++. JAVA. VB...

不过,我还是蛮喜欢黑框框的,一个窗口多麻烦啊,键盘的速度总要比鼠标快吧……至于文件,实在是不难的,可能是书上因为不难,写的也不多吧,c++ primer里面对文件操作写的很详细的。JAVA的效率比c/c++低点,不过好用,开发的速度快,有现成的代码好用,你学了c++,再去学java,实在不难的(差不...

...能玩各种大型单机游戏,比如极品14,GTA4等,CPU和显卡要好,谢谢...

内存容量:4GB DDR3硬盘容量:1TB 5400转显卡芯片:NVIDIA GeForce GT 635M操作系统:Linux摄像头:集成摄像头光驱类型:DVD刻录机 支持超级DVD刻录无线网卡:Intel 1000 BGN笔记本重量:2.2Kg蓝牙:支持,蓝牙4.0模块希望可以帮到您 本回答被网友采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 Cobar164 2011...

修复硬盘用CHKDSK后提示“文件系统的类型是raw,CHKDSK 无法供RAW驱...

一、遇到任务栏右下角提示有文件损坏要求运行chkdsk修复的情况 比如我的机器提示C:\Documents and Settings\pifd\Local Settings\Application Data\Microsoft\Outlook\test.mxl这个文件损坏,这种情况的产生有三种可能:1、非正常关机 2、病毒造成的破坏 3、硬盘问题(经常频繁的出现不同的文件损坏就可以判定...

100分问题!!!C#里要用WMI获取系统信息,请问一个有几个ManagementClass?分...

Win32_PhysicalMemory, // 物理内存条 Win32_Keyboard, // 键盘 Win32_PointingDevice, // 点输入设备,包括鼠标。 Win32_FloppyDrive, // 软盘驱动器 Win32_DiskDrive, // 硬盘驱动器 Win32_CDROMDrive, // 光盘驱动器 Win32_BaseBoard, // 主板 Win32_BIOS, // BIOS 芯片 Win32_ParallelPort, // ...

求一份软件测试的报告,大体上要写什么,格式怎么样的。求救。我做的是...

c 硬件配置:P4CPU/2.0G,内存256M,硬盘1Gd 软件配置:Wondows98,e 被测软件版本号:V1.0,V1.01,V1.02f 所有测试相关活动的日期和时间、测试操作人员等记录见软件测试记录文档。4 测试结果在两个阶段测试过程中共发现软件缺陷20个,经软件开发人员确认的缺陷为20个,经过改正的代码消除了所有以确认的软件缺陷并通过了...

安装Python要多少硬盘空间?

现在电脑的各种配置均可以用来学习python,老的赛扬、奔腾4256m内存或者512内存即可,20g以上硬盘。一般来说能跑动winxp或者linux就可以。最简单的是使用树莓派。单纯学Python的话普通电脑就ok了,机器学习几大基础算法都ok,学深度学习的话台式无脑上1080ti或者泰坦xp,其他配置留下升级空间。笔记本的话要...

硬盘的厂商 硬盘厂商比较大的有 硬盘厂商排名 硬盘生产厂商有哪些 全球三大硬盘厂商 固态硬盘好还是机械硬盘好 内存厂商 中国内存厂商 内存厂商排名
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黄山区中通快递派件时间 今天早上五点的中通快递从合肥中转部运往黄山市最快什么时候到达目的地... 从郑州往安徽黄山要寄一件衣服,用什么方式好呢?还有就是如果用快递的... 从徐州出发2天一夜自驾游哪里好_徐州周边2日自驾游!合适的推荐下_百度... 喝茶时加糖有助缓解工作压力 喝茶 可以放糖吗? 喝茶时到底能不能在茶里面加“糖”? 喝茶加糖不营养?茶应该这么喝 solidworks flow simulation 问题,请各位大侠解答,谢谢! 三十首正能量歌曲有哪些 对话框提示错误"WmiQuery1:Field 'MACAddress' not found" C#如何获取磁盘空间大小 男人问女人,你是处女啊,是什么意思 柜台申请的信用卡可以叫别人到网点代收吗 信用卡可以让代收点帮签收吗? 请问寄过来的信用卡,要用本人身份证才能签收吗,别人可以代收吗 工商银行行用卡不需要本人签收,可以放菜鸟驿站吗? 电商大数据服务是什么啊?怎么做好? 企业人力资源管理师的*考试教材里面,介绍劳动定额修订的计算公式,我怎么觉得很绕很难懂呢,求解释。 cjx1-32交流接触器配液位继电器c61f-Gp怎么接线 工日消耗量是什么? 游戏:龙珠Z-真武道会2.(我们有psp游戏机) 劳动定额学计算题 这个是什么电气符号? 劳动定额的主要方法是什么? c61FGP液位继电器自动手动控制电路图 c61F一GP液位继电器进水型可不可当排水型 大数据对信息服务业的发展趋势的影响? 液位继电器C61F-GP必须做3C认证吗 求C61F-GP液位继电器接线图(实物图) 100分问题!!!C#里要用WMI获取系统信息,请问一个有几个ManagementClass?分... 问女友说你是处女么,女友回答“你什么意思”是什么意思呢? 农行信用卡审批下来,人不在当地,可以叫人代收吗 C#如何获取一个正在运行的EXE中的参数值 信用卡可不可以把身份证给朋友帮自己代收 如何在C#中使用WMI 实现远程查询和共享 C#如何实现获取电脑硬件配置信息 人在外地招商信用卡办下来了但办公室没人能叫人代收吗 C# 如何判断是否有移动硬盘 电脑 出现 WMI 错误 如何用C#程序安装虚拟网卡 泪求代码 如何编写一个查看文件夹大小的VBS脚本 如何给WMI那个文件夹添加个SYSTEM的用户并赋予其完全控制的权限 如何用API或WMI取可用的摄像头 VB.Net (VB2010)怎么使用WMI来获取CPU型号? 营口火车站咨询电话 谁知道营口大石桥火车站的电话?? 熊岳城火车站咨询电话 041710102566是哪的电话? 大石桥客运站的电话是多少?