问答文章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

我来回答

2个回答

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

我不知道你要的系统信息到底有哪些?有几个ManagementClass要看你要得到具体哪些具体信息,比如要想获得盘符就只需一个ManagementClass
这里是一个范例,或许对你有所帮助(附源码)http://dl3.9hao.com/20060619/_2/winsys/othersys/WMI%B5%C4%D2%BB%B8%F6%CA%B5%CF%D6.htm
以下是相关资料
http://ke.baidu.com/view/442461.htm
http://www.newasp.net/tech/net/8540.html
http://www.ahaoz.com/Article/203/205/545/2005/20051120102957.html

一:WMI基础知识
====================================================================================
WMI 最初于1998年作为一个附加组件与 Windows NT 4.0 Service Pack 4 一起发行,是内置在Windows 2000、 Windows XP和Windows Server 2003 系列操作系统中核心的管理支持技术。基于由 Distributed Management Task Force (DMTF) 所监督的业界标准,WMI是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源。大多用户习惯于使用众多的图形化管理工具来管理Windows资源,在WMI之前这些工具都是通过 Win32应用程序编程接口(Application ProgrammingInterfaces,API)来访问和管理Windows资源的。只要你熟悉系统编程你就知道API有多么重要。但是大多数脚本语言都不能直接调用Win32 API,WMI的出现使得系统管理员可以通过一种简便的方法即利用常见的脚本语言实现常用的系统管理任务。
利用WMI需要和脚本如WSH和VBScript结合起来,可以实现的功能大家可以看微软的MSDN文档。
在编写我们自己的脚本之前,我们需要对WMI的体系结构有个基本的了解。如图一:(1.gif)
在WMI 体系结构中我们最需要关心的就是WMI提供程序,WMI提供程序在WMI和托管资源之间扮演着中间方的角色。提供程序代表使用者应用程序和脚本从WMI托管资源请求信息,并发送指令到WMI托管资源。下面是我们利用WMI编程经常要用到的WMI内置提供程序清单,以供编程参考。
1.Active Directory提供程序
链接库文件:dsprov.dll
命名空间:root\directory\ldap
作用:将Active Directory 对象映射到 WMI。

2.事件日志提供程序
链接库文件:ntevt.dll
命名空间:root\cimv2
作用:管理 Windows 事件日志,例如,读取、备份、清除、复制、删除、监视、重命名、压缩、解压缩和更改事件日志设置。

3.注册表提供程序
链接库文件:stdprov.dll
命名空间:root\default
作用:读取、写入、枚举、监视、创建、删除注册表项和值。

4.Win32 提供程序
链接库文件:cimwin32.dll
命名空间:root\cimv2
作用:提供关于计算机、磁盘、外围设备、文件、文件夹、文件系统、网络组件、操作系统、打印机、进程、安全性、服务、共享、SAM 用户及组,以及更多资源的信息。

5.Windows 安装程序提供程序
链接库文件:msiprov.dll
命名空间:root\cimv2
作用:提供对已安装软件信息的访问。

从上面可以看出在WMI中类(即内置提供程序)被分组到命名空间中,命名空间可以看成是一个组。比如,命名空间 root\cimv2 包括大部分表示通常与计算机和操作系统相关联的资源的类。在使用类的时候要说明类所在的命名空间。类由属性和方法构成。这是可视化编程中的两个重要的概念。属性描述的是对象的状态,方法是对象可以执行的操作。
理论知识学起来很枯燥,下面让我们边分析高手的脚本源码边进行理论知识的巩固吧。

