static AndroidUsbDriverHelper( ) { try { System.Management.ManagementClass wmi = new System.Management.ManagementClass ( ); System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery ( QUERY ); System.Management.ManagementScope oMs = new System.Management.ManagementScope ( ); System.Management.ManagementObjectSearcher oSearcher = new System.Management.ManagementObjectSearcher ( oMs, oQuery ); System.Management.ManagementObjectCollection oResults = oSearcher.Get ( ); if ( oResults.Count == 1 ) { foreach ( var item in oResults ) { string dv = string.Format ( CultureInfo.InvariantCulture, "{0}", item["DriverVersion"] ); if ( !string.IsNullOrEmpty ( dv ) ) { DriverVersion = new Version ( dv ); } else { // default DriverVersion = new Version ( "0.0.0.0" ); } string cg = string.Format ( CultureInfo.InvariantCulture, "{0}", item["ClassGuid"] ); if ( !string.IsNullOrEmpty ( cg ) ) { IsRevision2Driver = string.Compare ( cg, DRIVER_CLASS_GUID_REVISION2, true ) == 0; IsRevision1Driver = !IsRevision2Driver; } else { // default to cupcake IsRevision1Driver = true; IsRevision2Driver = false; } } } } catch ( Exception ex ) { Logger.LogError ( typeof ( AndroidUsbDriverHelper ), ex.Message, ex ); DriverVersion = new Version ( "0.0.0.0" ); } }
public static string buildTerminalIdentifier() { var idStream = new MemoryStream (); UInt16 proto = BitConverter.ToUInt16 (getTerminalInfo (WTS_INFO_CLASS.WTSClientProtocolType), 0); if(proto == (short)CLIENT_PROTO_TYPE.RDP) { addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSWorkingDirectory)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSOEMId)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientBuildNumber)); addBytesToStream (idStream, getClientAddrBytes ()); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientName)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientDirectory)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientProductId)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientHardwareId)); addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientProtocolType)); } else { // use system CPU Processor ID System.Management.ManagementClass theClass = new System.Management.ManagementClass ("Win32_Processor"); System.Management.ManagementObjectCollection theCollectionOfResults = theClass.GetInstances (); String s = String.Empty; foreach(System.Management.ManagementObject currentResult in theCollectionOfResults) { s += currentResult["ProcessorID"].ToString (); } byte[] b = System.Text.Encoding.Unicode.GetBytes (s); idStream.Write (b, 0, b.Length); } byte[] result; using(SHA256 shaM = new SHA256Managed ()) { result = shaM.ComputeHash (idStream.ToArray ()); } return Convert.ToBase64String (result); }
//Return a hardware identifier private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue) { string result=""; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { if (mo[wmiMustBeTrue].ToString()=="True") { //Only get the first one if (result=="") { try { result = mo[wmiProperty].ToString(); break; } catch { } } } } return result; }
public NativeCimInstance InvokeMethod (string namespaceName, string className, string methodName, NativeCimInstance instance, NativeCimInstance inSignature) { var classObj = new System.Management.ManagementClass(string.Format ("//./{0}/{1}", namespaceName, className)); var inObj = classObj.GetMethodParameters (className); inObj.Properties["CommandLine"].Value = "notepad.exe"; var result = classObj.InvokeMethod(methodName, inObj, new System.Management.InvokeMethodOptions()); var endpoint = CimEnumerator.ToEndointAddress (result, true); return CimEnumerationHelper.CreateInstance (endpoint); }
public static string GetCpuId() { string cpuInfo = string.Empty; System.Management.ManagementClass mc = new System.Management.ManagementClass("win32_processor"); foreach (System.Management.ManagementObject mo in mc.GetInstances()) { return mo.Properties["processorID"].Value.ToString(); } throw new Exception("Failed to locate CPU ID."); }
public static string ReadHdId() { String HDid = ""; System.Management.ManagementClass cimobject = new System.Management.ManagementClass("Win32_PhysicalMedia"); System.Management.ManagementObjectCollection moc = cimobject.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { HDid += (string)mo.Properties["SerialNumber"].Value; } return HDid.Trim(); }
static int get_process_number() { System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Process"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); int i = 0; foreach (System.Management.ManagementObject mo in moc) { i++; } return i; }
public static string GetMainOrHDD() { System.Management.ManagementClass partionsClass = new System.Management.ManagementClass("Win32_LogicalDisk"); System.Management.ManagementObjectCollection partions = partionsClass.GetInstances(); string hdd = string.Empty; foreach (System.Management.ManagementObject partion in partions) { hdd = Convert.ToString(partion["VolumeSerialNumber"]); if (hdd != string.Empty) return hdd; } return hdd; }
private string GetHDsid() { string KeyPw = string.Empty; try { using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_DiskDrive")) { string strHardDiskID = string.Empty; foreach (System.Management.ManagementObject mo in mc.GetInstances()) { if (mo["Index"].ToString().Trim() == "0") { foreach (System.Management.PropertyData pd in mo.Properties) { bool has = false; switch (pd.Name.Trim()) { case "Caption": { strHardDiskID += mo["Caption"].ToString().Trim(); break; } case "SerialNumber": { strHardDiskID += mo["SerialNumber"].ToString().Trim(); has = true; break; } case "Signature": { strHardDiskID += mo["Signature"].ToString().Trim(); break; } default: { break; } } if (has) { break; } } break; } } strHardDiskID = string.IsNullOrEmpty(strHardDiskID) ? "13816350872" : strHardDiskID; using (System.Security.Cryptography.MD5 md = System.Security.Cryptography.MD5.Create()) { KeyPw = BitConverter.ToString(md.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strHardDiskID))).Replace("-", string.Empty); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } return(KeyPw); }
private void checkDiskSpace() { try { string strMyDrive = Global.MainPath.Substring(0,2); System.Management.ManagementClass diskClass = new System.Management.ManagementClass("Win32_LogicalDisk"); foreach ( System.Management.ManagementObject disk in diskClass.GetInstances() ) { string strDiskName = (string)disk["Name"]; if ( strDiskName.Equals(strMyDrive) ) { ulong lMb = ((ulong)disk["FreeSpace"]) / (ulong)(1024*1024); if ( lMb < 1000 ) Global.showMsgBox( this, "Du börjar få ont om diskutrymme! Överväg att radera en skola. Kontakta Photomic!" ); break; } } } catch { } }
public static LogicaldiskCollection GetInstances(System.Management.ManagementScope mgmtScope, System.Management.EnumerationOptions enumOptions) { if ((mgmtScope == null)) { if ((statMgmtScope == null)) { mgmtScope = new System.Management.ManagementScope(); mgmtScope.Path.NamespacePath = "root\\cimv2"; } else { mgmtScope = statMgmtScope; } } System.Management.ManagementPath pathObj = new System.Management.ManagementPath(); pathObj.ClassName = "Win32_Logicaldisk"; pathObj.NamespacePath = "root\\cimv2"; System.Management.ManagementClass clsObject = new System.Management.ManagementClass(mgmtScope, pathObj, null); if ((enumOptions == null)) { enumOptions = new System.Management.EnumerationOptions(); enumOptions.EnsureLocatable = true; } return new LogicaldiskCollection(clsObject.GetInstances(enumOptions)); }
/// <summary> /// Reads a value from the WMI interface. /// </summary> /// <param name="wmiClass">The WMI management class name, e. g. "Win32_LogicalDisk" or "Win32_Process".</param> /// <param name="wmiProperty">The name of the property of interest.</param> /// <param name="wmiCondition">If not null, the name of the property whose value must be true (boolean) to select the object instance.</param> /// <returns>The value of the requested property.</returns> public static string GetWmiIdentifier(string wmiClass, string wmiProperty, string wmiCondition) { System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); foreach (System.Management.ManagementObject mo in mc.GetInstances()) { if (wmiCondition == null || (mo[wmiCondition] is bool && (bool)mo[wmiCondition])) { try { object value = mo[wmiProperty]; if (value != null) { return value.ToString().Trim(); } } catch { } } } return null; }
private void EnableDHCP() { System.Management.ManagementClass objMC = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection objMOC = objMC.GetInstances(); foreach(System.Management.ManagementObject objMO in objMOC) { if (!(bool) objMO["IPEnabled"]) continue; string[] sParse = Convert.ToString(objMO.GetPropertyValue("Caption")).Split("]".ToCharArray()); if(sParse.Length < 2) continue; if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { try { objMO.InvokeMethod("EnableDHCP",null,null); Application.DoEvents(); SendLineOne("Update Success"); SendLineTwo(" "); } catch(Exception ex) { SendLineOne("Update Failed"); ScrollText(ex.Message,1); } } } }
private void CheckModUpdate_Click(object sender, EventArgs e) { SaveConfig(); var gamedir = profiles[MinecraftProfileList.SelectedIndex].GameDir; var moddir = gamedir + @"\mods"; var remoteMods = new Dictionary <string, string>(); string version = null; DateTime lastModified = DateTime.Now; Dictionary <string, string> addMods = null, delMods = null; // check update var dialog = new TaskDialog() { Caption = Application.ProductName, InstructionText = "Mod の更新を確認しています...", StandardButtons = TaskDialogStandardButtons.Cancel, ProgressBar = new TaskDialogProgressBar() { State = TaskDialogProgressBarState.Marquee }, OwnerWindowHandle = Handle, }; dialog.Opened += async(_sender, _e) => { dialog.Text = "Mod の一覧を取得しています..."; try { var req = WebRequest.Create(config.RepositoryUrl + "modlist.yml") as HttpWebRequest; using (var res = await req.GetResponseAsync() as HttpWebResponse) { // header lastModified = DateTime.Parse(res.GetResponseHeader("Last-Modified")); // body using (var stream = res.GetResponseStream()) using (var sr = new StreamReader(stream, Encoding.UTF8)) { var yml = new YamlStream(); yml.Load(sr); var map = yml.Documents[0].RootNode as YamlMappingNode; version = (map.Children[new YamlScalarNode("version")] as YamlScalarNode).Value; var mods = map.Children[new YamlScalarNode("mods")] as YamlSequenceNode; foreach (YamlMappingNode mod in mods) { foreach (var info in mod) { remoteMods.Add((info.Key as YamlScalarNode).Value, (info.Value as YamlScalarNode).Value); } } } } } catch (Exception ex) { Debug.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace); dialog.Close(TaskDialogResult.No); return; } dialog.Text = "Mod の更新を確認しています..."; var excluded = config.ExcludedMods.ToDictionary(i => i, i => GetFileSHA1Hash(moddir + @"\" + i)); addMods = remoteMods.Except(localMods).ToDictionary(i => i.Key, i => i.Value); delMods = localMods.Except(remoteMods).ToDictionary(i => i.Key, i => i.Value).Except(excluded).ToDictionary(i => i.Key, i => i.Value); if (addMods.Count == 0 && delMods.Count == 0) { dialog.Close(TaskDialogResult.Ok); return; } dialog.Close(TaskDialogResult.Yes); }; var result = dialog.Show(); if (result == TaskDialogResult.Ok) { new TaskDialog() { Caption = Application.ProductName, InstructionText = "Mod の更新はありません", Icon = TaskDialogStandardIcon.Information, OwnerWindowHandle = Handle, }.Show(); return; } else if (result == TaskDialogResult.No) { new TaskDialog() { Caption = Application.ProductName, InstructionText = "エラーが発生しました", Text = "更新の確認中にエラーが発生しました。", Icon = TaskDialogStandardIcon.Error, OwnerWindowHandle = Handle, }.Show(); return; } else if (result != TaskDialogResult.Yes) { return; } var br = Environment.NewLine; var adds = string.Join(br, addMods.Keys.ToArray()); var dels = string.Join(br, delMods.Keys.ToArray()); if (adds == string.Empty) { adds = "なし"; } if (dels == string.Empty) { dels = "なし"; } string detail = "Forge バージョン: " + version + br + "変更日時: " + lastModified.ToLocalTime().ToString() + br + br + "追加される Mod:" + br + adds + br + br + "削除される Mod:" + br + dels; dialog = new TaskDialog() { Caption = Application.ProductName, InstructionText = "Mod の更新を適用しますか?", Text = "これにより、" + addMods.Count + " 個の Mod が追加、" + delMods.Count + " 個の Mod が削除されます。", Icon = TaskDialogStandardIcon.Warning, StandardButtons = TaskDialogStandardButtons.Yes | TaskDialogStandardButtons.No, OwnerWindowHandle = Handle, DetailsCollapsedLabel = "詳細情報", DetailsExpandedLabel = "詳細情報を非表示", ExpansionMode = TaskDialogExpandedDetailsLocation.ExpandFooter, DetailsExpandedText = detail, }; var confirmResult = dialog.Show(); if (confirmResult != TaskDialogResult.Yes) { return; } // apply update dialog = new TaskDialog() { Caption = Application.ProductName, InstructionText = "Mod ファイルの変更を開始しています...", StandardButtons = TaskDialogStandardButtons.Cancel, ProgressBar = new TaskDialogProgressBar() { State = TaskDialogProgressBarState.Marquee }, OwnerWindowHandle = Handle, }; dialog.Opened += async(_sender, _e) => { bool flag; do { flag = false; string pid = null; using (var win32proc = new System.Management.ManagementClass("Win32_Process")) using (var ps = win32proc.GetInstances()) { foreach (var p in ps) { if (p.GetPropertyValue("Name").ToString().Contains("java") && p.GetPropertyValue("CommandLine").ToString().Contains("minecraft")) { flag = true; pid = p.GetPropertyValue("ProcessId").ToString(); break; } } } if (flag) { var confirm = new TaskDialog() { Caption = Application.ProductName, InstructionText = "Minecraft が起動中です", Text = "Minecraft が起動しているため Mod の更新ができません。" + br + "アプリケーションを終了後させ [再試行] を押してください。" + br + "中止する場合は [キャンセル] を押してください。", Icon = TaskDialogStandardIcon.Warning, StandardButtons = TaskDialogStandardButtons.Retry | TaskDialogStandardButtons.Cancel, OwnerWindowHandle = Handle, }.Show(); if (confirm == TaskDialogResult.Cancel) { dialog.Close(TaskDialogResult.Cancel); return; } } } while (flag); var i = 0; dialog.InstructionText = "Mod を削除しています..."; foreach (var mod in delMods) { dialog.Text = "(" + ++i + "/" + delMods.Count + ") " + mod.Key; File.Delete(moddir + @"\" + mod.Key); await Task.Run(() => System.Threading.Thread.Sleep(100)); } i = 0; var failed = 0; dialog.InstructionText = "Mod をダウンロードしています..."; using (var wc = new WebClient()) { foreach (var mod in addMods) { dialog.Text = "(" + ++i + "/" + addMods.Count + ") " + mod.Key; try { wc.DownloadFileAsync(new Uri(config.RepositoryUrl + @"/" + version + @"/" + mod.Key), moddir + @"\" + mod.Key); } catch (Exception ex) { Debug.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace); failed++; } await Task.Run(() => System.Threading.Thread.Sleep(100)); } } dialog.Close(); new TaskDialog() { Caption = Application.ProductName, InstructionText = "変更を適用しました", Text = addMods.Count + "個の Mod を追加、" + delMods.Count + "個の Mod を削除しました。" + (failed > 0 ? br + failed + " 個の Mod のダウンロードが失敗しました。" : ""), Icon = TaskDialogStandardIcon.Information, StandardButtons = TaskDialogStandardButtons.Ok, OwnerWindowHandle = Handle, }.Show(); }; result = dialog.Show(); UpdateLocalMods(); }
/// <summary> /// Retuns list of all Removable drives aailable /// </summary> /// <param name="UsbDrives">Structure to store drive names (e.g. "D:", "E:" etc.</param> /// <returns>true if at least one removable is available</returns> public bool GetRemovableDisks(out List<string> UsbDrives) { // Add System.Management reference. Then bool result = false; UsbDrives = new List<string>(); using (System.Management.ManagementClass managementClass = new System.Management.ManagementClass("Win32_Diskdrive")) { using (System.Management.ManagementObjectCollection driveCollection = managementClass.GetInstances()) { foreach (System.Management.ManagementObject driveObject in driveCollection) foreach (System.Management.ManagementObject drivePartition in driveObject.GetRelated("Win32_DiskPartition")) foreach (System.Management.ManagementBaseObject logicalDisk in drivePartition.GetRelated("Win32_LogicalDisk")) { string drive = (logicalDisk["Name"]).ToString(); string driveDescription = logicalDisk.Properties["Description"].Value.ToString(); if (driveDescription.Equals("Removable Disk", StringComparison.InvariantCultureIgnoreCase)) { UsbDrives.Add(drive); result = true; } } } } return result; }
private void SetIP(string IPAddress,string SubnetMask, string Gateway) { System.Management.ManagementClass objMC = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection objMOC = objMC.GetInstances(); foreach(System.Management.ManagementObject objMO in objMOC) { if (!(bool) objMO["IPEnabled"]) continue; string[] sParse = Convert.ToString(objMO.GetPropertyValue("Caption")).Split("]".ToCharArray()); if(sParse.Length < 2) continue; if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { try { System.Management.ManagementBaseObject objNewIP = null; System.Management.ManagementBaseObject objSetIP = null; System.Management.ManagementBaseObject objNewGate = null; objNewIP = objMO.GetMethodParameters("EnableStatic"); objNewGate = objMO.GetMethodParameters("SetGateways"); //Set DefaultGateway objNewGate["DefaultIPGateway"] = new string[] {Gateway}; objNewGate["GatewayCostMetric"] = new int[] {1}; //Set IPAddress and Subnet Mask objNewIP["IPAddress"] = new string[] {IPAddress}; objNewIP["SubnetMask"] = new string[] {SubnetMask}; objSetIP = objMO.InvokeMethod("EnableStatic",objNewIP,null); objSetIP = objMO.InvokeMethod("SetGateways",objNewGate,null); Application.DoEvents(); SendLineOne("Update Success"); SendLineTwo(" "); } catch(Exception ex) { SendLineOne("Update Failed"); ScrollText(ex.Message,1); } } } }
internal static void AttachToUserCodeHost(DTE dte, Project project) { //SPUCWorkerProcess.exe //find the id of the SPUCWorkerProcess.exe process string processIdOfWebApp = ""; Helpers.LogMessage(dte, dte, "Searching for SPUCWorkerProcess.exe process (sandboxed solution)"); System.Management.ManagementClass MgmtClass = new System.Management.ManagementClass("Win32_Process"); foreach (System.Management.ManagementObject mo in MgmtClass.GetInstances()) { try { if (mo["Name"].ToString() == "SPUCWorkerProcess.exe") { processIdOfWebApp = mo["ProcessId"].ToString(); Helpers.LogMessage(dte, dte, "Successfully identified SPUCWorkerProcess.exe process, using process id '" + processIdOfWebApp + "'"); break; } } catch (Exception) { } } AttachToVSProcess(dte, processIdOfWebApp); }
public static ActionResult GetAndroidUsbDriverVersionWmi( Session session ) { session.Log ( "(DECA) Begin GetAndroidUsbDriverVersionWmi" ); try { System.Management.ManagementClass wmi = new System.Management.ManagementClass ( ); System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery ( string.Format ( CultureInfo.InvariantCulture, WMI_QUERY, REVISION2_GUID ) ); System.Management.ManagementScope oMs = new System.Management.ManagementScope ( ); System.Management.ManagementObjectSearcher oSearcher = new System.Management.ManagementObjectSearcher ( oMs, oQuery ); System.Management.ManagementObjectCollection oResults = oSearcher.Get ( ); if ( oResults.Count > 0 ) { foreach ( var item in oResults ) { string cg = string.Format ( CultureInfo.InvariantCulture, "{0}", item["ClassGuid"] ); if ( !string.IsNullOrEmpty ( cg ) ) { bool foundR1 = string.Compare ( cg, REVISION1_GUID, true ) == 0; bool foundR2 = string.Compare ( cg, REVISION2_GUID, true ) == 0; if ( foundR1 ) { session[ANDROIDUSBDRIVERVERSION] = REVISION1; session[ANDROIDUSBDRIVERSINSTALLED] = "1"; session.Log ( "(DECA) Found Revision 1 version of Android USB Driver" ); return ActionResult.Success; } else if ( foundR2 ) { session[ANDROIDUSBDRIVERVERSION] = REVISION2; session[ANDROIDUSBDRIVERSINSTALLED] = "0"; session.Log ( "(DECA) Found Revision 2 version of Android USB Driver" ); return ActionResult.Success; } else { session.Log ( "(DECA) Did not find a know ClassGuid: {0}", cg ); } } else { session.Log ( "(DECA) ClassGuid was Empty" ); } } } else { session.Log ( "(DECA) No WMI Results were returned." ); } } catch ( Exception ex ) { session.Log ( ex.ToString() ); } session[ANDROIDUSBDRIVERVERSION] = "0"; session[ANDROIDUSBDRIVERSINSTALLED] = "0"; session.Log ( "(DECA) Did not find any version of Android USB Driver" ); return ActionResult.Success; }
private static string GetW3WPProcessIdForApplicationPool(DTE dte, string appPoolOfWebApp) { Helpers.LogMessage(dte, dte, "Searching for w3wp process with application pool '" + appPoolOfWebApp + "'"); string processIdOfWebApp = ""; System.Management.ManagementClass MgmtClass = new System.Management.ManagementClass("Win32_Process"); foreach (System.Management.ManagementObject mo in MgmtClass.GetInstances()) { try { if (mo["Name"].ToString() == "w3wp.exe") { string apppool = mo["CommandLine"].ToString(); apppool = apppool.Substring(apppool.IndexOf("-ap") + 5); apppool = apppool.Substring(0, apppool.IndexOf("\"")); if (apppool == appPoolOfWebApp) { processIdOfWebApp = mo["ProcessId"].ToString(); Helpers.LogMessage(dte, dte, "Successfully identified w3wp process, using process id '" + processIdOfWebApp + "'"); return processIdOfWebApp; } } } catch (Exception) { } } return ""; }
public string GetHardwareFingerprint() { string fp = null; using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Processor")) { System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { string value = ""; string[] ids = new string[] { "UniqueId", "ProcessorId", "Name", "Manufacturer", "MaxClockSpeed" }; foreach (string id in ids) { try { value += mo[id].ToString(); } catch { } } fp += value; } } using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_BIOS")) { System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { string value = ""; string[] ids = new string[] { "Manufacturer", "SMBIOSBIOSVersion", "IdentificationCode", "SerialNumber", "ReleaseDate", "Version" }; foreach (string id in ids) { try { value += mo[id].ToString(); } catch { } } fp += value; } } /* * using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration")) * { * System.Management.ManagementObjectCollection moc = mc.GetInstances(); * foreach (System.Management.ManagementObject mo in moc) * { * string value = ""; * if (mo["IPEnabled"].ToString() == "True") * { * string[] ids = new string[] { "MACAddress" }; * foreach (string id in ids) * { * try * { * value += mo[id].ToString(); * } * catch * { * } * } * } * fp += value; * } * } */ if (registrationSHA256hash != null) { fp += registrationSHA256hash; } SHA256 sha256 = SHA256.Create(); UTF8Encoding ByteConverter = new UTF8Encoding(); byte[] byteData = ByteConverter.GetBytes(fp); byte[] sha256hashByte = sha256.ComputeHash(byteData); fp = BitConverter.ToString(sha256hashByte); sha256.Dispose(); fp = fp.Replace("-", ""); fingerPrint = fp; return(fp); }
private void ACpowerStatus() { // Create a ManagementClass object System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Battery"); // Get the ManagementObjectCollection object System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { // Display battery information // (Here are some of the information you can get here) // (Not all information can be acquired) Console.WriteLine("Name: {0}", mo["Name"]); Console.WriteLine("Device ID: {0}", mo["DeviceID"]); Console.WriteLine("Description: {0}", mo["Description"]); Console.WriteLine("Battery remaining: {0}%", mo["EstimatedChargeRemaining"]); Console.WriteLine("Battery remaining time: {0} minutes", mo["EstimatedRunTime"]); Console.WriteLine("Design Capacity: {0} mWh", mo["DesignCapacity"]); Console.WriteLine("Design voltage: {0} mV", mo["DesignVoltage"]); Console.WriteLine("Full charge capacity: {0} mVh", mo["FullChargeCapacity"]); Console.WriteLine("Time required for full charge: {0} minutes", mo["TimeToFullCharge"]); Console.WriteLine("Time taken from 0 to full charge: {0} minutes", mo["MaxRechargeTime"]); Console.WriteLine("Battery usage time: {0} seconds", mo["TimeOnBattery"]); Console.Write("Battery status:"); switch ((UInt16)mo["BatteryStatus"]) { case 1: Console.WriteLine("Discharging"); break; case 2: Console.WriteLine("AC power supply"); break; case 3: Console.WriteLine("Charging complete"); break; case 4: Console.WriteLine("low"); break; case 5: Console.WriteLine("lowest"); break; case 6: Console.WriteLine("charging"); break; case 7: Console.WriteLine("Charging / High"); break; case 8: Console.WriteLine("Charging / Low"); break; case 9: Console.WriteLine("Charging / Lowest"); break; case 10: Console.WriteLine("undefined"); break; case 11: Console.WriteLine("partially charged"); break; } Console.Write("Battery type:"); switch ((UInt16)mo["Chemistry"]) { case 1: Console.WriteLine("Other"); break; case 2: Console.WriteLine("unknown"); break; case 3: Console.WriteLine("Lead-acid battery (lead acid battery)"); break; case 4: Console.WriteLine("Nickel-cadmium storage battery (Ni - Cd)"); break; case 5: Console.WriteLine("Ni-MH rechargeable battery (Ni-MH)"); break; case 6: Console.WriteLine("Li-ion battery (LiB)"); break; case 7: Console.WriteLine("air zinc battery"); break; case 8: Console.WriteLine("lithium polymer battery (Lipo)"); break; } } }
private string GetNetStats() { System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); // foreach(System.Management.ManagementObject MO in adapterObjects) string nicName = ""; string sStats = ""; foreach(System.Management.ManagementObject MO in moc) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { string peekerror = Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { try { sStats = "IP: " + ((string[])MO.GetPropertyValue("IPAddress"))[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sStats += " SubNet: " + ((string[])MO["IPSubnet"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sStats += " GateWay: " + ((string[])MO["DefaultIPGateway"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } } } return sStats; }
private string GetIPAddress() { // string strHostName = ""; // strHostName = System.Net.Dns.GetHostName(); // // Then using host name, get the IP address list.. // IPHostEntry ipEntry = System.Net.Dns.GetHostByName(strHostName); // IPAddress [] addr = ipEntry.AddressList; // // return addr[0].ToString(); System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); string[] sIP = {"192","168","0","221"}; string sIPAddressRaw = ""; string nicName = ""; foreach(System.Management.ManagementObject MO in moc) { if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { return Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())|| (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower())) { try { sIP = (string[])MO.GetPropertyValue("IPAddress"); // sIP = FormatIPAddress(sIPAddressRaw); for(int i=0; i< sIP.Length;i++) { sIPAddressRaw += sIP[i]; } return sIPAddressRaw; } catch(Exception Err) { return Err.Message; } } else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)") { try { sIP = (string[])MO.GetPropertyValue("IPAddress"); // sIP = FormatIPAddress(sIPAddressRaw); for(int i=0;i <sIP.Length;i++) { sIPAddressRaw += sIP[i]; } return sIPAddressRaw; } catch(Exception Err) { return Err.Message; } } // else if(sParse[1] == " Realtek RTL8029(AS) PCI Ethernet Adapter") // { // try // { // bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); // } // catch(Exception Err) // { // string peekerror = Err.Message; // } // } // else if(sParse[1] == " ASUSTeK/Broadcom 440x 10/100 Integrated Controller") // { // try // { // bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); // } // catch(Exception Err) // { // string peekerror = Err.Message; // } // } else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)") { try { sIP = (string[])MO.GetPropertyValue("IPAddress"); // sIP = FormatIPAddress(sIPAddressRaw); for(int i=0;i <sIP.Length;i++) { sIPAddressRaw += sIP[i]; } return sIPAddressRaw; } catch(Exception Err) { return Err.Message; } } } } return "No Adapters"; }
private string NetworkStatus() { int iStatus = -99; System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapter"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); string nicName = ""; foreach(System.Management.ManagementObject MO in moc) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { string peekerror = Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; //if(sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower()) if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { iStatus = Convert.ToInt32(MO.GetPropertyValue("NetConnectionStatus")); break; } } return GetStatusFromNumber(iStatus); }
private string identifier(string wmiClass, string wmiProperty) { try { string result = ""; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { //Only get the first one if (result == "") { try { result = mo[wmiProperty].ToString(); break; } catch { } } } SharedValidators.Log.LogMessages(" identifier " + "done"); return result; } catch (Exception e1) { SharedValidators.Log.LogMessages("Error : identifier " + e1.Message.ToString()); } return ""; }
private void SetIPAddress( string IpAddresses,string SubnetMask, string Gateway, string DnsSearchOrder) { System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); // foreach(System.Management.ManagementObject MO in adapterObjects) string[] sIP = {"192","168","0","221"}; string nicName = ""; foreach(System.Management.ManagementObject mo in moc) { try { nicName = Convert.ToString(mo.GetPropertyValue("Caption")); } catch(Exception Err) { string peekerror = Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; if(sParse[1] == " Intel(R) PRO/1000 MT Network Connection") { System.Management.ManagementBaseObject newIP = mo.GetMethodParameters( "EnableStatic" ); newIP[ "IPAddress" ] = IpAddresses.Split( ',' ); System.Management.ManagementBaseObject setIP = mo.InvokeMethod( "EnableStatic", newIP, null); } else if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { System.Management.ManagementBaseObject newIP = mo.GetMethodParameters( "EnableStatic" ); newIP[ "IPAddress" ] = IpAddresses.Split( ',' ); System.Management.ManagementBaseObject setIP = mo.InvokeMethod( "EnableStatic", newIP, null); } } }
private string GetIPAddress() { // string strHostName = ""; // strHostName = System.Net.Dns.GetHostName(); // // Then using host name, get the IP address list.. // IPHostEntry ipEntry = System.Net.Dns.GetHostByName(strHostName); // IPAddress [] addr = ipEntry.AddressList; // // return addr[0].ToString(); //bool bStatus = false; System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); string[] sIP = {"192","168","0","221"}; string sIPAddressRaw = ""; string nicName = ""; foreach(System.Management.ManagementObject MO in moc) { if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { ScrollText(Err.Message,1); return " "; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller") { try { sIP = (string[])MO.GetPropertyValue("IPAddress"); // sIP = FormatIPAddress(sIPAddressRaw); for(int i=0;i <sIP.Length;i++) { sIPAddressRaw += sIP[i]; } return sIPAddressRaw; } catch(Exception Err) { ScrollText(Err.Message,1); return " "; } } } } return "No Adapters"; }
public void Handler(string str, Information i) { switch (str) { case "ram": double ra = Math.Round((GetTotalMemoryInBytes() / 1024f / 1024f / 1024f), 2); i.info = ra.ToString() + " GB"; break; case "mac address": i.info = GetMacaddr().ToString(); break; case "machine name": i.info = Environment.MachineName; break; case "username": i.info = Environment.UserName; break; case "check internet connection": if (NetworkInterface.GetIsNetworkAvailable()) { i.info = "You are Connected To Internet"; } else { i.info = ":-( No Connection! :-("; } break; case "tell me your processor information": if (System.Environment.Is64BitOperatingSystem) { i.info = "Your Machine has a 64 bit Operating System "; } else { i.info = "Your Machine has a 32 bit Operating System "; } i.info += "and uses "; i.info += GetProcessor(); break; case "good morning": i.info = "Good morning, I hope you slept well."; break; case "good night": i.info = "I've always wondered what sleep would feel like, I suppose I will never know. Goodnight."; break; case "good evening": i.info = "Good evening."; break; case "what is the time": i.info = DateTime.Now.ToShortTimeString(); break; case "todays date": i.info = DateTime.Now.ToShortDateString(); break; case "hello": i.info = "Hii there...!"; break; case "battery status": System.Management.ManagementClass manage = new System.Management.ManagementClass("win32_Battery"); var allbattries = manage.GetInstances(); foreach (var battery in allbattries) { int estimatedbattery = Convert.ToInt32(battery["EstimatedChargeRemaining"]); if (estimatedbattery == 100) { i.info += "\n Battery is fully charged"; } else { i.info += "\n The estimated charging is , " + estimatedbattery + " percent"; } } break; case "who are you": i.info = "Im Gideon , your personal assistant"; break; case "how are you": i.info = "Im fine.."; break; } say(i.info); }
public static void システム情報をログ出力する() { // OS 関連 string _WinEdition = null; string _WinVersion = null; string _Win10Version = null; string _TotalMemory = null; string _FreeMemory = null; string _DotnetRelease = null; // from レジストリ using (var hklmKey = Microsoft.Win32.Registry.LocalMachine) { using (var subKey = hklmKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion")) // キーがなかったら null が返される { if (null != subKey) { _Win10Version = subKey.GetValue("ReleaseId") as string; switch (_Win10Version) { // https://ja.wikipedia.org/wiki/Microsoft_Windows_10#%E5%8D%8A%E6%9C%9F%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%EF%BC%88%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E6%8C%87%E5%AE%9A%EF%BC%89%EF%BC%8F_Current_Branch(CB) case "1507": _Win10Version += "(Released in July 2015)"; break; case "1511": _Win10Version += "(November Update)"; break; case "1607": _Win10Version += "(Anniversary Update)"; break; case "1703": _Win10Version += "(Creators Update)"; break; case "1709": _Win10Version += "(Fall Creators Update)"; break; case "1803": _Win10Version += "(April 2018 Update)"; break; case "1809": _Win10Version += "(October 2018 Update)"; break; } } } using (var ndpKey = hklmKey.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\")) // キーがなかったら null が返される { if (null != ndpKey) { var release = ndpKey.GetValue("Release") as int?; if (null != release) { int r = release.Value; // https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed _DotnetRelease = (r < 378389) ? "4.5未満" : (r < 378675) ? "4.5" : (r < 379893) ? "4.5.1" : (r < 393295) ? "4.5.2" : (r < 394254) ? "4.6" : (r < 394802) ? "4.6.1" : (r < 460798) ? "4.6.2" : (r < 461308) ? "4.7" : (r < 461808) ? "4.7.1" : "4.7.2以降" + $" ({r})"; } } } } // from WMI using (var mc = new System.Management.ManagementClass("Win32_OperatingSystem")) using (var moc = mc.GetInstances()) { foreach (var mo in moc) { using ( mo ) { _WinEdition = mo["Caption"] as string; _WinVersion = mo["Version"] as string; _TotalMemory = (int.Parse(mo["TotalVisibleMemorySize"].ToString()) / (1024.0 * 1024.0)).ToString("F2"); _FreeMemory = (int.Parse(mo["FreePhysicalMemory"].ToString()) / (1024.0 * 1024.0)).ToString("F2"); } } } // 出力 Log.WriteLine($"{_WinEdition} " + ((null != _Win10Version) ? $"{_Win10Version}, {_WinVersion}" : $"{_WinVersion}")); Log.WriteLine($"RAM: {_TotalMemory:F2} GB 中 {_FreeMemory:F2} GB 利用可能"); Log.WriteLine($".NET Framework: {_DotnetRelease}"); }
public static System.UInt32 ScheduleAutoChk(string[] LogicalDisk) { bool IsMethodStatic = true; if ((IsMethodStatic == true)) { System.Management.ManagementBaseObject inParams = null; System.Management.ManagementPath mgmtPath = new System.Management.ManagementPath(CreatedClassName); System.Management.ManagementClass classObj = new System.Management.ManagementClass(statMgmtScope, mgmtPath, null); inParams = classObj.GetMethodParameters("ScheduleAutoChk"); inParams["LogicalDisk"] = LogicalDisk; System.Management.ManagementBaseObject outParams = classObj.InvokeMethod("ScheduleAutoChk", inParams, null); return System.Convert.ToUInt32(outParams.Properties["ReturnValue"].Value); } else { return System.Convert.ToUInt32(0); } }
static string win32_processor_processorID() { var sw = Stopwatch.StartNew(); string cpuInfo = string.Empty; var mc = new System.Management.ManagementClass("win32_processor"); var moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { //if (cpuInfo == "") { // mo = {\\ASUS7\root\cimv2:Win32_Processor.DeviceID="CPU0"} //Get only the first CPU's ID cpuInfo = mo.Properties["processorID"].Value.ToString(); // cpuInfo = "BFEBFBFF000206A7" break; } } // { ElapsedMilliseconds = 1132, cpuInfo = BFEBFBFF000206A7 } // { ElapsedMilliseconds = 1090, cpuInfo = BFEBFBFF000206A7 } Console.WriteLine( new { sw.ElapsedMilliseconds, cpuInfo } ); return cpuInfo; }
//Return a hardware identifier private static string GetIdentifier(string wmiClass, string wmiProperty) { string result = string.Empty; System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { //Only get the first one if (result == "") { if (mo[wmiProperty] != null) { result = mo[wmiProperty].ToString(); break; } } } return result; }
private static void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { if (e.Handled == false) { if (e.Exception.GetType() == typeof(NotImplementedException)) { e.Handled = true; NotImplementedException?.Invoke(sender, e); return; } try { if (e.Handled) { return; } System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_OperatingSystem"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { ExceptionInformation.OSName = mo["Name"].ToString(); ExceptionInformation.OSVersion = mo["Version"].ToString(); ExceptionInformation.OSLocale = mo["Locale"].ToString(); ExceptionInformation.OSLanguage = mo["OSLanguage"].ToString(); ExceptionInformation.OSBuildNumber = mo["BuildNumber"].ToString(); int.TryParse(mo["TotalVisibleMemorySize"].ToString(), out ExceptionInformation.TotalVisibleMemorySize); int.TryParse(mo["FreePhysicalMemory"].ToString(), out ExceptionInformation.FreePhysicalMemory); int.TryParse(mo["TotalVirtualMemorySize"].ToString(), out ExceptionInformation.TotalVisibleMemorySize); int.TryParse(mo["FreeVirtualMemory"].ToString(), out ExceptionInformation.FreeVirtualMemorySize); int.TryParse(mo["FreeSpaceInPagingFiles"].ToString(), out ExceptionInformation.FreeSpaceInPagingFiles); int.TryParse(mo["SizeStoredInPagingFiles"].ToString(), out ExceptionInformation.SizeStoredInPagingFiles); object o = mo["TotalSwapSpaceSize"]; if (o != null) { int.TryParse(o.ToString(), out ExceptionInformation.TotalSwapSpaceSize); } mo.Dispose(); } } catch (Exception ex) { ExceptionInformation.Message += "Failed to get some informations.\r\n" + ex.ToString(); } ExceptionInformation.Exception = e.Exception; ExceptionInformation.Handled = e.Handled; ExceptionInformation.Log = Dialogs.LogWindow.LogStr; Dialogs.UnhandledExceptionDialog dlg = new Dialogs.UnhandledExceptionDialog(); dlg.ErrorMsg.Text = ExceptionInformation.ToString(); dlg.ShowDialog(); if (dlg.ExitApp) { Process.GetCurrentProcess().Kill(); } else { e.Handled = true; } } }
private void GetNetStats(out string sIPAddress, out string sSubNetMask, out string sDefaultGateWay, out bool IsDHCP) { string sErrMessage = ""; try { newUser = this.ImpersonateUser("Administrator","","oiclfsp7",out sErrMessage); // newUser = this.ImpersonateUser("Kebin","","1234",out sErrMessage); } catch(Exception Err) { string peekError = Err.Message; newUser = null; } if(newUser == null) { try { newUser = this.ImpersonateUser("administrator","","o@clc",out sErrMessage); } catch(Exception Err) { string peekError = Err.Message; newUser = null; } } if(newUser == null) { throw new Exception(sErrMessage); } System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); // foreach(System.Management.ManagementObject MO in adapterObjects) string sIP = ""; string sSM = ""; string sDG = ""; bool iDHCP = false; string nicName = ""; //string sStats = ""; foreach(System.Management.ManagementObject MO in moc) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { string peekerror = Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; ListBox1.Items.Add(sParse[1]); if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())|| (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower())) { try { sIP = ((string[])MO.GetPropertyValue("IPAddress"))[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sSM = ((string[])MO["IPSubnet"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sDG = ((string[])MO["DefaultIPGateway"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { iDHCP = ((bool)MO["DHCPEnabled"]); } catch(Exception Err) { string peekerror = Err.Message; } } else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)") { try { sIP = ((string[])MO.GetPropertyValue("IPAddress"))[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sSM = ((string[])MO["IPSubnet"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } try { sDG = ((string[])MO["DefaultIPGateway"])[0]; } catch(Exception Err) { string peekerror = Err.Message; } } } sIPAddress = sIP; sSubNetMask = sSM; sDefaultGateWay = sDG; IsDHCP = iDHCP; newUser.Undo(); }
private void timer1_Tick(object sender, EventArgs e) { try { System.Management.ManagementClass smmc = new System.Management.ManagementClass("Win32_Battery"); System.Management.ManagementObjectCollection smmoc = smmc.GetInstances(); foreach (System.Management.ManagementObject mo in smmoc) { label1.Text = String.Format("{0} {1}", mo["Name"], mo["Description"]); label3.Text = String.Format("Design voltage:{0} mV", mo["DesignVoltage"]); label4.Text = String.Format("Full Charge Capacity:{0} mWh", mo["FullChargeCapacity"]); label5.Text = String.Format("Battery remaining:{0}%", mo["EstimatedChargeRemaining"]); progressBar1.Value = int.Parse(mo["EstimatedChargeRemaining"].ToString()); switch ((UInt16)mo["BatteryStatus"]) { case 1: label2.Text = "Discharging "; break; case 2: label2.Text = "AC power supply "; break; case 3: label2.Text = "Charging complete "; break; case 4: label2.Text = "low "; break; case 5: label2.Text = "lowest "; break; case 6: label2.Text = "charging "; break; case 7: label2.Text = "Charging / High "; break; case 8: label2.Text = "Charging / Low "; break; case 9: label2.Text = "Charging / Lowest "; break; case 10: label2.Text = "undefined "; break; case 11: label2.Text = "partially charged "; break; } //Console.Write("Battery type:"); switch ((UInt16)mo["Chemistry"]) { case 1: label2.Text += "Other"; break; case 2: label2.Text += "unknown"; break; case 3: label2.Text += "Lead-acid battery (lead acid battery)"; break; case 4: label2.Text += "Nickel-cadmium storage battery (Ni - Cd)"; break; case 5: label2.Text += "Ni-MH rechargeable battery (Ni-MH)"; break; case 6: label2.Text += "Li-ion battery (LiB)"; break; case 7: label2.Text += "air zinc battery"; break; case 8: label2.Text += "lithium polymer battery (Lipo)"; break; } } smmoc.Dispose(); smmc.Dispose(); } catch (Exception ex) { Console.Write(ex.Message); progressBar1.Visible = false; tableLayoutPanel1.Visible = false; } }
public static void _Main() { const uint _1Mb = 1048576; const uint _1Gb = 1073741824; //http://stackoverflow.com/questions/105031/how-do-you-get-total-amount-of-ram-the-computer-has var counter_name = "System Code Total Bytes"; var pc = new System.Diagnostics.PerformanceCounter("Memory", counter_name); Console.WriteLine("PerformanceCounter Memory {0}: {1}", counter_name, pc.RawValue); var pc_class = new System.Management.ManagementClass("Win32_ComputerSystem"); System.Management.ManagementObjectCollection moc = pc_class.GetInstances(); foreach (System.Management.ManagementObject item in moc) { double n=Convert.ToDouble(item.Properties["TotalPhysicalMemory"].Value); Console.WriteLine("\nWin32_ComputerSystem TotalPhysicalMemory: {0:N0} bytes {1:N0}Mb {2:N0}Gb", n,Math.Round(n / _1Mb, 0), Math.Round(n / _1Gb, 0)); } string wmiquery = "SELECT Capacity FROM Win32_PhysicalMemory"; var searcher = new System.Management.ManagementObjectSearcher(wmiquery); decimal capacity = 0L; Console.WriteLine($"\n{wmiquery}:"); foreach (System.Management.ManagementObject wmiobject in searcher.Get()) { decimal n = Convert.ToUInt64(wmiobject.Properties["Capacity"].Value); capacity += n; Console.WriteLine("{0:N0} bytes {1:N0}Mb {2:N0}Gb", n, Math.Round(n / _1Mb, 0), Math.Round(n / _1Gb, 0)); } Console.WriteLine($"Total capacity: {capacity:N0} bytes {Math.Round(capacity / _1Mb, 0):N0}Mb {Math.Round(capacity / _1Gb, 0)}Gb"); long memoryKb; bool result_code=GetPhysicallyInstalledSystemMemory(out memoryKb); double b = memoryKb * 1024D; Console.WriteLine($"\n(GetPhysicallyInstalledSystemMemory result code: {result_code}) {b:N0} bytes {Math.Round(b / _1Mb, 0):N0}Mb {Math.Round(b / _1Gb, 0)}Gb"); //https://msdn.microsoft.com/en-us/library/windows/desktop/aa366589(v=vs.85).aspx var memory_status = new MEMORYSTATUSEX(); result_code = GlobalMemoryStatusEx(memory_status); Console.WriteLine($"\n(GlobalMemoryStatusEx result code: {result_code})"); foreach (var field in memory_status.GetType().GetFields()) { Console.WriteLine($"{field.Name} = {field.GetValue(memory_status):N0}"); } //https://msdn.microsoft.com/en-us/library/windows/desktop/ms683210(v=vs.85).aspx var performance_data = new PERFORMANCE_INFORMATION(); uint input_size = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(PERFORMANCE_INFORMATION)); result_code = GetPerformanceInfo(out performance_data, input_size); Console.WriteLine($"\n(Global GetPerformanceInfo result code: {result_code})"); foreach (var field in performance_data.GetType().GetFields()) { object xx = field.GetValue(performance_data); ulong v=xx is UIntPtr? ((UIntPtr)xx).ToUInt64():(uint)xx; Console.WriteLine($"{field.Name} = {v:N0}"); } var this_process = System.Diagnostics.Process.GetCurrentProcess(); counter_name = "Working Set Peak"; var instanceName = "ConsoleApplication1"; pc = new System.Diagnostics.PerformanceCounter("Process", counter_name, instanceName); decimal raw_value = pc.RawValue; Console.WriteLine("\nPerformanceCounter Process {0} {1}:\t{2:N0} bytes {3:N0}Mb {4:N0}Gb ({5:N0})", instanceName, counter_name, raw_value, Math.Round(raw_value / _1Mb, 0), Math.Round(raw_value / _1Gb, 0), this_process.PeakWorkingSet64); counter_name = "Working Set"; instanceName = "ConsoleApplication1"; pc = new System.Diagnostics.PerformanceCounter("Process", counter_name, instanceName); raw_value = pc.RawValue; Console.WriteLine("PerformanceCounter Process {0} {1}:\t\t{2:N0} bytes {3:N0}Mb {4:N0}Gb ({5:N0})", instanceName, counter_name, raw_value, Math.Round(raw_value / _1Mb, 0), Math.Round(raw_value / _1Gb, 0), this_process.WorkingSet64); }
private bool IsConnected() { // System.Management.ManagementObjectSearcher searcher = new // System.Management.ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter" + // " WHERE NetConnectionStatus=2"); // System.Management.ManagementObjectCollection adapterObjects = searcher.Get(); bool bStatus = false; System.Management.ManagementClass mc = new System.Management.ManagementClass( "Win32_NetworkAdapterConfiguration"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); // foreach(System.Management.ManagementObject MO in adapterObjects) string[] sIP = {"192","168","0","221"}; string nicName = ""; foreach(System.Management.ManagementObject MO in moc) { if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true) { try { nicName = Convert.ToString(MO.GetPropertyValue("Caption")); } catch(Exception Err) { string peekerror = Err.Message; } string[] sParse = nicName.Split("]".ToCharArray()); if(sParse.Length < 2) continue; if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())|| (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower())) { try { bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); } catch(Exception Err) { string peekerror = Err.Message; } } // else if(sParse[1] == " Realtek RTL8029(AS) PCI Ethernet Adapter") // { // try // { // bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); // } // catch(Exception Err) // { // string peekerror = Err.Message; // } // } // else if(sParse[1] == " ASUSTeK/Broadcom 440x 10/100 Integrated Controller") // { // try // { // bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); // } // catch(Exception Err) // { // string peekerror = Err.Message; // } // } else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)") { try { bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled")); } catch(Exception Err) { string peekerror = Err.Message; } } } } return bStatus; }