コード例 #1
1
ファイル: SID.cs プロジェクト: reticon/CCMClient
 public static string ShowUserSID(string username)
 {
     // local scope
     string[] unames = username.Split("\\".ToCharArray(),2);
     string d = "";
     string n = "";
     d = unames[0];
     if (unames.Length < 2)
     {
         n = unames[0];
         d = "US_IBS";
     }
     else
         n = unames[1];
     ConnectionOptions co = new ConnectionOptions();
     //co.Username = username;
     ManagementScope msc = new ManagementScope ("\\root\\cimv2",co);
     string queryString = "SELECT * FROM Win32_UserAccount where LocalAccount = false AND SIDType = 1 AND Domain = '" + d+ "' AND Name = '" + n + "'";
     //System.Windows.Forms.MessageBox.Show(queryString);
     SelectQuery q = new SelectQuery (queryString);
     query = new ManagementObjectSearcher(msc, q);
     queryCollection = query.Get();
     string res=String.Empty;
     foreach( ManagementObject mo in queryCollection )
     {
         // there should be only one here!
         res+= mo["SID"].ToString();
         //res+= mo["Name"]+"\n";
     }
     return res;
 }
コード例 #2
0
ファイル: readproc.cs プロジェクト: penguin016/Rewrite4
        public string GetProcessUserName(int pid)
        {
            string text1 = null;
            SelectQuery query = new SelectQuery("Select * from Win32_Process WHERE processID=" + pid);
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
            try
            {
                foreach (ManagementObject disk in searcher.Get())
                {
                    ManagementBaseObject inPar = null;
                    ManagementBaseObject outPar = null;

                    inPar = disk.GetMethodParameters("GetOwner");
                    outPar = disk.InvokeMethod("GetOwner", inPar, null);

                    text1 = outPar["User"].ToString();
                    break;
                }
            }
            catch
            {
                text1 = "SYSTEM";
            }
            return text1;
        }
コード例 #3
0
ファイル: Screen.cs プロジェクト: kadmelia/VSLiquidDuino
        // Detect arduino com port
        private string autodetectArduinoPort()
        {
            ManagementScope connectionScope = new ManagementScope();
            SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery);

            try
            {
                foreach (ManagementObject item in searcher.Get())
                {
                    string desc = item["Description"].ToString();
                    string deviceId = item["DeviceID"].ToString();

                    if (desc.Contains("Arduino"))
                    {
                        return deviceId;
                    }
                }
            }
            catch (ManagementException e)
            {
                /* Do Nothing */
            }

            return null;
        }
コード例 #4
0
        private uint GetSystemMemorySize()
        {
            UInt64 size   = 0;
            uint   mbSize = 0;

            try
            {
                System.Management.SelectQuery selectQuery
                    = new System.Management.SelectQuery("Win32_ComputerSystem");
                System.Management.ManagementObjectSearcher searcher
                    = new System.Management.ManagementObjectSearcher(selectQuery);
                foreach (System.Management.ManagementObject comp in searcher.Get())
                {
                    size += ((UInt64)(comp["TotalPhysicalMemory"]));
                }

                mbSize = (uint)(size / (1024 * 1024));
            }
            catch (Exception)
            {
                mbSize = 0;
            }

            LogManager.Instance.Write("Total System Memory Size: {0}MB", mbSize);
            return(mbSize);
        }
コード例 #5
0
ファイル: SccmClientServices.cs プロジェクト: ZXeno/Andromeda
        public void TriggerClientAction(string scheduleId, ManagementScope remote)
        {
            ObjectQuery query = new SelectQuery("SELECT * FROM meta_class WHERE __Class = 'SMS_Client'");
            var eOption = new EnumerationOptions();
            var searcher = new ManagementObjectSearcher(remote, query, eOption);
            var queryCollection = searcher.Get();

            foreach (ManagementObject ro in queryCollection)
            {
                // Obtain in-parameters for the method
                var inParams = ro.GetMethodParameters("TriggerSchedule");

                // Add the input parameters.
                inParams["sScheduleID"] = scheduleId;

                try
                {
                    var outParams = ro.InvokeMethod("TriggerSchedule", inParams, null);

                    ResultConsole.Instance.AddConsoleLine($"Returned with value {_wmiServices.GetProcessReturnValueText(Convert.ToInt32(outParams["ReturnValue"]))}");
                }
                catch (Exception ex)
                {
                    ResultConsole.Instance.AddConsoleLine("Error performing SCCM Client Function due to an error.");
                    _logger.LogError($"Error performing SCCM Client Function due to the following error: {ex.Message}", ex);
                }
            }
        }
コード例 #6
0
ファイル: Form1.cs プロジェクト: waertf/DumpPort
        //array of valid brightness values in percent
        static byte[] GetBrightnessLevels()
        {
            //define scope (namespace)
            System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI");

            //define query
            System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightness");

            //output current brightness
            System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q);
            byte[] BrightnessLevels = new byte[0];

            try
            {
                System.Management.ManagementObjectCollection moc = mos.Get();

                //store result


                foreach (System.Management.ManagementObject o in moc)
                {
                    BrightnessLevels = (byte[])o.GetPropertyValue("Level");
                    break; //only work on the first object
                }

                moc.Dispose();
                mos.Dispose();
            }
            catch (Exception)
            {
                MessageBox.Show("Sorry, Your System does not support this brightness control...");
            }

            return(BrightnessLevels);
        }
コード例 #7
0
ファイル: SystemHelper.cs プロジェクト: nawns/lundgren
 public static void checkForMissingDrivers()
 {
     bool vJoy = false;
     bool libUsb = false;
     try
     {
         SelectQuery query = new SelectQuery("Win32_SystemDriver");
         ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
         var drivers = searcher.Get();
         foreach (var d in drivers)
         {
             if (d["Name"].ToString() == "vjoy") vJoy = true;
             if (d["Name"].ToString().Contains("libusb")) libUsb = true;
             if (vJoy && libUsb) break;
         }
         if (!vJoy)
         {
             Log(null, new Logging.LogEventArgs("vJoy was not detected, please rerun the installer."));
         }
     }
     catch
     {
         Log(null, new Logging.LogEventArgs("Driver check failed, (Are you running as Administrator?)"));
     }
 }