二:解析RTCS.VBS主要代码
=====================================================================================
有时候阅读别人的源码未尝不是一个好而且快捷的办法,下面就让我们来认真学习zzzEVAzzz编写的一个可以远程开启telnet服务的脚本RTCS.VBS。
该脚本可以直接访问目标的WMI,不依赖于目标的ipc$,实现远程开启/关闭目标telnet服务,为了方便大家学习我抽出了最主要的代码,具体分析如下:
set objlocator=createobject("wbemscripting.swbemlocator")
//创建WbemScripting.SwbemLocator对象(脚本接口)。
//可以看出WMI其实就是把Com组件WbemScripting.SWbemLocator封装起来罢了。
set objswbemservices=objlocator.connectserver(ipaddress,"root/default",username,password)
//通过ConnectServer函数请求连接到WMI控件服务上,root/default为命名空间。
set objinstance=objswbemservices.get("stdregprov")
//建立访问注册表的实例。
set objmethod=objinstance.methods_("SetDWORDvalue")
//建立可以更改注册表键值的方法。
set objinparam=objmethod.inparameters.spawninstance_()
//MethodData.InParameters用于获取或设置方法的输入参数。这里用spawninstance方法为它建立一个子实例,下面就可以将参数值赋予这个对象的属性。
objinparam.hdefkey=&h80000002
//hdefkey表示根键,根键的十六制值如下:
//HKEY_CLASSES_ROOT (&H80000000)
//HKEY_CURRENT_USER (&H80000001)
//HKEY_LOCAL_MACHINE (&H80000002)
//HKEY_USERS (&H80000003)
//HKEY_CURRENT_CONFIG (&H80000005)
objinparam.ssubkeyname="SOFTWARE\Microsoft\TelnetServer\1.0"
//ssubkeyname表示子键。
objinparam.svaluename="NTLM"
//svaluename表示属性名。
objinparam.uvalue=ntlm
//uvalue表示键值。
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)
//利用execmethod执行方法,这里才真正改写了注册表。

//下面是修改telnet服务的TelnetPort值,原理同上。
objinparam.svaluename="TelnetPort"
objinparam.uvalue=port
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)

修改telnet的注册表部分就完成了,将NTLM和TelnetPort进行了修改,要是对方的telnet服务没有开启呢?下面就需要根据telnet的具体情况,来启动telnet服务,继续看代码。

//首先查询远程主机上tlntsvr的启动方式。
set objswbemservices=objlocator.connectserver(ipaddress,"root\cimv2",username,password)
//win32_service类在root\cimv2命名空间中,作用没忘记吧?快看基础知识呵。
set colinstances=objswbemservices.execquery("select * from win32_service where name='tlntsvr'")
//注意:查询都是通过枚举来实现的。
for each objinstance in colinstances
if objinstance.startmode="Disabled" then
set objmethod=objinstance.methods_("changestartmode")
//创建changestartmode方法来改变tlntsvr的启动方式。
set objinparam=objmethod.inparameters.spawninstance_()
objinparam.startmode="Manual"
//将启动方式改为手动方式。
set objoutparam=objinstance.execmethod_("changestartmode",objinparam)
end if

//下面启动我们的telnet服务。这里zzzEVAzzz的思路好象有点不对,也不知道是不是他的疏忽,我个人认为当telnet服务已经启动时不应该用stopservice方法停止服务。
if objinstance.started=true then
intstatus=objinstance.stopservice()
//stopservice是WMI中用于停止服务实例的服务的方法。
else
intstatus=objinstance.startservice()
end if
next

三:手把手教你编写WMI版本的ROTS.vbs来开启3389
=====================================================================================
zzzVEAzzz 的脚本就分析到这里吧,怎么样?很EASY吧?!我相信大家现在一定蠢蠢欲动了?:)好,一起来写一个什么程序呢?ROTS.vbs我想大家一定都用过吧?什么东东啊?我……砸!大家应该知道这个ROTS是有它的使用条件的,不仅要有管理员帐号,还要允许进行ipc连接,在这个到处都是墙的年代,ipc 早就不实用了,而且ROTS.vbs早就被查杀了,那该怎么办?当然是自己动手了。能不能实现ROTS的一样的远程开启3389的功能而不受ipc的*呢?答案自从我写了这篇文章后成为肯定的,哈哈,吹吹了。
当然我们也是要求系统至少是2000server及以上的,最近看到有个软件可以给2000pro开3389,由于比较忙,也没怎么去理它,这里我们暂且不说它,知道了原理一样好办。
开启3389有个注册表导入的方法,其它一些软件的开法,我想也大多是通过修改注册表实现的。这个方法需要导入如下的注册表:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache]
"Enabled"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"ShutdownWithoutLogon"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"EnableAdminTSRemote"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"TSEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD]
"Start"=dword:00000002
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]
"Start"=dword:00000002
[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Hotkey"="1"

原理知道了就没什么难的了,先理清我们的思路,我们的主要任务是更改注册表里的键值。首先是创建WMI对象,然后是连接到远程WMI服务器,最后修改注册表键值。
部分主要代码如下(完整的代码和详细的注释请看附带的软件包)

on error resume next
//防止出现意外。
set outstreem=wscript.stdout
if (lcase(right(wscript.fullname,11))="wscript.exe") then
set objShell=wscript.createObject("wscript.shell")
objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
//cmd后带/K参数表示执行字符串指定的命令。
wscript.quit
end if
//进行简单的检查。
if wscript.arguments.count<3 then
usage()
wscript.echo "Not enough parameters."
wscript.quit
end if
//取出参数,分别赋予几个变量。
ipaddress=wscript.arguments(0)
username=wscript.arguments(1)
password=wscript.arguments(2)
option=wscript.arguments(3)
usage()

下面是核心代码,也是实现远程修改注册表的功能,我这里给出另外一种实现的方式,对照前面的代码很容易理解,我就只作简单的解释了。详细情况可以参阅MSDN文档中关于StdRegProv类的说明。
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/stdregprov.asp)

