dps*_*123 21 c# operating-system system processor
有没有办法通过使用c#脚本获取以下信息.
PC名称服务标签CPU类型c:\驱动器,已安装RAM,操作系统名称,OS产品密钥,Office版本和Office产品密钥的CPU速度大小.
谢谢.
dot*_*emy 16
WMI正是您所需要的.
http://www.codeproject.com/KB/cs/EverythingInWmi02.aspx
让我添加第3部分的链接,它通过WMI专注于硬件
http://www.codeproject.com/KB/cs/EverythingInWmi03.aspx
MSDN也是WMI范围的重要资源......
http://msdn.microsoft.com/en-us/library/aa394554(v=vs.85).aspx
小智 12
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management; //This namespace is used to work with WMI classes. For using this namespace add reference of System.Management.dll .
using Microsoft.Win32; //This namespace is used to work with Registry editor.
namespace OperatingSystemInfo1
{
class TestProgram
{
static void Main(string[] args)
{
SystemInfo si = new SystemInfo(); //Create an object of SystemInfo class.
si.getOperatingSystemInfo(); //Call get operating system info method which will display operating system information.
si.getProcessorInfo(); //Call get processor info method which will display processor info.
Console.ReadLine(); //Wait for user to accept input key.
}
}
public class SystemInfo
{
public void getOperatingSystemInfo()
{
Console.WriteLine("Displaying operating system info....\n");
//Create an object of ManagementObjectSearcher class and pass query as parameter.
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_OperatingSystem");
foreach (ManagementObject managementObject in mos.Get())
{
if (managementObject["Caption"] != null)
{
Console.WriteLine("Operating System Name : " + managementObject["Caption"].ToString()); //Display operating system caption
}
if (managementObject["OSArchitecture"] != null)
{
Console.WriteLine("Operating System Architecture : " + managementObject["OSArchitecture"].ToString()); //Display operating system architecture.
}
if (managementObject["CSDVersion"] != null)
{
Console.WriteLine("Operating System Service Pack : " + managementObject["CSDVersion"].ToString()); //Display operating system version.
}
}
}
public void getProcessorInfo()
{
Console.WriteLine("\n\nDisplaying Processor Name....");
RegistryKey processor_name = Registry.LocalMachine.OpenSubKey(@"Hardware\Description\System\CentralProcessor\0", RegistryKeyPermissionCheck.ReadSubTree); //This registry entry contains entry for processor info.
if (processor_name != null)
{
if (processor_name.GetValue("ProcessorNameString") != null)
{
Console.WriteLine(processor_name.GetValue("ProcessorNameString")); //Display processor ingo.
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59610 次 |
| 最近记录: |