コード例 #8
0
ファイル: WMIDetectorSource.cs プロジェクト: Makdaam/ralph
        public List<DiskShareMountDTOResponse> GetDiskShareMountInfo()
        {
            List<DiskShareMountDTOResponse> mounts = new List<DiskShareMountDTOResponse>();

            try
            {
                SelectQuery query = new SelectQuery(
                    @"select Model, SerialNumber
                      from Win32_DiskDrive
                      where Model like '3PARdata%'"
                );
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

                foreach (ManagementObject obj in searcher.Get())
                {
                    DiskShareMountDTOResponse share = new DiskShareMountDTOResponse();
                    share.Volume = GetValueAsString(obj, "Model");
                    share.Sn = GetValueAsString(obj, "SerialNumber");

                    mounts.Add(share);
                }
            }
            catch (ManagementException e)
            {
                Logger.Instance.LogError(e.ToString());
            }

            return mounts;
        }
コード例 #9
0
        /// <summary>
        /// Get all processes that running in local machine
        /// </summary>
        /// <returns></returns>
        public static DataTable RunningProcesses()
        {
            // The second way of constructing a query
            string queryString =
                "SELECT Name, ProcessId, Caption, ExecutablePath" +
                "  FROM Win32_Process";

            SelectQuery query = new SelectQuery(queryString);
            ManagementScope scope = new ManagementScope(@"//127.0.0.1/root/CIMV2");

            ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
            ManagementObjectCollection processes = searcher.Get();

            DataTable result = new DataTable();
            result.Columns.Add("Name", Type.GetType("System.String"));
            result.Columns.Add("ProcessId", Type.GetType("System.Int32"));
            result.Columns.Add("Caption", Type.GetType("System.String"));
            result.Columns.Add("Path", Type.GetType("System.String"));

            foreach (ManagementObject mo in processes)
            {
                DataRow row = result.NewRow();
                row["Name"] = mo["Name"].ToString();
                row["ProcessId"] = Convert.ToInt32(mo["ProcessId"]);
                if (mo["Caption"] != null)
                    row["Caption"] = mo["Caption"].ToString();
                if (mo["ExecutablePath"] != null)
                    row["Path"] = mo["ExecutablePath"].ToString();
                result.Rows.Add(row);
            }
            return result;
        }
コード例 #10
0
ファイル: SystemInfo.cs プロジェクト: dippman/mzLib
        private static string GetManufacturer()
        {
            string computerModel = "UNDETERMINED";

#if ONLYNETSTANDARD
            return(computerModel);
#else
            try
            {
                System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem");

                using (System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query))
                {
                    foreach (System.Management.ManagementObject process in searcher.Get())
                    {
                        process.Get();
                        computerModel = process["Manufacturer"].ToString() + " " + process["Model"].ToString();
                    }
                }
                return(computerModel);
            }
            catch
            {
                return(computerModel);
            }
#endif
        }
コード例 #11
0
ファイル: SystemUtility.cs プロジェクト: tdhieu/openvss
		/// <summary>
		/// Return the SID associated to a username
		/// </summary>
		/// <param name="userName">SID of username to get.</param>
		/// <returns>Return a string like S-1-5-21-1844237615-73586283-725345543-1003</returns>
		public static string GetUserSid (string userName) 
		{ 
			ManagementObjectSearcher	query; 
			ManagementObjectCollection	queryCollection; 

			// local scope 
			ConnectionOptions co	= new ConnectionOptions(); 
			co.Username				= userName; 
			ManagementScope msc		= new ManagementScope ("\\root\\cimv2",co); 
			string queryString		= "SELECT * FROM Win32_UserAccount where name='" +co.Username  +"'"; 
			SelectQuery q			= new SelectQuery (queryString); 
			query					= new ManagementObjectSearcher(msc, q); 
			queryCollection			= query.Get(); 
			
			/*
			string res				= StringUtility.CreateEmptyString (); 
			foreach(ManagementObject mo in queryCollection)
			{ 
				// there should be only one here! 
				res+= mo["SID"].ToString(); 
			} 
			*/
			StringBuilder LocalStringBuilder = new StringBuilder();
			foreach(ManagementObject mo in queryCollection)
			{
				LocalStringBuilder.Append (mo["SID"].ToString ());
			}
			
			return LocalStringBuilder.ToString ();
		} 
コード例 #12
0
        public static List<Microcontroller> AutodetectArduinoPort()
        {
            ManagementScope connectionScope = new ManagementScope();
            SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery);

            try
            {
                List<Microcontroller> mc = null;
                foreach (ManagementObject item in searcher.Get())
                {
                    string name = item["Name"].ToString();
                    string uname = item["UName"].ToString();
                    string description = item["Description"].ToString();
                    string deviceId = item["DeviceID"].ToString();
                    string PNPdeviceId = item["PNPDeviceID"].ToString();

                    if (description.Contains("Arduino Due") || description.Contains("Arduino Mega 2560") || description.Contains("Arduino One"))
                    //Temp Check. Needs to compare each return against Text file list when moved to VRAGE.
                    {
                        var mcItem = new Microcontroller(name, description, deviceId, PNPdeviceId,11520);
                        mc.Add(mcItem);

                    }

                }
                return mc;
            }
            catch (ManagementException e)
            {
                /* Do Nothing */
            }

            return null;
        }
コード例 #13
0
ファイル: Battery.xaml.cs プロジェクト: ethanhs/IronShell
        private string GetBatteryPercent()
        {
            try
            {
                var scope = new ManagementScope();
                SelectQuery query = new SelectQuery("Select EstimatedChargeRemaining From Win32_Battery");
                using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query))
                {
                    using (ManagementObjectCollection objectCollection = searcher.Get())
                    {
                        foreach (ManagementObject mObj in objectCollection)
                            //this nugget has a lot of info see here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa394074%28v=vs.85%29.aspx
                        {
                            PropertyData pData = mObj.Properties["EstimatedChargeRemaining"];
                            var val = pData.Value;
                            if ((ushort) val > (ushort) 100)
                            {
                                return "100";
                            }
                            else
                            {
                                return val.ToString().Replace("%",""); //strip % in case it duplicates
                            }

                        }
                    }
                }
                return "Unk";
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return "Unk";
            }
        }
コード例 #14
0
ファイル: Speed.cs プロジェクト: jorisadri/OAMK-RunningMat
        // to detect if the correct arduino is connected
        private string AutodetectArduinoPort()
        {
            ManagementScope connectionScope = new ManagementScope();
            SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery);

            try
            {
                foreach (ManagementObject item in searcher.Get())
                {
                    //safe COM port of arduino if arduino with PNPDeviceI: 64935343733351707252 is connected
                    string desc = item["PNPDeviceID"].ToString();
                    string deviceId = item["DeviceID"].ToString();

                    if (desc.Contains("64935343733351707252"))
                    {
                        return deviceId;
                    }
                }
            }
            catch
            {
            }
            return null;
        }
コード例 #15
0
        internal static WindowsServiceInformation Get(string serviceName)
        {
            var sc = System.ServiceProcess.ServiceController.GetServices().FirstOrDefault(s => string.Compare(s.ServiceName, serviceName, true) == 0);

            if (sc == null)
            {
                return(null);
            }

            SelectQuery query = new System.Management.SelectQuery(string.Format("select name, startName, startMode, processId, pathName from Win32_Service where name = '{0}'", serviceName));

            using (ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query))
            {
                foreach (ManagementObject service in searcher.Get())
                {
                    return(new WindowsServiceInformation()
                    {
                        BinPath = service["pathName"].ToString(),
                        ProcessId = int.Parse(service["processId"].ToString()),
                        ServiceName = sc.ServiceName,
                        StartMode = ParseStartMode(service["startMode"].ToString()),
                        UserAccountName = service["startName"].ToString()
                    });
                }
            }

            return(null);
        }
コード例 #16
0
        //public static IList<string> GetPropertyValues(Connection WMIConnection,
        //                                              string SelectQuery,
        //                                              string className)
        public static IList<Dictionary<string, string>> GetPropertyValues(Connection WMIConnection,
                                              string SelectQuery,
                                              string className)
        {
            ManagementScope connectionScope = WMIConnection.GetConnectionScope;
            //List<string> alProperties = new List<string>();
            SelectQuery msQuery = new SelectQuery(SelectQuery);
            ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(connectionScope, msQuery);
            //Dictionary<string, string> paM = new Dictionary<string, string>();
            List<Dictionary<string, string>> allContent = new List<Dictionary<string, string>>();
            try
            {
                foreach (ManagementObject item in searchProcedure.Get())
                {
                    Dictionary<string, string> paM = new Dictionary<string, string>();
                    foreach (string property in XMLConfig.GetSettings(className))
                    {
                        try
                        {
                          paM.Add(property, item[property].ToString());
                          //alProperties.Add(property + ": " + item[property].ToString());
                        }
                        catch (SystemException) { /* ignore error */ }
                    }
                    allContent.Add(paM);
                }
            }
            catch (ManagementException e)
            {
                /* Do Nothing */
            }

            //return alProperties;
            return allContent;
        }
コード例 #17
0
ファイル: SQLHelper.cs プロジェクト: Donnie888/LxServer
        /// <summary>   
        /// Added by Donnie on 2012/09/19
        /// Gets OS address width.   
        /// </summary>   
        /// <returns>32 indicates 32-bit OS, and 64 indicates 64-bit OS.</returns>   
        private UInt16 GetOSAddressWidth()
        {
            try
            {
                SelectQuery query = new SelectQuery("select AddressWidth from Win32_Processor");
                ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
                ManagementObjectCollection moCollection = searcher.Get();
                foreach (ManagementObject mo in moCollection)
                {
                    foreach (PropertyData property in mo.Properties)
                    {
                        if (property.Name.Equals("AddressWidth"))
                        {
                            return Convert.ToUInt16(property.Value);
                        }
                    }
                }

                throw new Exception("Didn't get expected query result from WMI.");
            }
            catch (Exception ex)
            {
                throw new Exception("Error occurs in WMI query.", ex.InnerException);
            }
        }
コード例 #18
0
        /// <summary>
        /// Gets COM port list.
        /// </summary>
        /// <returns>Enumerable list of COM ports.</returns>
        public static IEnumerable<ComPortItem> GetComPorts()
        {
            var result = new List<ComPortItem>();

            ManagementScope connectionScope = new ManagementScope();
            SelectQuery serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(connectionScope, serialQuery);

            try
            {
                foreach (ManagementObject item in searcher.Get())
                {
                    string portName = item["DeviceID"].ToString();
                    string portDescription = item["DeviceID"].ToString();

                    // COM port with Arduino is not detected.
                    // portDescription.Contains("Arduino") is not working.
                    // I should find out how to get value "Arduino Uno" from "Описание устройства, предоставленное шиной" parameter.
                    // And where is this parameter?
                    result.Add(new ComPortItem(portName, portDescription.Contains("Arduino")));
                }
            }
            catch (ManagementException)
            {
            }

            return result;
        }
コード例 #19
0
 private static void Win32_SharesSearcher()
 {
     SelectQuery query = new SelectQuery("select * from Win32_Share where Name=\"" + sharename + "\"");
     using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
     {
         foreach (ManagementObject mo in searcher.Get())
         {
             foreach (PropertyData prop in mo.Properties)
             {
                 form.textBox1.AppendText(prop.Name + " = " + mo[prop.Name] + Environment.NewLine);                    }
                 //form.textBox1.AppendText(string.Format("Win32ShareName: {0} Description {1} Path {2} ", mo.Properties["Name"].Value, mo.Properties["Description"].Value, mo.Properties["Path"].Value) + Environment.NewLine);
         }
     }
     ManagementObject winShareP = new ManagementObject("root\\CIMV2", "Win32_Share.Name=\"" + sharename + "\"", null);
     ManagementBaseObject outParams = winShareP.InvokeMethod("GetAccessMask", null, null);
     form.textBox1.AppendText(String.Format("access Mask = {0:x}", outParams["ReturnValue"]) + Environment.NewLine);
     ManagementBaseObject inParams = winShareP.GetMethodParameters("SetShareInfo");
     form.textBox1.AppendText("SetShareInfor in parameters" + Environment.NewLine);
     foreach (PropertyData prop in inParams.Properties)
     {
         form.textBox1.AppendText(String.Format("PROP = {0}, TYPE = {1} ", prop.Name, prop.Type.ToString()) + Environment.NewLine);
     }
     Object access = inParams.GetPropertyValue("Access");
     //Stopped development here because ShareAFolder project exists. The rest of the development is there
     //Maybe should copy Sahare a Folder content to here at some point
 }
コード例 #20
0
        GetMetricDefinition(
            string name,
            ManagementScope scope)
        {
            string metricDefQueryWql = string.Format(CultureInfo.InvariantCulture,
                "SELECT * FROM CIM_BaseMetricDefinition WHERE ElementName=\"{0}\"", name);

            SelectQuery metricDefQuery = new SelectQuery(metricDefQueryWql);

            using (ManagementObjectSearcher metricDefSearcher = new ManagementObjectSearcher(
                scope, metricDefQuery))
            using (ManagementObjectCollection metricDefCollection = metricDefSearcher.Get())
            {
                //
                // There will always only be one metric definition for a given name.
                //
                if (metricDefCollection.Count != 1)
                {
                    throw new ManagementException(string.Format(CultureInfo.CurrentCulture,
                        "A single CIM_BaseMetricDefinition derived instance could not be found " +
                        "for name \"{0}\"", name));
                }

                ManagementObject metricDef = 
                    WmiUtilities.GetFirstObjectFromCollection(metricDefCollection);

                return metricDef;
            }
        }
コード例 #21
0
        public List<PCU> CPU_info()
        {
            List<PCU> CPUInfo = new List<PCU>();
            System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select Name,NumberOfCores,NumberOfLogicalProcessors,MaxClockSpeed from Win32_Processor");
                //initialize the searcher with the query it is supposed to execute
                using (System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query))
                {
                    try
                    {
                        //execute the query
                        foreach (System.Management.ManagementObject process in searcher.Get())
                        {
                            PCU cpu = new PCU(process["Name"].ToString(), process["NumberOfCores"].ToString(), process["NumberOfLogicalProcessors"].ToString(), process["MaxClockSpeed"].ToString());
                            CPUInfo.Add(cpu);

                        }

                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
                return CPUInfo;
        }
コード例 #22
0
ファイル: Form1.cs プロジェクト: waertf/DumpPort
        //get the actual percentage of brightness
        static int GetBrightness()
        {
            //define scope (namespace)
            System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI");

            //define query
            System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightness");

            //output current brightness
            System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q);

            System.Management.ManagementObjectCollection moc = mos.Get();

            //store result
            byte curBrightness = 0;

            foreach (System.Management.ManagementObject o in moc)
            {
                curBrightness = (byte)o.GetPropertyValue("CurrentBrightness");
                break; //only work on the first object
            }

            moc.Dispose();
            mos.Dispose();

            return((int)curBrightness);
        }
コード例 #23
0
ファイル: WMIForm.cs プロジェクト: fanjun365/TheDbgTool
        private void tsbRun_Click(object sender, EventArgs e)
        {
            SelectQuery query = new SelectQuery("SELECT * FROM Win32_UserAccount");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
            foreach (ManagementObject os in searcher.Get())
            {
                this.txtResult.AppendText(os["Name"] + ";");
            }
            this.txtResult.AppendText("\r\n");

            //连接远程计算机
            ConnectionOptions co = new ConnectionOptions();
            co.Username = "******";
            co.Password = "******";
            System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\192.168.100.51\\root\\cimv2", co);
            //查询远程计算机
            System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem");

            ManagementObjectSearcher query1 = new ManagementObjectSearcher(ms, oq);
            ManagementObjectCollection queryCollection1 = query1.Get();
            foreach (ManagementObject mo in queryCollection1)
            {
                string[] ss = { "" };
                mo.InvokeMethod("Reboot", ss);
                this.txtResult.AppendText(mo.ToString());
            }
        }
コード例 #24
0
        /// <summary>
        ///     Query the brightness setting of the display.
        /// </summary>
        internal static int GetBrightnessLevel()
        {
            try
            {
                var s = new ManagementScope("root\\WMI");
                var q = new SelectQuery("WmiMonitorBrightness");
                var mos = new ManagementObjectSearcher(s, q);
                var moc = mos.Get();

                foreach (var managementBaseObject in moc)
                {
                    foreach (var o in managementBaseObject.Properties)
                    {
                        if (o.Name == "CurrentBrightness")
                            return Convert.ToInt32(o.Value);
                    }
                }

                moc.Dispose();
                mos.Dispose();
            }
            catch (ManagementException ex)
            {
                // ignore
                // it is possible that laptop lid is closed, and using external monitor
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return 0;
        }
コード例 #25
0
        /// <summary>
        /// Autodetects the COM port.
        /// </summary>
        /// <param name="description">The description.</param>
        /// <returns></returns>
        public static string AutodetectCOMPort(string description)
        {
            var connectionScope = new ManagementScope();
            var serialQuery = new SelectQuery("SELECT * FROM Win32_SerialPort");
            var searcher = new ManagementObjectSearcher(connectionScope, serialQuery);

            try
            {
                foreach (ManagementObject item in searcher.Get())
                {
                    var desc = item["Description"].ToString();
                    var deviceId = item["DeviceID"].ToString();

                    if (desc.Contains(description))
                    {
                        return deviceId;
                    }
                }
            }
            catch (ManagementException)
            {
            }

            return null;
        }
コード例 #26
0
ファイル: Form1.cs プロジェクト: hmyit/BControl
        static byte[] QueryAvailableBrightnessLevels()
        {
            byte[] BrightnessLevels = new byte[0];
            System.Management.ManagementScope          ManScope = new System.Management.ManagementScope("ROOT\\WMI");
            System.Management.SelectQuery              ManQuery = new System.Management.SelectQuery("WmiMonitorBrightness");
            System.Management.ManagementObjectSearcher ManObjS  = new System.Management.ManagementObjectSearcher(ManScope, ManQuery);

            try
            {
                System.Management.ManagementObjectCollection ManObjC = ManObjS.Get();
                foreach (System.Management.ManagementObject ManObject in ManObjC)
                {
                    BrightnessLevels = (byte[])ManObject.GetPropertyValue("Level");
                    break;
                }

                ManObjC.Dispose();
                ManObjS.Dispose();
            }
            catch (Exception VideoException)
            {
                MessageBox.Show("Unable to get available brightness levels. The video card may not support this feature or the driver is not installed. Error: " + VideoException.Message, "BControl", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(BrightnessLevels);
        }
コード例 #27
0
ファイル: ProcessManager.cs プロジェクト: rizowski/CompuLock
        public IEnumerable<Database.Models.Process> GetAllProcesses()
        {
            string[] propertiesToSelect = new[] { "Handle", "ProcessId", "Name" };
            SelectQuery processQuery = new SelectQuery("Win32_Process", null, propertiesToSelect);

            List<Database.Models.Process> proceses = new List<Database.Models.Process>();

            using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(processQuery))
            {
                using (ManagementObjectCollection processes = searcher.Get())
                {
                    foreach (ManagementObject process in processes)
                    {
                        object[] outParameters = new object[3];
                        uint result = (uint) process.InvokeMethod("GetOwner", outParameters);

                        if (result == 0)
                        {
            #if (DEBUG)
                            Console.WriteLine("{0}\\{1} - {2}", outParameters[Domain], outParameters[Username],
                                              process["Name"]);
            #endif
                            //TODO Search for Account by name adding ID
                            proceses.Add(new Database.Models.Process
                                {
                                    Name = (string) process["Name"],
                                    CreatedAt = DateTime.Now,
                                    UpdatedAt = DateTime.Now
                                });
                        }
                    }
                }
            }
            return proceses;
        }
コード例 #28
0
ファイル: MainForm.cs プロジェクト: oblivious/Oblivious
        private void GetServicesForComputer(string computerName)
        {
            ManagementScope scope = CreateNewManagementScope(computerName);

            SelectQuery query = new SelectQuery("select * from Win32_Service");

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

                    List<string> serviceNames =
                        (from ManagementObject service in services select service["Caption"].ToString()).ToList();

                    lstServices.DataSource = serviceNames;
                }
            }
            catch (Exception exception)
            {
                lstServices.DataSource = null;
                lstServices.Items.Clear();
                lblErrors.Text = exception.Message;
                Console.WriteLine(Resources.MainForm_GetServicesForServer_Error__ + exception.Message);
            }
        }