const HKEY_LOCAL_MACHINE = &H80000002
const HKEY_USERS=&H80000003
strComputer = ipaddress

//获取wmi对象
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")

strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
strValueName = "Enabled"
strValue=0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
strValueName = "ShutdownWithoutLogon"
strValue=0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SOFTWARE\Policies\Microsoft\Windows\Installer"
strValueName = "EnableAdminTSRemote"
strValue=1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "TSEnabled"
strValue=1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SYSTEM\CurrentControlSet\Services\TermDD"
strValueName = "Start"
strValue=2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = "SYSTEM\CurrentControlSet\Services\TermService"
strValueName = "Start"
strValue=2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

strKeyPath = ".DEFAULT\Keyboard Layout\Toggle"
strValueName = "Hotkey"
strValue=1
oReg.SetDWORDValue HKEY_USERS,strKeyPath,strValueName,strValue

//下面实现重启远程机器
if option="/r" then
outstreem.write "Now, rebooting target...."
strwmiquery="select * from win32_operatingsystem where primary='true'"
set colinstances=objswbemservices.execquery(strwmiquery)
for each objinstance in colinstances
objinstance.win32shutdown(2)
end if
outstreem.write "Ok, rebooted the target."

//简单的用法说明的函数。
function usage()
wscript.echo string(60,"=")
wscript.echo "Wmi3389 v1.0.0"
wscript.echo "No ipc Open 3389, code written by pye."
wscript.echo "Welcome to visite www.coon.cn or Mail to grandh4408@yahoo.com.cn"
wscript.echo "Usage:"
wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [/r]"
wscript.echo "/r reboot the target this is optional"
wscript.echo "It use WMI to Open 3389 of target server."
wscript.echo string(60,"=")&vbcrlf
end function
将上面的代码复制带记事本里,保存为Wmi3389.vbs。然后在CMD里执行:
cscript Wmi3389.vbs ipaddress administrator password [/r]
看看是不是和ROTS.vbs有一样的效果啊?大家赶快实践实践吧。

四:最后的唠叨
=====================================================================================
大家可以看出WMI的功能是很强大的,这里要感谢MicroSoft了,它是永远都不会让我们失望的。WMI对象允许通过VB,VBA,WSH, VBScript, JScript,ASP,或是支持自动对象的其它环境,对WMI进行完全访问。在参考查询体系中加入 WMI Scripting V1.1 Library ,则Visual Basic或是VBA方案就可以访问这些对象了。支持ActiveX程序的操作平台可以通过对象类的代号,或是类的名称创建这些对象,这些对象的前缀是WbemScripting,如 WbemScripting.SwbemLocator。所以大家有兴趣的完全可以利用VB,WSH,VBScript, JScript,ASP等编写更多的利用WMI的黑客程序。

----------------------------------------------------
最后给你附上一段程序
/* **********************************************
* Rainsoft Development Library for Microsoft.NET
*
* Copyright (c) 2004,2005 RainTrail Studio.China
* All Rigths Reserved!
* Author: Q.yuhen (qyuhen@hotmail.com)
********************************************** */
using System;
using System.Management;
using System.Collections;
using System.Collections.Specialized;
using System.Text;

