📄 systeminfocontrol.cs
字号:
//Status
updateStatus("Getting Computer Information");
//machine info
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_ComputerSystem");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("Computer System");
foreach ( ManagementObject mo in queryCollection)
{
//create new child node
createChildNode(nodeCollection, "Computer Manufacturer Name: " + mo["Manufacturer"]);
createChildNode(nodeCollection, "Computer Model: " + mo["model"]);
createChildNode(nodeCollection, "System Type: " + mo["SystemType"]);
createChildNode(nodeCollection, "Total Physical Memory: " + formatSize(Int64.Parse(mo["totalphysicalmemory"].ToString()), false));
createChildNode(nodeCollection, "Domain: " + mo["Domain"]);
createChildNode(nodeCollection, "User Name: " + mo["UserName"]);
}
//Status
updateStatus("Getting Processor Information");
this.Update();
//get processor info
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_processor");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("System Processor");
foreach ( ManagementObject mo in queryCollection)
{
//create new child node
createChildNode(nodeCollection, "Manufacturer: " + mo["Manufacturer"]);
createChildNode(nodeCollection, "Computer Processor: " + mo["Caption"]);
createChildNode(nodeCollection, "CPU Speed: " + formatSpeed(Int64.Parse(mo["MaxClockSpeed"].ToString())));
createChildNode(nodeCollection, "L2 Cache Size: " + formatSize(Int64.Parse(mo["L2CacheSize"].ToString()), false));
}
//Status
updateStatus("Getting Bios Information");
this.Update();
//Get Bios info
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_bios");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("System Bios");
foreach ( ManagementObject mo in queryCollection)
{
createChildNode(nodeCollection, "BIOS: " + mo["Caption"]);
createChildNode(nodeCollection, "BIOS Version: " + mo["version"]);
}
//Status
updateStatus("Getting Time Zone");
this.Update();
//Get Time Zone
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_timezone");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("System Time Zone");
foreach ( ManagementObject mo in queryCollection)
{
createChildNode(nodeCollection, "Time Zone: " + mo["Caption"]);
}
//Status
updateStatus("Getting Memory Configuration");
this.Update();
//Get memory configuration
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_LogicalMemoryConfiguration");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("Logical Memory Configuration");
foreach ( ManagementObject mo in queryCollection)
{
//create new child node
createChildNode(nodeCollection, "Total Page File Space: " + formatSize(Int64.Parse(mo["TotalPageFileSpace"].ToString()), true));
createChildNode(nodeCollection, "Total Virtual Memory: " + formatSize(Int64.Parse(mo["TotalVirtualMemory"].ToString()), true));
createChildNode(nodeCollection, "Total Physical Memory: " + formatSize(Int64.Parse(mo["TotalPhysicalMemory"].ToString()), true));
}
//Status
updateStatus("Getting Network Connection");
this.Update();
//Get Network connection
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkConnection");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("Network Connection");
foreach ( ManagementObject mo in queryCollection)
{
//create new child node
createChildNode(nodeCollection, "Name: " + mo["Name"]);
}
//Status
updateStatus("Getting Video Information");
this.Update();
//Get Video
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_VideoController");
query = new ManagementObjectSearcher(ms,oq);
queryCollection = query.Get();
//create parent
nodeCollection = createParentNode("Video Controller");
foreach ( ManagementObject mo in queryCollection)
{
//create new child node
createChildNode(nodeCollection, "Name: " + mo["Name"]);
createChildNode(nodeCollection, "Processor: " + mo["VideoProcessor"]);
createChildNode(nodeCollection, "Mode: " + mo["VideoModeDescription"]);
if (mo["AdapterRAM"] == null)
{
createChildNode(nodeCollection, "Video Ram: " + mo["AdapterRAM"]);
}
else
{
createChildNode(nodeCollection, "Video Ram: " + formatSize(Int64.Parse(mo["AdapterRAM"].ToString()), false));
}
createChildNode(nodeCollection, "PNP Device ID: " + mo["PNPDeviceID"]);
createChildNode(nodeCollection, "Status: " + mo["Status"]);
}
}
catch (Exception e)
{
MessageBox.Show("Error: " + e);
}
//Status
updateStatus("Ready");
this.Update();
//expand all tree node
treeSysInfo.ExpandAll();
//set control loaded
setLoaded(true);
}
/// <summary>
/// radioMachine_CheckedChanged event allow user to access services on other machine
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void radioMachine_CheckedChanged(object sender, System.EventArgs e)
{
bool booleanFlag = true;
RadioButton rbClicked = (RadioButton) sender;
if (rbClicked.Text == "&Current Machine")
booleanFlag = false;
//toggle controls
labelIP.Visible = booleanFlag;
textIP.Visible = booleanFlag;
labelUserID.Visible = booleanFlag;
textUserID.Visible = booleanFlag;
labelPassword.Visible = booleanFlag;
textPassword.Visible = booleanFlag;
}
/// <summary>
/// Create parent tree node
/// </summary>
/// <param name="stringName"></param>
/// <returns>nodeTreeNode.Nodes</returns>
private TreeNodeCollection createParentNode(string stringName)
{
//create parent
TreeNode nodeTreeNode = new TreeNode(stringName);
treeSysInfo.Nodes.Add(nodeTreeNode);
//return back collection
return nodeTreeNode.Nodes;
}
/// <summary>
/// Create child tree node
/// </summary>
/// <param name="nodeCollection"></param>
/// <param name="stringCaption"></param>
private void createChildNode(TreeNodeCollection nodeCollection, string stringCaption)
{
//create new drive node
TreeNode nodeTreeNode = new TreeNode(stringCaption);
//add new node
nodeCollection.Add(nodeTreeNode);
}
/// <summary>
/// formatnumber to KB
/// </summary>
/// <param name="lSize"></param>
/// <param name="booleanFormatOnly"></param>
/// <returns>stringSize + " KB"</returns>
private string formatSize(Int64 lSize, bool booleanFormatOnly)
{
//Format number to KB
string stringSize = "";
NumberFormatInfo myNfi = new NumberFormatInfo();
Int64 lKBSize = 0;
if (lSize < 1024 )
{
if (lSize == 0)
{
//zero byte
stringSize = "0";
}
else
{
//less than 1K but not zero byte
stringSize = "1";
}
}
else
{
if (booleanFormatOnly == false)
{
//convert to KB
lKBSize = lSize / 1024;
}
else
{
lKBSize = lSize;
}
//format number with default format
stringSize = lKBSize.ToString("n",myNfi);
//remove decimal
stringSize = stringSize.Replace(".00", "");
}
return stringSize + " KB";
}
/// <summary>
/// Formate speed to Hz
/// </summary>
/// <param name="lSpeed"></param>
/// <returns>stringSpeed</returns>
private string formatSpeed(Int64 lSpeed)
{
//Format number to Hz
float floatSpeed = 0;
string stringSpeed = "";
NumberFormatInfo myNfi = new NumberFormatInfo();
if (lSpeed < 1000 )
{
//less than 1G Hz
stringSpeed = lSpeed.ToString() + "M Hz";
}
else
{
//convert to Giga Hz
floatSpeed = (float) lSpeed / 1000;
stringSpeed = floatSpeed.ToString() + "G Hz";
}
return stringSpeed;
}
/// <summary>
/// buttonRefresh click event allow user to refresh service list view
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonRefresh_Click(object sender, System.EventArgs e)
{
//refresh display
this.Refresh();
}
/// <summary>
/// status event
/// </summary>
/// <param name="stringStatus"></param>
private void updateStatus(string stringStatus)
{
if (UpdateStatus != null)
UpdateStatus(stringStatus );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -