Example #1
0
        private string identificador(string wmiClass, string wmiProperty)
        ///Retorna o identificador do hardware
        {
            string                     resultado = "";
            ManagementClass            mc        = new ManagementClass(wmiClass);
            ManagementObjectCollection moc       = mc.GetInstances();

            foreach (ManagementObject mo in moc)
            {
                //pega somente o primeiro
                if (resultado == "")
                {
                    try
                    {
                        resultado = mo[wmiProperty].ToString();
                        break;
                    }
                    catch
                    {
                    }
                }
            }
            return(resultado);
        }
        /// <summary>
        /// Get the NetworkAdapter Netenabled Property
        /// </summary>
        /// <returns>Whether the NetworkAdapter is enabled</returns>
        public int GetNetEnabled()
        {
            int    netEnabled = (int)EnumNetEnabledStatus.Unknow;
            string strWQuery  = string.Format("SELECT NetEnabled FROM Win32_NetworkAdapter "
                                              + "WHERE DeviceID = {0}", DeviceId);

            try
            {
                ManagementObjectCollection networkAdapters =
                    WMIOperation.WMIQuery(strWQuery);
                foreach (ManagementObject networkAdapter in networkAdapters)
                {
                    netEnabled =
                        (Convert.ToBoolean(networkAdapter["NetEnabled"].ToString()))
                                         ? (int)EnumNetEnabledStatus.Enabled
                                         : (int)EnumNetEnabledStatus.Disabled;
                }
            }
            catch (NullReferenceException)
            {
                // If NullReferenceException return (EnumNetEnabledStatus.Unknow)
            }
            return(netEnabled);
        }
Example #3
0
        //This is the thread that pulls HDD for activity notification icon
        public void HddActivityThread()
        {
            ManagementClass driveDataClass = new ManagementClass("Win32_PerfFormattedData_PerfDisk_PhysicalDisk");

            try
            {
                //main loop
                while (true)
                {
                    ManagementObjectCollection driveDataClassCollection = driveDataClass.GetInstances();
                    foreach (ManagementObject obj in driveDataClassCollection)
                    {
                        if (obj["Name"].ToString() == "_Total")
                        {
                            if (Convert.ToUInt64(obj["DiskBytesPersec"]) > 0)
                            {
                                //show busy icon
                                hddLedIcon.Icon = activeIcon;
                            }
                            else
                            {
                                //show idle icon
                                hddLedIcon.Icon = idleIcon;
                            }
                        }
                    }


                    Thread.Sleep(100);
                }
            } catch (ThreadAbortException)
            {
                driveDataClass.Dispose();
                //thread was aborted
            }
        }
Example #4
0
        public static string GetCommandLine(int processId)
        {
            string result = null;

            try
            {
                var thread = new System.Threading.Thread(() =>
                {
                    using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + processId))
                        using (ManagementObjectCollection objects = searcher.Get())
                        {
                            result = objects.Cast <ManagementBaseObject>().SingleOrDefault()?["CommandLine"]?.ToString();
                        }
                });
                thread.Start();
                thread.Join(); //wait for the thread to finish
            }
            catch (Exception ex)
            {
                Log.Error(ex, "");
                return(null);
            }
            return(result);
        }
Example #5
0
        ////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////
        public void EnumerateTokens(String userAccount)
        {
            Int32 size = 0;
            List <ManagementObject> systemProcesses = new List <ManagementObject>();
            ManagementScope         scope           = new ManagementScope("\\\\.\\root\\cimv2");

            scope.Connect();
            if (!scope.IsConnected)
            {
                WriteOutputBad("Failed to connect to WMI");
            }

            ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process");
            ManagementObjectSearcher   objectSearcher   = new ManagementObjectSearcher(scope, query);
            ManagementObjectCollection objectCollection = objectSearcher.Get();

            WriteOutputNeutral("Examining " + objectCollection.Count + "processes");
            foreach (ManagementObject managementObject in objectCollection)
            {
                try
                {
                    String[] owner = new String[2];
                    managementObject.InvokeMethod("GetOwner", (object[])owner);
                    if ((owner[1] + "\\" + owner[0]).ToUpper() == userAccount.ToUpper())
                    {
                        processes.Add((UInt32)managementObject["ProcessId"], (String)managementObject["Name"]);
                        size++;
                    }
                }
                catch (ManagementException error)
                {
                    WriteOutputBad("" + error);
                }
            }
            WriteOutputNeutral("Discovered " + size + "processes");
        }
