public string GetProcessStatus(string serviceName) { string host = Scope.Path.Server; string processId = string.Empty; string processName = string.Empty; string processState = string.Empty; string startMode = string.Empty; ManagementObjectCollection queryCollection = null; try { ObjectQuery query = new ObjectQuery("SELECT ProcessId,PathName,State,StartMode,Status FROM Win32_Service WHERE name='" + serviceName + "'"); ManagementObjectCollection queryColl = Query(query, WmiPath.Root); int mgmtObjCount = queryColl.Count; queryCollection = Query(query, WmiPath.Root); if (mgmtObjCount > 0) { ManagementObjectCollection.ManagementObjectEnumerator en = queryCollection.GetEnumerator(); while (en.MoveNext()) { ManagementObject obj = (ManagementObject)en.Current; processId = obj.GetValue("ProcessId"); string pathName = obj.GetValue("PathName"); processState = obj.GetValue("State"); if (obj.GetValue("StartMode") != "") { startMode = obj.GetValue("StartMode"); } string[] s = new string[] { "\\" }; string[] arrPath = pathName.Split(s, StringSplitOptions.RemoveEmptyEntries); foreach (string tempStr in arrPath) { if (tempStr.Contains(".exe")) { processName = tempStr.Substring(Int32.Parse("0"), tempStr.IndexOf(".exe") + Int32.Parse("4")); } } } } else { processState = Enum.GetName(typeof(ServiceReturnCode), ServiceReturnCode.ServiceNotFound); processName = serviceName; startMode = "ServiceNotFound"; } return(string.Format("{0}|{1}|{2}", processName, processState, startMode)); } catch (Exception ex) { throw ex; } }
public List <string> GetAllProcess() { ObjectQuery query = null; List <string> result = new List <string>(); try { query = new ObjectQuery("SELECT ProcessID,PathName,State,StartMode,StartName FROM Win32_process"); ManagementObjectCollection collection = Query(query, WmiPath.Root); ManagementObjectCollection.ManagementObjectEnumerator en = collection.GetEnumerator(); while (en.MoveNext()) { ManagementObject obj = (ManagementObject)en.Current; //ProcessID string processId = obj.GetValue("ProcessId"); //processName from PathName string processName = string.Empty; string pathName = obj.GetValue("PathName"); string[] s = new string[] { "\\" }; string[] arrPath = pathName.Split(s, StringSplitOptions.RemoveEmptyEntries); foreach (string tempStr in arrPath) { if (tempStr.Contains(".exe")) { processName = tempStr.Substring(Int32.Parse("0"), tempStr.IndexOf(".exe") + Int32.Parse("4")); } } //State string state = obj.GetValue("State"); //StartMode string startMode = obj.GetValue("StartMode"); //StartName string startName = obj.GetValue("StartName"); result.Add(processId + "|" + processName); } return(result); } catch (Exception ex) { throw ex; } }
void GetProcess(string serviceName, out string processId, out string processName) { string host = Scope.Path.Server; processId = string.Empty; processName = string.Empty; try { ObjectQuery query = new ObjectQuery("SELECT ProcessId,PathName FROM Win32_Service WHERE name='" + serviceName + "'"); ManagementObjectCollection queryCollection = Query(query, WmiPath.Root); ManagementObjectCollection.ManagementObjectEnumerator en = queryCollection.GetEnumerator(); while (en.MoveNext()) { ManagementObject obj = (ManagementObject)en.Current; processId = obj.GetValue("ProcessId"); string pathName = obj.GetValue("PathName"); string[] s = new string[] { "\\" }; string[] arrPath = pathName.Split(s, StringSplitOptions.RemoveEmptyEntries); foreach (string tempStr in arrPath) { if (tempStr.Contains(".exe")) { processName = tempStr.Substring(Int32.Parse("0"), tempStr.IndexOf(".exe") + Int32.Parse("4")); } } } } catch (Exception ex) { throw ex; } }
private static SerialPortInfo GetInfoFromPnPEntity(ManagementObject queryObj) { var info = new SerialPortInfo(); info.FullName = queryObj.GetValue("Name"); info.Name = GetPortNameFromFullName(info.FullName); info.Description = queryObj.GetValue("Description"); info.Manufacturer = queryObj.GetValue("Manufacturer"); info.Service = queryObj.GetValue("Service"); info.Status = queryObj.GetValue("Status"); info.ClassGuid = queryObj.GetValue("ClassGuid"); info.DeviceID = queryObj.GetValue("DeviceID"); return(info); }
public string GetProcessDetailsByServiceName(string serviceName) { string host = Scope.Path.Server; string processId = string.Empty; string processName = string.Empty; string processState = string.Empty; string startMode = string.Empty; try { ObjectQuery query = new ObjectQuery("SELECT ProcessId,PathName,State,StartMode,Status FROM Win32_Service WHERE name='" + serviceName + "'"); ManagementObjectCollection queryCollection = Query(query, WmiPath.Root); ManagementObjectCollection.ManagementObjectEnumerator en = queryCollection.GetEnumerator(); while (en.MoveNext()) { ManagementObject obj = (ManagementObject)en.Current; processId = obj.GetValue("ProcessId"); string pathName = obj.GetValue("PathName"); processState = obj.GetValue("State"); if (obj.GetValue("StartMode") != "") { startMode = obj.GetValue("StartMode"); } string[] s = new string[] { "\\" }; string[] arrPath = pathName.Split(s, StringSplitOptions.RemoveEmptyEntries); foreach (string tempStr in arrPath) { if (tempStr.Contains(".exe")) { processName = tempStr.Substring(Int32.Parse("0"), tempStr.IndexOf(".exe") + Int32.Parse("4")); } } } ObjectQuery queryProcess = null; if (!processId.Equals(string.Empty) && !processName.Equals(string.Empty)) { queryProcess = new ObjectQuery("SELECT * FROM Win32_Process WHERE name='" + processName + "' AND ProcessId=" + processId); } else if (processId.Equals(string.Empty) && !processName.Equals(string.Empty)) { queryProcess = new ObjectQuery("SELECT * FROM Win32_Process WHERE name='" + processName + "'"); } else if (!processId.Equals(string.Empty) && processName.Equals(string.Empty)) { queryProcess = new ObjectQuery("SELECT * FROM Win32_Process WHERE ProcessId='" + processId + "'"); } else { throw new Exception("ProcessName and Processid are empty"); } ManagementObjectCollection queryProcessCollection = Query(queryProcess, WmiPath.Root); foreach (ManagementObject process in queryProcessCollection) { foreach (PropertyData propData in process.Properties) { //log.Info( string.Format( "\n ProcessProperties {0} : {1}", propData.Name.ToString(), propData.Value.ToString() ) ); } } return(string.Format("{0}|{1}|{2}", processName, processState, startMode)); } catch (Exception ex) { throw ex; } }