namespace Rainsoft.Management
{
#region WMIPath
public enum WMIPath
{
// 硬件
Win32_Processor, // CPU 处理器
Win32_PhysicalMemory, // 物理内存条
Win32_Keyboard, // 键盘
Win32_PointingDevice, // 点输入设备,包括鼠标。
Win32_FloppyDrive, // 软盘驱动器
Win32_DiskDrive, // 硬盘驱动器
Win32_CDROMDrive, // 光盘驱动器
Win32_BaseBoard, // 主板
Win32_BIOS, // BIOS 芯片
Win32_ParallelPort, // 并口
Win32_SerialPort, // 串口
Win32_SerialPortConfiguration, // 串口配置
Win32_SoundDevice, // 多媒体设置,一般指声卡。
Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP)
Win32_USBController, // USB 控制器
Win32_NetworkAdapter, // 网络适配器
Win32_NetworkAdapterConfiguration, // 网络适配器设置
Win32_Printer, // 打印机
Win32_PrinterConfiguration, // 打印机设置
Win32_PrintJob, // 打印机任务
Win32_TCPIPPrinterPort, // 打印机端口
Win32_POTSModem, // MODEM
Win32_POTSModemToSerialPort, // MODEM 端口
Win32_DesktopMonitor, // 显示器
Win32_DisplayConfiguration, // 显卡
Win32_DisplayControllerConfiguration, // 显卡设置
Win32_VideoController, // 显卡细节。
Win32_VideoSettings, // 显卡支持的显示模式。

// 操作系统
Win32_TimeZone, // 时区
Win32_SystemDriver, // 驱动程序
Win32_DiskPartition, // 磁盘分区
Win32_LogicalDisk, // 逻辑磁盘
Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。
Win32_LogicalMemoryConfiguration, // 逻辑内存配置
Win32_PageFile, // 系统页文件信息
Win32_PageFileSetting, // 页文件设置
Win32_BootConfiguration, // 系统启动配置
Win32_ComputerSystem, // 计算机信息简要
Win32_OperatingSystem, // 操作系统信息
Win32_StartupCommand, // 系统自动启动程序
Win32_Service, // 系统安装的服务
Win32_Group, // 系统管理组
Win32_GroupUser, // 系统组帐号
Win32_UserAccount, // 用户帐号
Win32_Process, // 系统进程
Win32_Thread, // 系统线程
Win32_Share, // 共享
Win32_NetworkClient, // 已安装的网络客户端
Win32_NetworkProtocol, // 已安装的网络协议
}
#endregion

/// <summary>
/// 获取系统信息
/// </summary>
/// <example>
/// <code>
/// WMI w = new WMI(WMIPath.Win32_NetworkAdapterConfiguration);
/// for (int i = 0; i < w.Count; i ++)
/// {
/// if ((bool)w[i, "IPEnabled"])
/// {
/// Console.WriteLine("Caption:{0}", w[i, "Caption"]);
/// Console.WriteLine("MAC Address:{0}", w[i, "MACAddress"]);
/// }
/// }
/// </code>
/// </example>
public sealed class WMI
{
private ArrayList mocs;
private StringDictionary names; // 用来存储属性名,便于忽略大小写查询正确名称。

/// <summary>
/// 信息集合数量
/// </summary>
public int Count
{
get { return mocs.Count; }
}

/// <summary>
/// 获取指定属性值,注意某些结果可能是数组。
/// </summary>
public object this[int index, string propertyName]
{
get
{
try
{
string trueName = names[propertyName.Trim()]; // 以此可不区分大小写获得正确的属性名称。
Hashtable h = (Hashtable)mocs[index];
return h[trueName];
}
catch
{
return null;
}
}
}

/// <summary>
/// 返回所有属性名称。
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public string[] PropertyNames(int index)
{
try
{
Hashtable h = (Hashtable)mocs[index];
string[] result = new string[h.Keys.Count];

h.Keys.CopyTo(result, 0);

Array.Sort(result);
return result;
}
catch
{
return null;
}
}

/// <summary>
/// 返回测试信息。
/// </summary>
/// <returns></returns>
public string Test()
{
try
{
StringBuilder result = new StringBuilder(1000);

for (int i = 0; i < Count; i++)
{
int j = 0;
foreach(string s in PropertyNames(i))
{
result.Append(string.Format("{0}:{1}={2}\n", ++j, s, this[i, s]));

if (this[i, s] is Array)
{
Array v1 = this[i, s] as Array;
for (int x = 0; x < v1.Length; x++)
{
result.Append("\t" + v1.GetValue(x) + "\n");
}
}
}
result.Append("======WMI=======\n");
}

return result.ToString();
}
catch
{
return string.Empty;
}
}

/// <summary>
/// 构造函数
/// </summary>
/// <param name="path"></param>
public WMI(string path)
{
names = new StringDictionary();
mocs = new ArrayList();

try
{
ManagementClass cimobject = new ManagementClass(path);
ManagementObjectCollection moc = cimobject.GetInstances();

bool ok = false;
foreach(ManagementObject mo in moc)
{
Hashtable o = new Hashtable();
mocs.Add(o);

foreach (PropertyData p in mo.Properties)
{
o.Add(p.Name, p.Value);
if (!ok) names.Add(p.Name, p.Name);
}

ok = true;
mo.Dispose();
}
moc.Dispose();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
}

/// <summary>
/// 构造函数
/// </summary>
/// <param name="path"></param>
public WMI(WMIPath path): this(path.ToString())
{
}
}
}

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

