⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systeminfocontrol.cs

📁 本文我将向你展示一些技巧
💻 CS
📖 第 1 页 / 共 2 页
字号:
				//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 + -