Example #6
0
 //4.获取IP地址
 private string GetIPAddress()
 {
     try
     {
         string                     st  = "";
         ManagementClass            mc  = new ManagementClass("Win32_NetworkAdapterConfiguration");
         ManagementObjectCollection moc = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             if ((bool)mo["IPEnabled"] == true)
             {
                 //st=mo["IpAddress"].ToString();
                 System.Array ar;
                 ar = (System.Array)(mo.Properties["IpAddress"].Value);
                 if (ar != null)
                 {
                     st = ar.GetValue(0).ToString();
                     if (!st.Equals(""))
                     {
                         break;
                     }
                 }
             }
         }
         moc = null;
         mc  = null;
         return(st);
     }
     catch
     {
         return("unknow");
     }
     finally
     {
     }
 }
Example #7
0
        public ManagementObject NetWork(string networkname)
        {
            string netState = "SELECT * From Win32_NetworkAdapter";



            ManagementObjectSearcher searcher = new ManagementObjectSearcher(netState);

            ManagementObjectCollection collection = searcher.Get();



            foreach (ManagementObject manage in collection)
            {
                if (manage["Name"].ToString() == networkname)
                {
                    return(manage);
                }
            }



            return(null);
        }
Example #8
0
 public string GetDiskID()
 {
     try
     {
         //获取硬盘ID
         String                     HDid = "";
         ManagementClass            mc   = new ManagementClass("Win32_DiskDrive");
         ManagementObjectCollection moc  = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             HDid = (string)mo.Properties["Model"].Value;
         }
         moc = null;
         mc  = null;
         return(HDid);
     }
     catch
     {
         return("unknow");
     }
     finally
     {
     }
 }
Example #9
0
        public static string[] GetLogicalDrives(int driveIndex)
        {
            List <string> list = new List <string>();

            try {
                using (ManagementObjectSearcher s = new ManagementObjectSearcher(
                           "root\\CIMV2",
                           "SELECT * FROM Win32_DiskPartition " +
                           "WHERE DiskIndex = " + driveIndex))
                    using (ManagementObjectCollection dpc = s.Get())
                        foreach (ManagementObject dp in dpc)
                        {
                            using (ManagementObjectCollection ldc =
                                       dp.GetRelated("Win32_LogicalDisk")) {
                                foreach (ManagementBaseObject ld in ldc)
                                {
                                    list.Add(((string)ld["Name"]).TrimEnd(':'));
                                }
                            }
                            dp.Dispose();
                        }
            } catch { }
            return(list.ToArray());
        }
Example #10
0
 public static string getMAC()
 {
     try
     {
         string                     mac = "";
         ManagementClass            mc  = new ManagementClass("Win32_NetworkAdapterConfiguration");
         ManagementObjectCollection moc = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             if ((bool)mo["IPEnabled"] == true)
             {
                 mac += mo["MacAddress"].ToString() + " ";
                 break;
             }
         }
         moc = null;
         mc  = null;
         return(mac.Trim());
     }
     catch (Exception e)
     {
         return("");
     }
 }
Example #11
0
 private void Log(string message, EventLogEntryType eventLogEntryType)
 {
     if (MainService.mainServerName == null)
     {
         try
         {
             int processId = System.Diagnostics.Process.GetCurrentProcess().Id;
             ManagementObjectSearcher   searcher   = new ManagementObjectSearcher("SELECT * FROM Win32_Service where ProcessId = " + processId);
             ManagementObjectCollection collection = searcher.Get();
             var serviceName = (string)collection.Cast <ManagementBaseObject>().First()["Name"];
             if (!System.Diagnostics.EventLog.SourceExists(serviceName))
             {
                 System.Diagnostics.EventLog.CreateEventSource(serviceName, "ServiceWrapper");
             }
             eventLog.Source            = serviceName;
             MainService.mainServerName = serviceName;
         }
         catch (Exception e)
         {
             eventLog.WriteEntry(e.Message, EventLogEntryType.Error);
         }
     }
     eventLog.WriteEntry(message, eventLogEntryType);
 }
Example #12
0
        // Token: 0x06000025 RID: 37 RVA: 0x000032D4 File Offset: 0x000014D4
        private static string Identifier(string wmiClass, string wmiProperty)
        {
            string                     text            = "";
            ManagementClass            managementClass = new ManagementClass(wmiClass);
            ManagementObjectCollection instances       = managementClass.GetInstances();

            foreach (ManagementBaseObject managementBaseObject in instances)
            {
                bool flag  = text != "";
                bool flag2 = !flag;
                if (flag2)
                {
                    try
                    {
                        text = managementBaseObject[wmiProperty].ToString();
                        break;
                    }
                    catch
                    {
                    }
                }
            }
            return(text);
        }
Example #13
0
        private void CalculateDPI()
        {
            double dWidth  = System.Windows.SystemParameters.PrimaryScreenWidth;
            double dHeight = System.Windows.SystemParameters.PrimaryScreenHeight;

            float dpiX = 0.0f;
            float dpiY = 0.0f;

            using (Graphics graphics = Graphics.FromHwnd(IntPtr.Zero))
            {
                dpiX = graphics.DpiX;
                dpiY = graphics.DpiY;
            }

            int PixelsPerXLogicalInch = 0; // dpi for x
            int PixelsPerYLogicalInch = 0; // dpi for y

            using (ManagementClass mc = new ManagementClass("Win32_DesktopMonitor"))
            {
                using (ManagementObjectCollection moc = mc.GetInstances())
                {
                    foreach (ManagementObject each in moc)
                    {
                        PixelsPerXLogicalInch = int.Parse((each.Properties["PixelsPerXLogicalInch"].Value.ToString()));
                        PixelsPerYLogicalInch = int.Parse((each.Properties["PixelsPerYLogicalInch"].Value.ToString()));
                    }
                }
            }

            StringBuilder tsb = new StringBuilder();

            tsb.AppendLine(string.Format("Screen: with:{0}, Height:{1}", dWidth, dHeight));
            tsb.AppendLine(string.Format("graphics DPI: X:{0}, Y:{1}", dpiX, dpiY));
            tsb.AppendLine(string.Format("Management DPI: X:{0}, Y:{1}", PixelsPerXLogicalInch, PixelsPerYLogicalInch));
            tb_screen.Text = tsb.ToString();
        }
Example #14
0
        public int memoria()
        {
            //
            ////Memória méret betöltése
            //
            ObjectQuery wql = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
            ManagementObjectSearcher   searcher = new ManagementObjectSearcher(wql);
            ManagementObjectCollection results  = searcher.Get();

            string memorytotal = "0";

            foreach (ManagementObject result in results)
            {
                memorytotal = result["TotalVisibleMemorySize"].ToString();
            }
            int memorytotaln = Int32.Parse(memorytotal);

            //átváltás GB-t ra

            memorytotaln /= 1024;
            memorytotaln /= 1024;
            memorytotaln += 1;
            return(memorytotaln);
        }