コード例 #29
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            SelectQuery query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus=2");
            ManagementObjectSearcher search = new ManagementObjectSearcher(query);

            for (int i = 1; i <= 12; i++)
            {
                query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus="+i.ToString());
                search = new ManagementObjectSearcher(query);
                foreach (ManagementObject result in search.Get())
                {
                    NetworkAdapter adapter = new NetworkAdapter(result);

                    // Identify the adapter you wish to disable here.
                    // In particular, check the AdapterType and
                    // Description properties.

                    // Here, we're selecting the LAN adapters.
                    //if (adapter.AdapterType.Equals("Ethernet 802.3"))
                    //{
                    //    adapter.Enable();
                    //}
                    if (adapter.AdapterType.Equals("Wireless"))
                    {
                        adapter.Enable();
                    }
                }
            }
        }
コード例 #30
0
ファイル: UserHandler.cs プロジェクト: snowsnail/fog-client
        /// <summary>
        /// </summary>
        /// <returns>A list of all users and their security IDs</returns>
        public static List<UserData> GetAllUserData()
        {
            var query = new SelectQuery("Win32_UserAccount");
            var searcher = new ManagementObjectSearcher(query);

            return (from ManagementBaseObject envVar in searcher.Get()
                    select new UserData(envVar["Name"].ToString(),
                        envVar["SID"].ToString())).ToList();
        }
コード例 #31
0
        QueryMetricCollectionEnabledForVirtualMachine(
            string name)
        {
            ManagementScope scope = new ManagementScope(@"root\virtualization\v2");

            //
            // Retrieve the Msvm_ComputerSystem and the CIM_BaseMetricDefinition derived instance
            // that we want to query the MetricCollectionEnabled state for.
            //
            SelectQuery metricDefForMeQuery;
            const string metricDefinitionName = "Aggregated Average CPU Utilization";

            using (ManagementObject vm = WmiUtilities.GetVirtualMachine(name, scope))
            using (ManagementObject metricDefinition = 
                MetricUtilities.GetMetricDefinition(metricDefinitionName, scope))
            {
                //
                // Build the WQL query used to retrieve the Msvm_MetricDefForME association between 
                // these two objects. It is the one that contains the MetricCollectionEnabled 
                // property.
                //
                string metricDefForMeQueryWql = string.Format(CultureInfo.InvariantCulture,
                    "SELECT * FROM Msvm_MetricDefForME WHERE Antecedent=\"{0}\" AND Dependent=\"{1}\"",
                    WmiUtilities.EscapeObjectPath(vm.Path.Path),
                    WmiUtilities.EscapeObjectPath(metricDefinition.Path.Path));

                metricDefForMeQuery = new SelectQuery(metricDefForMeQueryWql);
            }

            using (ManagementObjectSearcher metricDefForMeSearcher = 
                new ManagementObjectSearcher(scope, metricDefForMeQuery))
            using (ManagementObjectCollection metricDefForMeCollection = 
                metricDefForMeSearcher.Get())
            {
                //
                // There will always only be one Msvm_MetricDefForME for a given managed element and 
                // metric definition.
                //
                if (metricDefForMeCollection.Count != 1)
                {
                    throw new ManagementException(string.Format(CultureInfo.CurrentCulture,
                        "A single Msvm_MetricDefForME could not be found for virtual machine " +
                        "\"{0}\" and metric definition \"{1}\"", name, metricDefinitionName));
                }

                foreach (ManagementObject metricDefForMe in metricDefForMeCollection)
                {
                    using (metricDefForMe)
                    {
                        string metricCollectionState = Enum.Parse(typeof(MetricEnabledState),
                            metricDefForMe["MetricCollectionEnabled"].ToString()).ToString();

                        Console.WriteLine("MetricCollectionEnabled = {0}", metricCollectionState);
                    }
                }
            }
        }