我的电脑--右键--属性----查看配置信息
用c#来获得电脑使用中的网卡硬件的MAC地址。

1、如何判断一个网卡是否为真实网卡(即物理网卡),因为可能还有虚拟网卡,比如装了某个虚拟机;2、如何判断一个网卡有没有连接(连接不代表就能上Internet)。注:这里的网卡确切地应该叫网络适配器(Network Adapter)。用C#获取硬件信息最方便的莫过于WMI了,与网卡相关的信息就在Win32_NetworkAdapter这...

我想用C# WMI查询电脑的显卡信息,谁能给我一个完整的程序啊,谢谢各位大 ...

1.新建一个Win应用程序 2.添加System.Management.dll引用,并引入该名称空间 2.添加一个Button和ListView,并设置相应属性 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Managemen...

如何使用C#给电脑上多个网卡分别配置不同的多个IP?

可以通过一个配置文件,调用的方式。如:[1]ID=Netxxxx NAME=zzz [2]ID=Netxxxx NAME=xxx网管 [3]ID=Netxxxx NAME=xxx网

C#怎么可以获得在“我的电脑”那里各个盘的名字呢?

} allDrives数组中含有电脑中所有硬盘的对象,你可以用0,1,2下标访问其中的一个盘,选择你需要的硬盘。每个盘对象中含有多个属性信息,其中 d.VolumeLabel就是你要的卷标信息,你试一下这个程序就知道了。

c#获取电脑连接设备数量