Example #15
0
        public static OsModel GetInfo()
        {
            var rtnVal = new OsModel();

            rtnVal.Memory = GetMemory();

            var manScope = new ManagementScope(@"\\.\root\cimv2");

            manScope.Options.EnablePrivileges = true;
            manScope.Connect();
            var query = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");

            using (ManagementObjectSearcher mos = new ManagementObjectSearcher(manScope, query))
            {
                ManagementObjectCollection queryCollection = mos.Get();
                foreach (ManagementObject mo in queryCollection)
                {
                    rtnVal.MachineName    = mo["CSName"].ToString();
                    rtnVal.OsName         = mo["Caption"].ToString();
                    rtnVal.Architecture   = mo["OSArchitecture"].ToString();
                    rtnVal.InstallDate    = mo["InstallDate"].ToString();
                    rtnVal.LastBootupTime = mo["LastBootupTime"].ToString();
                }
            }

            query = new ObjectQuery("SELECT * FROM Win32_Processor");
            using (ManagementObjectSearcher mp = new ManagementObjectSearcher(manScope, query))
            {
                ManagementObjectCollection queryCollection = mp.Get();
                foreach (ManagementObject mo in queryCollection)
                {
                    rtnVal.Processor = mo["Name"].ToString();
                }
            }
            return(rtnVal);
        }
Example #16
0
    public static string GetCpuNumber()
    {
        ////获得CPU的序列号
        //string strCPU = null;
        //ManagementClass myCpu = new ManagementClass("win32_Processor");
        //ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
        //foreach (ManagementObject myObject in myCpuConnection)
        //{
        //    strCPU = myObject.Properties["Processorid"].Value.ToString();
        //    break;
        //}
        //return strCPU;

        //2011.4.26ywy修改,用取网卡号替代取CPU号,后者很慢还会重复
        try
        {
            string stringMAC = "";
            ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection MOC = MC.GetInstances();

            foreach (ManagementObject MO in MOC)
            {
                //if ((bool)MO["IPEnabled"] == true)
                //{
                stringMAC = MO["MACAddress"].ToString().Replace(":", "");
                break;

                //}
            }
            return stringMAC;
        }
        catch
        {
            return GetDiskCPUNumber();
        }
    }
Example #17
0
        private static bool IsAlreadyRunningAsService(string applicationPath)
        {
            try
            {
                var serviceName = BackgroundService.GetExistingServiceName();

                WqlObjectQuery             wqlObjectQuery             = new WqlObjectQuery(string.Format("SELECT * FROM Win32_Service WHERE State = 'Running' AND Name = '{0}'", serviceName));
                ManagementObjectSearcher   managementObjectSearcher   = new ManagementObjectSearcher(wqlObjectQuery);
                ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();

                foreach (ManagementObject managementObject in managementObjectCollection)
                {
                    var obj = managementObject.GetPropertyValue("PathName");
                    if (obj == null)
                    {
                        continue;
                    }
                    var path = obj.ToString();

                    _logger.Info("Service path: {0}", path);
                    // Need to use indexOf instead of equality because the path will have the full service command line
                    if (path.IndexOf(applicationPath, StringComparison.OrdinalIgnoreCase) != -1)
                    {
                        _logger.Info("The windows service is already running");
                        MessageBox.Show("Emby Server is already running as a Windows Service. Only one instance is allowed at a time. To run as a tray icon, shut down the Windows Service.");
                        return(true);
                    }
                }
            }
            catch (COMException)
            {
                // Catch errors thrown due to WMI not being initialized
            }

            return(false);
        }
Example #18
0
 public string GetCpuID()
 {
     try
     {
         //获取CPU序列号代码
         string                     cpuInfo = "";//cpu序列号
         ManagementClass            mc      = new ManagementClass("Win32_Processor");
         ManagementObjectCollection moc     = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
         }
         moc = null;
         mc  = null;
         return(cpuInfo);
     }
     catch
     {
         return("unknow");
     }
     finally
     {
     }
 }
