/// <summary> /// OS上の全プロセスからプロセスの実行パスを基に該当するプログラムのプロセスIDを取得します。 /// 見つからない場合はゼロを応答します。 /// </summary> /// <param name="ExecutablePath">探索対象のプログラムの起動パス</param> /// <param name="error"></param> /// <returns></returns> private static int get_processID(string ExecutablePath, out string error) { int procID = 0; error = ""; try { System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Process"); System.Management.ManagementObjectCollection moc = mc.GetInstances(); foreach (System.Management.ManagementObject mo in moc) { /* * Console.WriteLine("プロセス名:{0}", mo["Name"]); * Console.WriteLine("プロセスID:{0}", mo["ProcessId"]); * Console.WriteLine("ファイル名:{0}", mo["ExecutablePath"]); * //ファイル名:C:\Users\GFIT\u00000212\OANDA-Japan Practice - デモ口座\6835252\USDJPY\H1\terminal.exe */ if (ExecutablePath == (String)mo["ExecutablePath"]) { procID = Convert.ToInt32(mo["ProcessId"]); } mo.Dispose(); } moc.Dispose(); mc.Dispose(); return(procID); } catch (System.Exception ex) { logger.Error(ex.Message); error = ex.Message; return(procID); } }
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; } }