コード例 #32
0
ファイル: Program.cs プロジェクト: jgrinols/StartXBMC
 static _tvStatusHelper()
 {
     _mediaDisplayDeviceIds = new List<string>();
     //retrieve the device ids stored in app.config. Multiple IDs stored as semi-colon delimited list.
     _mediaDisplayDeviceIds.AddRange(ConfigurationManager.AppSettings["mediaDisplayDeviceIds"].Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
     _monitorIdSelectQuery = new SelectQuery(MON_ID_SELECT_QUERY_TEXT);
     _mos = new ManagementObjectSearcher(_monitorIdSelectQuery);
     _tvOnDisplayThreshold = Int32.Parse(ConfigurationManager.AppSettings["tvOnDisplayThreshold"]);
 }
コード例 #33
0
ファイル: SystemHelper.cs プロジェクト: xfm84/test
 public static string GetBaseBoardSN()
 {
     SelectQuery Query = new SelectQuery("Select * from Win32_BaseBoard");
     ManagementObjectSearcher searcher = new ManagementObjectSearcher(Query);
     ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator();
     enumerator.MoveNext();
     ManagementBaseObject baseBoard = enumerator.Current;
     return baseBoard.GetPropertyValue("SerialNumber").ToString();
 }
コード例 #34
0
ファイル: Test_wmi_f.cs プロジェクト: labeuze/source
        public static void Test_wmi_01()
        {

            SelectQuery selectQuery = new SelectQuery("Win32_LogicalDisk");
            ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
            foreach (ManagementObject disk in searcher.Get())
            {
                Trace.WriteLine(disk.ToString());
            }
        }
コード例 #35
0
 public void DisableNetworkConnections()
 {
     SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionId != NULL");
     ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery);
     foreach (ManagementObject item in searchProcedure.Get())
     {
         System.Diagnostics.Debug.WriteLine(item["NetConnectionId"]);
         item.InvokeMethod("Disable", null);
     }
 }
コード例 #36
0
        public static NetworkAdapterConfiguration GetAdapterConfiguration(int id)
        {
            SelectQuery query = new SelectQuery("Win32_NetworkAdapterConfiguration", "InterfaceIndex=" + id);
            ManagementObjectSearcher search = new ManagementObjectSearcher(query);

            foreach (ManagementObject result in search.Get())
                return new NetworkAdapterConfiguration(result);

            return null;
        }
コード例 #37
0
ファイル: Form1.cs プロジェクト: DOSSTONED/testPrograms
        private void button1_Click(object sender, EventArgs e)
        {
            //PropertyDataCollection properties = null;
            System.Management.ManagementObjectSearcher   mox = null;
            System.Management.ManagementObjectCollection mok = null;


            try
            {
                //define scope (namespace)
                System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI");

                //define query
                System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO");

                //output current brightness
                mox = new System.Management.ManagementObjectSearcher(x, q);
                mok = mox.Get();


                mok = mox.Get();

                foreach (System.Management.ManagementObject o in mok)
                {
                    byte[] curBytes = o.Properties["IOBytes"].Value as byte[];
                    curBytes[81] = 100;
                    o.SetPropertyValue("IOBytes", curBytes);
                    //properties = o.Properties;
                    //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise!
                    break; //only work on the first object
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.Source);
            }
            finally
            {
                if (mox != null)
                {
                    mox.Dispose();
                }
                if (mok != null)
                {
                    mok.Dispose();
                }
            }
        }
コード例 #38
0
        public List <string> GetDrivers()
        {
            var col = new List <string>();

            //Declare, Search, and Get the Properties in Win32_SystemDriver
            System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver");
            System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
            foreach (System.Management.ManagementObject ManageObject in searcher.Get())
            {
                //Declare the Main Item
                var name = ManageObject["Name"].ToString() + " - " + ManageObject["State"].ToString(); // + " - " + ManageObject["Description"].ToString();
                col.Add(name);
            }
            return(col);
        }
コード例 #39
0
ファイル: Form1.cs プロジェクト: hmyit/BControl
        static void injectBrightnessWithValue(byte brightness)
        {
            System.Management.ManagementScope            ManScope = new System.Management.ManagementScope("ROOT\\WMI");
            System.Management.SelectQuery                ManQuery = new System.Management.SelectQuery("WmiMonitorBrightnessMethods");
            System.Management.ManagementObjectSearcher   ManObjS  = new System.Management.ManagementObjectSearcher(ManScope, ManQuery);
            System.Management.ManagementObjectCollection ManObjC  = ManObjS.Get();

            foreach (System.Management.ManagementObject ManObject in ManObjC)
            {
                ManObject.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, brightness });
                break;
            }

            ManObjC.Dispose();
            ManObjS.Dispose();
        }
コード例 #40
0
        public bool driverExists()
        {
            System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver");
            query.Condition = "Name = 'KMUC74FP.DLL'";

            System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
            var drivers = searcher.Get();

            if (drivers.Count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #41
0
ファイル: cpl.cs プロジェクト: frozenshadow/ScreenBLC
        // Set screen brightness
        static void SetBrightness(byte targetBrightness)
        {
            System.Management.ManagementScope          s   = new System.Management.ManagementScope("root\\WMI");               // Define scope (namespace)
            System.Management.SelectQuery              q   = new System.Management.SelectQuery("WmiMonitorBrightnessMethods"); // Define query
            System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q);             // Output current screen brightness

            System.Management.ManagementObjectCollection moc = mos.Get();

            // Store result is reversed order - apparently won't work otherwise
            foreach (System.Management.ManagementObject o in moc)
            {
                o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness });
                break; // Only work on the first object
            }

            moc.Dispose();
            mos.Dispose();
        }
コード例 #42
0
ファイル: Form1.cs プロジェクト: sethwalsh/PrintingGUI
 public void RemovePrinter(string printer)
 {
     System.Management.ManagementScope oManagementScope = new System.Management.ManagementScope(System.Management.ManagementPath.DefaultPath);
     oManagementScope.Connect();
     System.Management.SelectQuery query = new System.Management.SelectQuery("SELECT * FROM Win32_Printer");
     System.Management.ManagementObjectSearcher   search   = new System.Management.ManagementObjectSearcher(oManagementScope, query);
     System.Management.ManagementObjectCollection printers = search.Get();
     foreach (System.Management.ManagementObject p in printers)
     {
         string pName = p["Name"].ToString().ToLower();
         if (pName.Equals(printer.ToLower()))
         {
             p.Delete();
             break;
         }
     }
     MessageBox.Show("Printer: " + printer + " has successfully been removed.");
 }