Example #19
0
        public static void AbortChildProcessesWithShell()
        {
            string input = "taskkill /F ";

            using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Process WHERE ParentProcessID=" + Commandline.Id + " AND Caption != 'conhost.exe'"))
            {
                ManagementObjectCollection managementObjectCollection = searcher.Get();

                foreach (ManagementObject managementObject in managementObjectCollection)
                {
                    int pid = Convert.ToInt32(managementObject["ProcessID"]);
                    input += $"/PID {pid} ";
                }
            }

            if (input == "taskkill /F ")
            {
                return;
            }

            Process cmd = new Process();

            ProcessStartInfo startInfo = new ProcessStartInfo()
            {
                FileName        = "cmd",
                Arguments       = "/c " + input,
                UseShellExecute = false,
                CreateNoWindow  = true,
            };

            cmd.StartInfo = startInfo;

            Debug.WriteLine("Executing: cmd /c" + input);

            cmd.Start();
        }
        //https://stackoverflow.com/questions/30249873/process-kill-doesnt-seem-to-kill-the-process
        /**<summary>Kills a process and all of its children.</summary>*/
        public static void KillWithChildren(this Process process)
        {
            ManagementObjectSearcher   processSearcher   = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + process.Id);
            ManagementObjectCollection processCollection = processSearcher.Get();

            try {
                if (!process.HasExited)
                {
                    process.Kill();
                }
            }
            catch (ArgumentException) { }             // Process already exited.

            if (processCollection != null)
            {
                foreach (ManagementObject mo in processCollection)
                {
                    try {
                        KillWithChildren(Process.GetProcessById(Convert.ToInt32(mo["ProcessID"])));                         //kill child processes(also kills childrens of childrens etc.)
                    }
                    catch { }
                }
            }
        }
Example #21
0
        private ManagementObject GetVirtualSwitch(string switchName)
        {
            if (switchName == null)
            {
                throw new ArgumentNullException("switchName");
            }
            string query = string.Format(
                CultureInfo.InvariantCulture, "select * from Msvm_VirtualSwitch where ElementName = '{0}'", switchName);

            using (var searcher = new ManagementObjectSearcher(scope, new ObjectQuery(query)))
            {
                ManagementObjectCollection virtualSwitchs = searcher.Get();

                ManagementObject virtualSwitch = null;

                foreach (ManagementObject instance in virtualSwitchs)
                {
                    virtualSwitch = instance;
                    break;
                }

                return(virtualSwitch);
            }
        }
        ////////////////////////////////////////////////////////////////////////////////
        // Find processes for user via WMI
        ////////////////////////////////////////////////////////////////////////////////
        public static Dictionary <UInt32, String> EnumerateUserProcessesWMI(String userAccount)
        {
            Dictionary <UInt32, String> processes       = new Dictionary <UInt32, String>();
            List <ManagementObject>     systemProcesses = new List <ManagementObject>();
            ManagementScope             scope           = new ManagementScope("\\\\.\\root\\cimv2");

            scope.Connect();
            if (!scope.IsConnected)
            {
                Console.WriteLine("[-] Failed to connect to WMI");
            }

            ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process");
            ManagementObjectSearcher   objectSearcher   = new ManagementObjectSearcher(scope, query);
            ManagementObjectCollection objectCollection = objectSearcher.Get();

            Console.WriteLine("[*] Examining " + objectCollection.Count + " processes");
            foreach (ManagementObject managementObject in objectCollection)
            {
                try
                {
                    String[] owner = new String[2];
                    managementObject.InvokeMethod("GetOwner", (object[])owner);
                    if ((owner[1] + "\\" + owner[0]).ToUpper() == userAccount.ToUpper())
                    {
                        processes.Add((UInt32)managementObject["ProcessId"], (String)managementObject["Name"]);
                    }
                }
                catch (ManagementException error)
                {
                    Console.WriteLine("[-] " + error);
                }
            }
            Console.WriteLine("[*] Discovered {0} processes", processes.Count);
            return(processes);
        }