如图,自动获取当前电脑连接的所有设备的IP比如 电脑IP 10.0.0.200连接的设备1 IP为192.168.31.125连接的设备2 IP为10.0.0.100连接的设备3 IP为10.0.0.223 端口连接数:public static int PortTcpConnection(int port){IPGlobalProperties properti = IPGlobalProperties.GetIPGlobalProperties();...

用c#如何获取局域网内所有电脑的ip地址和mac地址

下面的5行代码完成了从局域网中找出所有的机器 foreach(DirectoryEntry domain in root.Children){ lb_pcName.Items.Add("★★★"+domain.Name+"★★★");foreach(DirectoryEntry pc in domain.Children){ if(pc.Name!="Schema")//Schema是结束标记 lb_pcName.Items.Add(" "+pc.Name);} } ...

C# 获取SATA信息

要得到硬盘的物理序列号,可以通过WMI,也就是Win32_PhysicalMedia.SerialNumber。可惜的是Windows 98/ME的WMI并不支持这个类,访问时会出现异常。受陆麟的例子的启发,我们还可以通过S.M.A.R.T.接口,直接从RING3调用API DeviceIoControl()来获取硬盘信息,而不需要写VXD或者DRIVER。这样这个问题就解决了...

c#如何跨越网段获取MAC地址信息??

在C#编程中,要获取主机名和主机IP地址,是比较容易的.它提供的Dns类,可以轻松的取得主机名和IP地址.示例:string strHostName = Dns.GetHostName(); //得到本机的主机名 IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP string strAddr = ipEntry.AddressList[0].ToString();...

怎么用 c#监视CPU 和内存?

监控CPU信息可以使用C#里面的performance counter类,例如下面所示 var cpuPerformanceCounter = new PerformanceCounter();cpuPerformanceCounter.CategoryName = "Processor";cpuPerformanceCounter.CounterName = "% Processor Time";cpuPerformanceCounter.InstanceName = "_Total";cpuPerformanceCounter.NextValue();然...

c# 如何获取内存条的制造商,如金士顿

moe = mos.Get().GetEnumerator(); moe.MoveNext(); ///注意 ///Properties["Manufacturer"].Value 可能为Null,意味着没有厂商信息 Console.WriteLine(moe.Current.Properties["Manufacturer"].Value.ToString());

如何擦看电脑硬件配置 电脑硬件配置及价格 联想电脑硬件配置 怎么升级电脑硬件配置 台式电脑硬件配置清单 查询电脑硬件配置 怎么查询电脑硬件配置 电脑硬件配置清单表 电脑的硬件配置在哪看
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见父母有一方死亡的预兆 昨晚做梦梦见我的父母和丈夫都死了, 父母本来就去世很久了,并且他们一... 农产品流通与管理专业怎么样_就业方向_主要课程 鱿鱼须是海鲜吗 鱿鱼须有哪些挑选的小窍门 保密教育培训方案 下列各项业务中,应通过"固定资产清理”账户核算的有 pcr上岗证考完试会在什么时候公布 帮忙解一道会计题目 固定资产清理,不考虑税收,按题回答即可 pcr证书怎样考? 如何在C#中使用WMI 实现远程查询和共享 信用卡可不可以把身份证给朋友帮自己代收 C#如何获取一个正在运行的EXE中的参数值 农行信用卡审批下来,人不在当地,可以叫人代收吗 问女友说你是处女么,女友回答“你什么意思”是什么意思呢? 100分问题!!!C#里要用WMI获取系统信息,请问一个有几个ManagementClass?分... 怎么取得硬盘和内存的类型和厂商? C#语言编写,写重点代码。简洁要简洁,谢谢 对话框提示错误&quot;WmiQuery1:Field &#39;MACAddress&#39; not found&quot; C#如何获取磁盘空间大小 男人问女人,你是处女啊,是什么意思 柜台申请的信用卡可以叫别人到网点代收吗 信用卡可以让代收点帮签收吗? 请问寄过来的信用卡,要用本人身份证才能签收吗,别人可以代收吗 工商银行行用卡不需要本人签收,可以放菜鸟驿站吗? 电商大数据服务是什么啊?怎么做好? 企业人力资源管理师的*考试教材里面,介绍劳动定额修订的计算公式,我怎么觉得很绕很难懂呢,求解释。 cjx1-32交流接触器配液位继电器c61f-Gp怎么接线 工日消耗量是什么? 游戏:龙珠Z-真武道会2.(我们有psp游戏机) 劳动定额学计算题 人在外地招商信用卡办下来了但办公室没人能叫人代收吗 C# 如何判断是否有移动硬盘 电脑 出现 WMI 错误 如何用C#程序安装虚拟网卡 泪求代码 如何编写一个查看文件夹大小的VBS脚本 如何给WMI那个文件夹添加个SYSTEM的用户并赋予其完全控制的权限 如何用API或WMI取可用的摄像头 VB.Net (VB2010)怎么使用WMI来获取CPU型号? 营口火车站咨询电话 谁知道营口大石桥火车站的电话?? 熊岳城火车站咨询电话 041710102566是哪的电话? 大石桥客运站的电话是多少? 我想到营口具体该怎么走? 营口站的介绍 营口市长的热线电话是多少? 营口客车站电话号码 营口火车站都有哪几趟火车? 营口火车站现在一天有几趟火车时间是多少? 请问现在营口火车站(不是东站)还在正常运营吗?有自助取票机吗?