コード例 #43
0
        private static PCData setPCData()
        {
            PCData pd = new PCData();

            try
            {
                System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem");
                using (System.Management.ManagementObjectSearcher searcher1 = new System.Management.ManagementObjectSearcher(query))
                {
                    foreach (System.Management.ManagementObject process in searcher1.Get())
                    {
                        process.Get();

                        pd.vendorPC = "" + process["Manufacturer"];
                        pd.modelPC  = "" + process["Model"];
                    }
                }
                ManagementObjectSearcher MOS = new ManagementObjectSearcher("Select * From Win32_BIOS");

                foreach (ManagementObject getserial in MOS.Get())
                {
                    pd.serialNumberPC = getserial["SerialNumber"].ToString();
                }

                pd.systemName = System.Environment.MachineName;
                pd.version    = GetOSFriendlyName();
                pd.domain     = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
                pd.assetName  = pd.vendorPC + " " + pd.modelPC;

                Database d = new Database();
                if (!d.verifyPC(pd.serialNumberPC))
                {
                    d.insertPC(pd);
                }
            }
            catch (Exception t)
            {
                Console.WriteLine(t.Message);
            }

            return(pd);
        }
コード例 #44
0
        //public void test()
        //{
        //    WMIHelper helper = new WMIHelper("root\\CimV2");
        //    var acr = helper.Query("SELECT hardwareID FROM Win32_PnPEntity where name like '%ACR122%'");

        //}
        public string DriverState(string driverName = "ACR122U")
        {
            System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver");
            query.Condition = $"Name like '%{driverName}%'";
            if (running)
            {
                query.Condition += " AND State = 'running'";
            }
            System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
            var drivers = searcher.Get();

            if (drivers.Count > 0)
            {
                var dr = drivers.OfType <ManagementObject>().First();
                return(dr["State"].ToString().ToLower());
            }


            return("");
        }
コード例 #45
0
ファイル: Form1.cs プロジェクト: hmyit/BControl
        static int FetchCurrentBrightness()
        {
            byte CurrentBrightness = 0;

            System.Management.ManagementScope            ManScope = new System.Management.ManagementScope("ROOT\\WMI");
            System.Management.SelectQuery                ManQuery = new System.Management.SelectQuery("WmiMonitorBrightness");
            System.Management.ManagementObjectSearcher   ManObjS  = new System.Management.ManagementObjectSearcher(ManScope, ManQuery);
            System.Management.ManagementObjectCollection ManObjC  = ManObjS.Get();

            foreach (System.Management.ManagementObject ManObject in ManObjC)
            {
                CurrentBrightness = (byte)ManObject.GetPropertyValue("CurrentBrightness");
                break;
            }

            ManObjC.Dispose();
            ManObjS.Dispose();

            return((int)CurrentBrightness);
        }
コード例 #46
0
        static void Main(string[] args)
        {
            Console.WriteLine("Searching for driver...");

            System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_SystemDriver");
            query.Condition = "Name = 'SomeDriverName'";
            System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
            var drivers = searcher.Get();

            if (drivers.Count > 0)
            {
                Console.WriteLine("Driver exists.");
            }
            else
            {
                Console.WriteLine("Driver could not be found.");
            }

            Console.ReadLine();
        }
コード例 #47
0
    static CASLoops()
    {
        System.Management.SelectQuery query = new System.Management.SelectQuery(
            "SELECT NumberOfProcessors FROM Win32_ComputerSystem");

        System.Management.ManagementObjectSearcher searcher =
            new System.Management.ManagementObjectSearcher(query);

        System.Management.ManagementObjectCollection results = searcher.Get();

        foreach (System.Management.ManagementBaseObject obj in results)
        {
            foreach (System.Management.PropertyData data in obj.Properties)
            {
                if (data.Value != null)
                {
                    NCPUS = Convert.ToInt32(data.Value);
                }
            }
        }
    }
コード例 #48
0
 /// <summary>
 /// Lấy Log On As
 /// </summary>
 /// <param name="serviceName"></param>
 /// <returns></returns>
 public string GetLogOnAs(string serviceName)
 {
     try
     {
         string      logonas = "";
         SelectQuery query   = new System.Management.SelectQuery(string.Format(
                                                                     "select name, startname from Win32_Service where name = '{0}'", serviceName));
         using (ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query))
         {
             foreach (ManagementObject service in searcher.Get())
             {
                 logonas = service["startname"].ToString();
             }
         }
         return(logonas);
     }
     catch (Exception)
     {
         return("error");
     }
 }
コード例 #49
0
        private bool setBrightness(int brightness)
        {
            byte brightnessInBytes;

            if (brightness >= 0 && brightness <= 100)
            {
                brightnessInBytes = (byte)(brightness);
            }
            else
            {
                return(false);
            }

            try
            {
                /* DANGER ZONE CODE - Only about 80% sure what this does */

                System.Management.ManagementScope            scope = new System.Management.ManagementScope("root\\WMI");
                System.Management.SelectQuery                query = new System.Management.SelectQuery("WmiMonitorBrightnessMethods");
                System.Management.ManagementObjectSearcher   mos   = new System.Management.ManagementObjectSearcher(scope, query);
                System.Management.ManagementObjectCollection moc   = mos.Get();

                foreach (System.Management.ManagementObject o in moc) //Don't ask questions you don't want to know the answer to
                {
                    o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, brightnessInBytes });
                    break; //Searously
                }

                moc.Dispose();
                mos.Dispose();

                /* END OF DANGER ZONE CODE */
            }
            catch (Exception E)
            {
                Console.WriteLine(E.ToString());
                return(false);
            }
            return(true);
        }
コード例 #50
0
        private static string GetProcessPath(string processName)
        {
            var query = new System.Management.SelectQuery(@"SELECT * FROM Win32_Process where Name LIKE '%" + processName + "%'");
            ManagementObjectCollection processes;

            //initialize the searcher with the query it is
            //supposed to execute
            using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
            {
                //execute the query
                processes = searcher.Get();
                if (processes.Count <= 0)
                {
                    return(null);
                }
            }
            if (processes == null || processes.Count == 0)
            {
                return(null);
            }
            return((from ManagementObject process in processes select(process.Properties["ExecutablePath"].Value ?? string.Empty).ToString()).FirstOrDefault());
        }