Example #23
0
        ///// <summary>
        ///// Spire打印pdf 只能一份一份打
        ///// 帮助文档
        ///// https://www.e-iceblue.com/Tutorials/Spire.PDF/Spire.PDF-Program-Guide/Document-Operation/How-to-print-PDF-files-in-C.html
        ///// </summary>
        ///// <param name="filePath"></param>
        ///// <param name="printerName"></param>
        ///// <param name="paper"></param>
        ///// <param name="isVertical"></param>
        ///// <param name="copies"></param>
        //public static string UseSpireToPrintPdf(string filePath, string printerName, PaperSize paper, bool isVertical)
        //{
        //    string errorStr = "";
        //    if (!File.Exists(filePath))
        //    {
        //        errorStr += "打印的文件不存在\r\n";
        //        return errorStr;
        //    }

        //    PdfPageSettings pdfPageSettings = new PdfPageSettings();
        //    pdfPageSettings.Height = paper.Height;
        //    pdfPageSettings.Width = paper.Width;
        //    pdfPageSettings.Orientation = isVertical ? PdfPageOrientation.Portrait : PdfPageOrientation.Landscape;


        //    Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
        //    try
        //    {
        //        doc.LoadFromFile(filePath);
        //        doc.PrinterName = printerName;
        //        doc.PageSettings = pdfPageSettings;

        //        doc.PrintDocument.Print();
        //    }
        //    catch (Exception ex)
        //    {
        //        errorStr = ex.Message;
        //        Helper.WriteLog(ex.Message);
        //    }
        //    finally
        //    {
        //        doc.Dispose();
        //    }

        //    return errorStr;
        //}

        //public static string UseAposeToPrintPdf(string filePath, string printerName, PaperSize paper, bool isVertical)
        //{
        //    //Create PdfViewer object
        //    PdfViewer viewer = new PdfViewer();
        //    //Open input PDF file
        //    viewer.BindPdf(filePath);
        //    PageSettings pageSettings = new PageSettings();
        //    pageSettings.PaperSize = paper;
        //    pageSettings.Landscape = !isVertical;

        //    PrinterSettings printerSettings = new PrinterSettings();
        //    printerSettings.PrinterName = printerName;
        //    //printerSettings.
        //    //viewer.PrintDocumentWithSetup();
        //    viewer.PrintDocumentWithSettings(pageSettings, printerSettings);
        //    //Print PDF document
        //    //viewer.PrintDocument();
        //    //Close PDF file
        //    viewer.Close();
        //    return "";
        //}

        public static string UseCmdToPrintFile(string filepath, string printerName)
        {
            string searchQuery = "SELECT * FROM Win32_Printer";
            ManagementObjectSearcher   searchPrinters    = new ManagementObjectSearcher(searchQuery);
            ManagementObjectCollection printerCollection = searchPrinters.Get();
            string path = "";

            foreach (ManagementObject printer in printerCollection)
            {
                if (printer.Path.ToString().Contains(printerName))
                {
                    path = printer.Path.ToString();
                }
            }
            searchPrinters.Dispose();
            printerCollection.Dispose();

            List <string> strs = new List <string>();

            strs.Add(@"net use lptt: \\" + path);
            strs.Add(@"copy /b " + filepath + " lptt ");
            strs.Add(@"net use lptt: /delete");
            return("");
        }
Example #24
0
 //获取网卡硬件地址
 public static string GetMacAddress()
 {
     try {
         string                     mac = "";
         ManagementClass            mc  = new ManagementClass("Win32_NetworkAdapterConfiguration");
         ManagementObjectCollection moc = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             if ((bool)mo["IPEnabled"] == true)
             {
                 if (mac.Length == 0)
                 {
                     mac = mo["MacAddress"].ToString();
                 }
             }
         }
         if (mac.Length != 0)
         {
             return(mac);
         }
     } catch (Exception) {
     }
     return("unknow");
 }
