//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["Product"].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;
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()