コード例 #51
0
        private static string setPCData()
        {
            PCData   pd = new PCData();
            Database d  = new Database();

            try
            {
                System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem");

                //initialize the searcher with the query it is supposed to execute
                using (System.Management.ManagementObjectSearcher searcher1 = new System.Management.ManagementObjectSearcher(query))
                {
                    //execute the query
                    foreach (System.Management.ManagementObject process in searcher1.Get())
                    {
                        //print system info
                        process.Get();

                        pd.vendorPC = "" + process["Manufacturer"];
                        pd.modelPC  = "" + process["Model"];
                    }
                }
                //to start searching at Windows BIOS table for the device serial number
                //shows the serial number of the PC
                ManagementObjectSearcher MOS = new ManagementObjectSearcher("Select * From Win32_BIOS");

                foreach (ManagementObject getserial in MOS.Get())
                {
                    pd.serialNumberPC = getserial["SerialNumber"].ToString();
                }

                pd.systemName = System.Environment.MachineName;
                pd.version    = GetOSFriendlyName();
                pd.domain     = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
                pd.assetName  = pd.vendorPC + " " + pd.modelPC;


                if (!d.verifyPC(pd.serialNumberPC))
                {
                    d.InsertPC(pd);
                }
                else
                {
                    d.UpdatePC(pd);
                }
            }
            catch (Exception t)
            {
                WriteToFile("Exception thrown in setPC " + t.Message);
                pd.systemName     = "Generic system name";
                pd.vendorPC       = "this";
                pd.serialNumberPC = "Check";
                pd.version        = "Generic PC Windows Version";
                pd.domain         = "Generic domain";
                pd.modelPC        = "PC";
                pd.assetName      = pd.vendorPC + pd.modelPC + " should be checked";
                d.InsertPC(pd);
            }

            //pd.show();
            return(pd.serialNumberPC);
        }
コード例 #52
0
ファイル: Form1.cs プロジェクト: DOSSTONED/testPrograms
        private void SetSlideBarStatus(int a, int b)
        {
            if (a != 1)
            {
                return;
            }



            PropertyDataCollection properties = null;

            System.Management.ManagementObjectSearcher   mox = null;
            System.Management.ManagementObjectCollection mok = null;


            try
            {
                //define scope (namespace)
                System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI");

                //define query
                System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO");

                //output current brightness
                mox = new System.Management.ManagementObjectSearcher(x, q);
                mok = mox.Get();

                while (true)
                {
                    mok = mox.Get();

                    foreach (System.Management.ManagementObject o in mok)
                    {
                        byte[] curBytes = o.Properties["IOBytes"].Value as byte[];
                        if (b == 32 || b == 33)
                        {
                            curBytes[84] = (byte)(b % 2);
                        }
                        if (b == 0 || b == 1)
                        {
                            curBytes[83] = (byte)(b % 2);
                        }
                        //curBytes[85] = 1;
                        //curBytes[66] = 4;
                        o.SetPropertyValue("IOBytes", curBytes);
                        //properties = o.Properties;
                        //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise!
                        break; //only work on the first object
                    }

                    //Console.WriteLine(properties["IOBytes"].Value);
                    PropertyData ioBytes = properties["IOBytes"];
                    byte[]       bytes   = ioBytes.Value as byte[];
                    //bytes[83] = 100;
                    //lastBytes = bytes;
                    //((byte[])ioBytes.Value)[83] = 4;
                    //((byte[])ioBytes.Value)[84] = 100;
                    //int place = -1;
                    //if (!isTheSame(bytes, out place))
                    //{
                    //    Console.WriteLine("PLACE: " + place);
                    //    Console.WriteLine(BitConverter.ToString(bytes));
                    //}
                    //if (bytes[83] < 3) break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.Source);
            }
            finally
            {
                if (mox != null)
                {
                    mox.Dispose();
                }
                if (mok != null)
                {
                    mok.Dispose();
                }
            }
        }
コード例 #53
0
        static void Main(string[] args)
        {
            Console.SetWindowSize(Console.LargestWindowWidth - 5, Console.LargestWindowHeight - 1);
            PropertyDataCollection properties = null;

            System.Management.ManagementObjectSearcher   mox = null;
            System.Management.ManagementObjectCollection mok = null;
            int repeatTimes = 0;

            try
            {
                //define scope (namespace)
                System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI");

                //define query
                System.Management.SelectQuery q = new System.Management.SelectQuery("WMIACPI_IO");

                //output current brightness
                mox = new System.Management.ManagementObjectSearcher(x, q);

                mok = mox.Get();
                while (true)
                {
                    using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = mox.Get().GetEnumerator())
                    {
                        if (enumerator.MoveNext())
                        {
                            ManagementObject managementObject = (ManagementObject)enumerator.Current;

                            ConsoleKeyInfo ckey = Console.ReadKey();
                            if (ckey.Key == ConsoleKey.C)
                            {
                                break;
                            }
                            if (ckey.Key == ConsoleKey.F)
                            {
                                managementObject.SetPropertyValue("Active", false);
                            }
                            else
                            {
                                if (ckey.Key == ConsoleKey.T)
                                {
                                    managementObject.SetPropertyValue("Active", true);
                                }
                                else
                                {
                                    Console.WriteLine((bool)managementObject["Active"]);
                                }
                            }
                            managementObject.Put();
                        }
                    }
                }

                while (true)
                {
                    System.Threading.Thread.Sleep(200);
                    mok = mox.Get();


                    foreach (System.Management.ManagementObject o in mok)
                    {
                        properties = o.Properties;
                        //o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise!
                        break; //only work on the first object
                    }

                    //Console.WriteLine(properties["IOBytes"].Value);
                    PropertyData ioBytes = properties["IOBytes"];
                    byte[]       bytes   = ioBytes.Value as byte[];
                    //bytes[83] = 100;
                    //lastBytes = bytes;
                    //((byte[])ioBytes.Value)[83] = 4;
                    //((byte[])ioBytes.Value)[84] = 100;
                    int place = -1;
                    if (!isTheSame(bytes, out place))
                    {
                        if (++repeatTimes >= 10)
                        {
                            repeatTimes = 0;
                            Console.Clear();
                        }
                        string message =
                            "PLACE: " + place + "\r\n"
                            + BitConverter.ToString(bytes);

                        Console.WriteLine(message);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.Source);
            }
            finally
            {
                if (mox != null)
                {
                    mox.Dispose();
                }
                if (mok != null)
                {
                    mok.Dispose();
                }
            }
        }