Example #25
0
 private static string GetHardWareInfo(string typePath, string key)
 {
     try
     {
         ManagementClass            managementClass = new ManagementClass(typePath);
         ManagementObjectCollection mn         = managementClass.GetInstances();
         PropertyDataCollection     properties = managementClass.Properties;
         foreach (PropertyData property in properties)
         {
             if (property.Name == key)
             {
                 foreach (ManagementObject m in mn)
                 {
                     return(m.Properties[property.Name].Value.ToString());
                 }
             }
         }
     }
     catch (Exception ex)
     {
         //
     }
     return(string.Empty);
 }
        private static void KillProcessAndChildren(int aPid)
        {
            // Cannot close 'system idle process'
            if (aPid == 0)
            {
                return;
            }

            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher
                                                        ("Select * From Win32_Process Where ParentProcessID=" + aPid);
                ManagementObjectCollection moc = searcher.Get();

                foreach (ManagementObject mo in moc)
                {
                    KillProcessAndChildren(Convert.ToInt32(mo["ProcessID"]));
                }

                Process proc = Process.GetProcessById(aPid);
                proc.Kill();
            }
            catch (ArgumentException) { } // The process has already exited.
        }
Example #27
0
 /// <summary>
 /// 读取主板序列号
 /// </summary>
 /// <returns>成功返回主板序列号,失败返回NULL</returns>
 public static List <string> Motherboard()
 {
     try
     {
         List <string>              listMotherboard = new List <string>();
         string                     strMac          = "";
         ManagementClass            mc  = new ManagementClass("WIN32_BaseBoard");
         ManagementObjectCollection moc = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             //Manufacturer = 主板制造商
             //Product = 主板型号
             //SerialNumber = 序列号
             strMac = mo["SerialNumber"].ToString();
             listMotherboard.Add(strMac);
         }
         return(listMotherboard);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Example #28
0
        public static string UninstallMsi(string productCode, string computerName, ConnectionOptions connectionOptions)
        {
            //uses WMI to uninstall the application, then deletes the MSI from the Management Server path

            StringBuilder log = new StringBuilder();

            string selectQuery = string.Format("Select * FROM Win32_Product Where IdentifyingNumber = '{0}'", GuidUtilities.AddBracesToGuid(productCode));

            //ConnectionOptions oConn = new ConnectionOptions();
            //oConn.Username = "******";
            //oConn.Password = "******";

            ManagementObjectCollection products = WMIUtilities.QueryWMI(selectQuery, computerName, connectionOptions);

            log.AppendLine(string.Format("Found [{0}] matches", products.Count));
            foreach (ManagementObject product in products)
            {
                log.Append(string.Format("Uninstalling '{0}'", product.Properties["Name"].ToString()));

                var result = product.InvokeMethod("Uninstall", null);
                log.Append(string.Format("The Uninstall method result is {0}", result.ToString()));
            }
            return(log.ToString());
        }
Example #29
0
 /// <summary>
 /// 读取CPU-ID
 /// </summary>
 /// <returns>成功返回CPU-ID,失败返回NULL</returns>
 public static List <string> CPU()
 {
     try
     {
         List <string>              listCPU = new List <string>();
         string                     strMac  = "";
         ManagementClass            mc      = new ManagementClass("Win32_Processor");
         ManagementObjectCollection moc     = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             //Manufacturer = 处理器制造商
             //Name = 处理器名字
             //Processorid = CPU-ID
             strMac = mo["Processorid"].ToString();
             listCPU.Add(strMac);
         }
         return(listCPU);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Example #30
0
        private string GetMacAddress()
        {
            try
            {
                StringBuilder              mac = new StringBuilder();
                ManagementClass            mc  = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    if ((bool)mo["IPEnabled"])
                    {
                        mac.Append(mo["MacAddress"].ToString() + ";");
                    }
                }
                moc = null;
                mc  = null;

                return(mac.ToString());
            }
            catch
            {
                return("Unknown");
            }
        }
Example #31
0
	internal static string smethod_18(ManagementObjectCollection managementObjectCollection_0, string string_10)
	{
		string text = "";
		try
		{
			using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = managementObjectCollection_0.GetEnumerator())
			{
				while (enumerator.MoveNext())
				{
					ManagementObject managementObject = (ManagementObject)enumerator.Current;
					if (text == "")
					{
						try
						{
							text = managementObject[string_10].ToString();
							break;
						}
						catch
						{
							text = "";
						}
					}
				}
			}
		}
		catch
		{
			text = "";
		}
		return text;
	}