static AndroidUsbDriverHelper( )
        {
            try {
                System.Management.ManagementClass wmi = new System.Management.ManagementClass ( );
                System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery ( QUERY );
                System.Management.ManagementScope oMs = new System.Management.ManagementScope ( );
                System.Management.ManagementObjectSearcher oSearcher = new System.Management.ManagementObjectSearcher ( oMs, oQuery );
                System.Management.ManagementObjectCollection oResults = oSearcher.Get ( );
                if ( oResults.Count == 1 ) {
                    foreach ( var item in oResults ) {
                        string dv = string.Format ( CultureInfo.InvariantCulture, "{0}", item["DriverVersion"] );
                        if ( !string.IsNullOrEmpty ( dv ) ) {
                            DriverVersion = new Version ( dv );
                        } else {
                            // default
                            DriverVersion = new Version ( "0.0.0.0" );
                        }

                        string cg = string.Format ( CultureInfo.InvariantCulture, "{0}", item["ClassGuid"] );
                        if ( !string.IsNullOrEmpty ( cg ) ) {
                            IsRevision2Driver = string.Compare ( cg, DRIVER_CLASS_GUID_REVISION2, true ) == 0;
                            IsRevision1Driver = !IsRevision2Driver;
                        } else {
                            // default to cupcake
                            IsRevision1Driver = true;
                            IsRevision2Driver = false;
                        }
                    }
                }
            } catch ( Exception ex ) {
                Logger.LogError ( typeof ( AndroidUsbDriverHelper ), ex.Message, ex );
                DriverVersion = new Version ( "0.0.0.0" );
            }
        }
Example #2
0
        public static string buildTerminalIdentifier()
        {
            var idStream = new MemoryStream ();
            UInt16 proto = BitConverter.ToUInt16 (getTerminalInfo (WTS_INFO_CLASS.WTSClientProtocolType), 0);
            if(proto == (short)CLIENT_PROTO_TYPE.RDP) {
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSWorkingDirectory));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSOEMId));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientBuildNumber));
                addBytesToStream (idStream, getClientAddrBytes ());
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientName));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientDirectory));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientProductId));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientHardwareId));
                addBytesToStream (idStream, getTerminalInfo (WTS_INFO_CLASS.WTSClientProtocolType));
            } else {
                // use system CPU Processor ID
                System.Management.ManagementClass theClass = new System.Management.ManagementClass ("Win32_Processor");
                System.Management.ManagementObjectCollection theCollectionOfResults = theClass.GetInstances ();
                String s = String.Empty;
                foreach(System.Management.ManagementObject currentResult in theCollectionOfResults) {
                    s += currentResult["ProcessorID"].ToString ();
                }
                byte[] b = System.Text.Encoding.Unicode.GetBytes (s);
                idStream.Write (b, 0, b.Length);
            }

            byte[] result;

            using(SHA256 shaM = new SHA256Managed ()) {
                result = shaM.ComputeHash (idStream.ToArray ());
            }
            return Convert.ToBase64String (result);
        }
Example #3
0
        //Return a hardware identifier
        private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
        {
            string result="";
            System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                if (mo[wmiMustBeTrue].ToString()=="True")
                {

                    //Only get the first one
                    if (result=="")
                    {
                        try
                        {
                            result = mo[wmiProperty].ToString();
                            break;
                        }
                        catch
                        {
                        }
                    }

                }
            }
            return result;
        }
		public NativeCimInstance InvokeMethod (string namespaceName, string className, string methodName, NativeCimInstance instance, NativeCimInstance inSignature)
		{
			var classObj = new System.Management.ManagementClass(string.Format ("//./{0}/{1}",  namespaceName, className));
			var inObj = classObj.GetMethodParameters (className);
			inObj.Properties["CommandLine"].Value = "notepad.exe";
			var result = classObj.InvokeMethod(methodName, inObj, new System.Management.InvokeMethodOptions());
			var endpoint = CimEnumerator.ToEndointAddress (result, true);
			return CimEnumerationHelper.CreateInstance (endpoint);
		}
Example #5
0
 public static string GetCpuId()
 {
     string cpuInfo = string.Empty;
     System.Management.ManagementClass mc = new System.Management.ManagementClass("win32_processor");
     foreach (System.Management.ManagementObject mo in mc.GetInstances())
     {
         return mo.Properties["processorID"].Value.ToString();
     }
     throw new Exception("Failed to locate CPU ID.");
 }
Example #6
0
 public static string ReadHdId()
 {
     String HDid = "";
     System.Management.ManagementClass cimobject = new System.Management.ManagementClass("Win32_PhysicalMedia");
     System.Management.ManagementObjectCollection moc = cimobject.GetInstances();
     foreach (System.Management.ManagementObject mo in moc)
     {
         HDid += (string)mo.Properties["SerialNumber"].Value;
     }
     return HDid.Trim();
 }
Example #7
0
 static int get_process_number()
 {
     System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Process");
     System.Management.ManagementObjectCollection moc = mc.GetInstances();
     int i = 0;
     foreach (System.Management.ManagementObject mo in moc)
     {
         i++;
     }
     return i;
 }
Example #8
0
        public static string GetMainOrHDD()
        {
            System.Management.ManagementClass partionsClass = new System.Management.ManagementClass("Win32_LogicalDisk");
            System.Management.ManagementObjectCollection partions = partionsClass.GetInstances();
            string hdd = string.Empty;
            foreach (System.Management.ManagementObject partion in partions)
            {
                hdd = Convert.ToString(partion["VolumeSerialNumber"]);

                if (hdd != string.Empty)
                    return hdd;
            }
            return hdd;
        }
Example #9
0
        private string GetHDsid()
        {
            string KeyPw = string.Empty;

            try
            {
                using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_DiskDrive"))
                {
                    string strHardDiskID = string.Empty;
                    foreach (System.Management.ManagementObject mo in mc.GetInstances())
                    {
                        if (mo["Index"].ToString().Trim() == "0")
                        {
                            foreach (System.Management.PropertyData pd in mo.Properties)
                            {
                                bool has = false;
                                switch (pd.Name.Trim())
                                {
                                case "Caption":
                                {
                                    strHardDiskID += mo["Caption"].ToString().Trim();
                                    break;
                                }

                                case "SerialNumber":
                                {
                                    strHardDiskID += mo["SerialNumber"].ToString().Trim();
                                    has            = true;
                                    break;
                                }

                                case "Signature":
                                {
                                    strHardDiskID += mo["Signature"].ToString().Trim();
                                    break;
                                }

                                default:
                                {
                                    break;
                                }
                                }
                                if (has)
                                {
                                    break;
                                }
                            }
                            break;
                        }
                    }
                    strHardDiskID = string.IsNullOrEmpty(strHardDiskID) ? "13816350872" : strHardDiskID;
                    using (System.Security.Cryptography.MD5 md = System.Security.Cryptography.MD5.Create())
                    {
                        KeyPw = BitConverter.ToString(md.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strHardDiskID))).Replace("-", string.Empty);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return(KeyPw);
        }
Example #10
0
 private void checkDiskSpace()
 {
     try
     {
         string strMyDrive = Global.MainPath.Substring(0,2);
         System.Management.ManagementClass diskClass = new System.Management.ManagementClass("Win32_LogicalDisk");
         foreach ( System.Management.ManagementObject disk in diskClass.GetInstances() )
         {
             string strDiskName = (string)disk["Name"];
             if ( strDiskName.Equals(strMyDrive) )
                 {
                     ulong lMb = ((ulong)disk["FreeSpace"]) / (ulong)(1024*1024);
                     if ( lMb < 1000 )
                         Global.showMsgBox( this, "Du börjar få ont om diskutrymme! Överväg att radera en skola. Kontakta Photomic!" );
                     break;
                 }
         }
     }
     catch
     {
     }
 }
 public static LogicaldiskCollection GetInstances(System.Management.ManagementScope mgmtScope, System.Management.EnumerationOptions enumOptions)
 {
     if ((mgmtScope == null))
     {
         if ((statMgmtScope == null))
         {
             mgmtScope = new System.Management.ManagementScope();
             mgmtScope.Path.NamespacePath = "root\\cimv2";
         }
         else
         {
             mgmtScope = statMgmtScope;
         }
     }
     System.Management.ManagementPath pathObj = new System.Management.ManagementPath();
     pathObj.ClassName = "Win32_Logicaldisk";
     pathObj.NamespacePath = "root\\cimv2";
     System.Management.ManagementClass clsObject = new System.Management.ManagementClass(mgmtScope, pathObj, null);
     if ((enumOptions == null))
     {
         enumOptions = new System.Management.EnumerationOptions();
         enumOptions.EnsureLocatable = true;
     }
     return new LogicaldiskCollection(clsObject.GetInstances(enumOptions));
 }
Example #12
0
 /// <summary>
 /// Reads a value from the WMI interface.
 /// </summary>
 /// <param name="wmiClass">The WMI management class name, e. g. "Win32_LogicalDisk" or "Win32_Process".</param>
 /// <param name="wmiProperty">The name of the property of interest.</param>
 /// <param name="wmiCondition">If not null, the name of the property whose value must be true (boolean) to select the object instance.</param>
 /// <returns>The value of the requested property.</returns>
 public static string GetWmiIdentifier(string wmiClass, string wmiProperty, string wmiCondition)
 {
     System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
     foreach (System.Management.ManagementObject mo in mc.GetInstances())
     {
         if (wmiCondition == null || (mo[wmiCondition] is bool && (bool)mo[wmiCondition]))
         {
             try
             {
                 object value = mo[wmiProperty];
                 if (value != null)
                 {
                     return value.ToString().Trim();
                 }
             }
             catch
             {
             }
         }
     }
     return null;
 }
Example #13
0
        private void EnableDHCP()
        {
            System.Management.ManagementClass objMC = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection objMOC = objMC.GetInstances();

            foreach(System.Management.ManagementObject objMO in objMOC)
            {

                if (!(bool) objMO["IPEnabled"])
                    continue;

                string[] sParse = Convert.ToString(objMO.GetPropertyValue("Caption")).Split("]".ToCharArray());
                if(sParse.Length < 2) continue;

                if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                {
                    try
                    {
                        objMO.InvokeMethod("EnableDHCP",null,null);
                        Application.DoEvents();
                        SendLineOne("Update Success");
                        SendLineTwo(" ");
                    }
                    catch(Exception ex)
                    {
                        SendLineOne("Update Failed");
                        ScrollText(ex.Message,1);
                    }
                }
            }
        }
Example #14
0
        private void CheckModUpdate_Click(object sender, EventArgs e)
        {
            SaveConfig();

            var gamedir = profiles[MinecraftProfileList.SelectedIndex].GameDir;
            var moddir  = gamedir + @"\mods";

            var      remoteMods = new Dictionary <string, string>();
            string   version = null;
            DateTime lastModified = DateTime.Now;
            Dictionary <string, string> addMods = null, delMods = null;

            // check update
            var dialog = new TaskDialog()
            {
                Caption         = Application.ProductName,
                InstructionText = "Mod の更新を確認しています...",
                StandardButtons = TaskDialogStandardButtons.Cancel,
                ProgressBar     = new TaskDialogProgressBar()
                {
                    State = TaskDialogProgressBarState.Marquee
                },
                OwnerWindowHandle = Handle,
            };

            dialog.Opened += async(_sender, _e) => {
                dialog.Text = "Mod の一覧を取得しています...";
                try {
                    var req = WebRequest.Create(config.RepositoryUrl + "modlist.yml") as HttpWebRequest;
                    using (var res = await req.GetResponseAsync() as HttpWebResponse) {
                        // header
                        lastModified = DateTime.Parse(res.GetResponseHeader("Last-Modified"));
                        // body
                        using (var stream = res.GetResponseStream())
                            using (var sr = new StreamReader(stream, Encoding.UTF8)) {
                                var yml = new YamlStream();
                                yml.Load(sr);

                                var map = yml.Documents[0].RootNode as YamlMappingNode;
                                version = (map.Children[new YamlScalarNode("version")] as YamlScalarNode).Value;
                                var mods = map.Children[new YamlScalarNode("mods")] as YamlSequenceNode;
                                foreach (YamlMappingNode mod in mods)
                                {
                                    foreach (var info in mod)
                                    {
                                        remoteMods.Add((info.Key as YamlScalarNode).Value, (info.Value as YamlScalarNode).Value);
                                    }
                                }
                            }
                    }
                } catch (Exception ex) {
                    Debug.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
                    dialog.Close(TaskDialogResult.No);
                    return;
                }

                dialog.Text = "Mod の更新を確認しています...";
                var excluded = config.ExcludedMods.ToDictionary(i => i, i => GetFileSHA1Hash(moddir + @"\" + i));
                addMods = remoteMods.Except(localMods).ToDictionary(i => i.Key, i => i.Value);
                delMods = localMods.Except(remoteMods).ToDictionary(i => i.Key, i => i.Value).Except(excluded).ToDictionary(i => i.Key, i => i.Value);
                if (addMods.Count == 0 && delMods.Count == 0)
                {
                    dialog.Close(TaskDialogResult.Ok);
                    return;
                }

                dialog.Close(TaskDialogResult.Yes);
            };
            var result = dialog.Show();

            if (result == TaskDialogResult.Ok)
            {
                new TaskDialog()
                {
                    Caption           = Application.ProductName,
                    InstructionText   = "Mod の更新はありません",
                    Icon              = TaskDialogStandardIcon.Information,
                    OwnerWindowHandle = Handle,
                }.Show();
                return;
            }
            else if (result == TaskDialogResult.No)
            {
                new TaskDialog()
                {
                    Caption           = Application.ProductName,
                    InstructionText   = "エラーが発生しました",
                    Text              = "更新の確認中にエラーが発生しました。",
                    Icon              = TaskDialogStandardIcon.Error,
                    OwnerWindowHandle = Handle,
                }.Show();
                return;
            }
            else if (result != TaskDialogResult.Yes)
            {
                return;
            }

            var br = Environment.NewLine;

            var adds = string.Join(br, addMods.Keys.ToArray());
            var dels = string.Join(br, delMods.Keys.ToArray());

            if (adds == string.Empty)
            {
                adds = "なし";
            }
            if (dels == string.Empty)
            {
                dels = "なし";
            }

            string detail =
                "Forge バージョン: " + version + br
                + "変更日時: " + lastModified.ToLocalTime().ToString() + br
                + br
                + "追加される Mod:" + br
                + adds + br
                + br
                + "削除される Mod:" + br
                + dels;

            dialog = new TaskDialog()
            {
                Caption               = Application.ProductName,
                InstructionText       = "Mod の更新を適用しますか?",
                Text                  = "これにより、" + addMods.Count + " 個の Mod が追加、" + delMods.Count + " 個の Mod が削除されます。",
                Icon                  = TaskDialogStandardIcon.Warning,
                StandardButtons       = TaskDialogStandardButtons.Yes | TaskDialogStandardButtons.No,
                OwnerWindowHandle     = Handle,
                DetailsCollapsedLabel = "詳細情報",
                DetailsExpandedLabel  = "詳細情報を非表示",
                ExpansionMode         = TaskDialogExpandedDetailsLocation.ExpandFooter,
                DetailsExpandedText   = detail,
            };
            var confirmResult = dialog.Show();

            if (confirmResult != TaskDialogResult.Yes)
            {
                return;
            }

            // apply update
            dialog = new TaskDialog()
            {
                Caption         = Application.ProductName,
                InstructionText = "Mod ファイルの変更を開始しています...",
                StandardButtons = TaskDialogStandardButtons.Cancel,
                ProgressBar     = new TaskDialogProgressBar()
                {
                    State = TaskDialogProgressBarState.Marquee
                },
                OwnerWindowHandle = Handle,
            };
            dialog.Opened += async(_sender, _e) => {
                bool flag;
                do
                {
                    flag = false;
                    string pid = null;
                    using (var win32proc = new System.Management.ManagementClass("Win32_Process"))
                        using (var ps = win32proc.GetInstances()) {
                            foreach (var p in ps)
                            {
                                if (p.GetPropertyValue("Name").ToString().Contains("java") && p.GetPropertyValue("CommandLine").ToString().Contains("minecraft"))
                                {
                                    flag = true;
                                    pid  = p.GetPropertyValue("ProcessId").ToString();
                                    break;
                                }
                            }
                        }
                    if (flag)
                    {
                        var confirm = new TaskDialog()
                        {
                            Caption           = Application.ProductName,
                            InstructionText   = "Minecraft が起動中です",
                            Text              = "Minecraft が起動しているため Mod の更新ができません。" + br + "アプリケーションを終了後させ [再試行] を押してください。" + br + "中止する場合は [キャンセル] を押してください。",
                            Icon              = TaskDialogStandardIcon.Warning,
                            StandardButtons   = TaskDialogStandardButtons.Retry | TaskDialogStandardButtons.Cancel,
                            OwnerWindowHandle = Handle,
                        }.Show();
                        if (confirm == TaskDialogResult.Cancel)
                        {
                            dialog.Close(TaskDialogResult.Cancel);
                            return;
                        }
                    }
                } while (flag);

                var i = 0;
                dialog.InstructionText = "Mod を削除しています...";
                foreach (var mod in delMods)
                {
                    dialog.Text = "(" + ++i + "/" + delMods.Count + ") " + mod.Key;
                    File.Delete(moddir + @"\" + mod.Key);
                    await Task.Run(() => System.Threading.Thread.Sleep(100));
                }

                i = 0;
                var failed = 0;
                dialog.InstructionText = "Mod をダウンロードしています...";
                using (var wc = new WebClient()) {
                    foreach (var mod in addMods)
                    {
                        dialog.Text = "(" + ++i + "/" + addMods.Count + ") " + mod.Key;
                        try {
                            wc.DownloadFileAsync(new Uri(config.RepositoryUrl + @"/" + version + @"/" + mod.Key), moddir + @"\" + mod.Key);
                        } catch (Exception ex) {
                            Debug.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
                            failed++;
                        }
                        await Task.Run(() => System.Threading.Thread.Sleep(100));
                    }
                }

                dialog.Close();

                new TaskDialog()
                {
                    Caption           = Application.ProductName,
                    InstructionText   = "変更を適用しました",
                    Text              = addMods.Count + "個の Mod を追加、" + delMods.Count + "個の Mod を削除しました。" + (failed > 0 ? br + failed + " 個の Mod のダウンロードが失敗しました。" : ""),
                    Icon              = TaskDialogStandardIcon.Information,
                    StandardButtons   = TaskDialogStandardButtons.Ok,
                    OwnerWindowHandle = Handle,
                }.Show();
            };
            result = dialog.Show();
            UpdateLocalMods();
        }
Example #15
0
 /// <summary>
 /// Retuns list of all Removable drives aailable
 /// </summary>
 /// <param name="UsbDrives">Structure to store drive names (e.g. "D:", "E:" etc.</param>
 /// <returns>true if at least one removable is available</returns>
 public bool GetRemovableDisks(out List<string> UsbDrives)
 {
     // Add System.Management reference. Then
     bool result = false;
     UsbDrives = new List<string>();
     using (System.Management.ManagementClass managementClass = new System.Management.ManagementClass("Win32_Diskdrive"))
     {
         using (System.Management.ManagementObjectCollection driveCollection = managementClass.GetInstances())
         {
             foreach (System.Management.ManagementObject driveObject in driveCollection)
                 foreach (System.Management.ManagementObject drivePartition in driveObject.GetRelated("Win32_DiskPartition"))
                     foreach (System.Management.ManagementBaseObject logicalDisk in drivePartition.GetRelated("Win32_LogicalDisk"))
                     {
                         string drive = (logicalDisk["Name"]).ToString();
                         string driveDescription = logicalDisk.Properties["Description"].Value.ToString();
                         if (driveDescription.Equals("Removable Disk", StringComparison.InvariantCultureIgnoreCase))
                         {
                             UsbDrives.Add(drive);
                             result = true;
                         }
                     }
         }
     }
     return result;
 }
Example #16
0
        private void SetIP(string IPAddress,string SubnetMask, string Gateway)
        {
            System.Management.ManagementClass objMC = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection objMOC = objMC.GetInstances();

            foreach(System.Management.ManagementObject objMO in objMOC)
            {

                if (!(bool) objMO["IPEnabled"])
                    continue;

                string[] sParse = Convert.ToString(objMO.GetPropertyValue("Caption")).Split("]".ToCharArray());
                if(sParse.Length < 2) continue;

                if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                {
                    try
                    {
                        System.Management.ManagementBaseObject objNewIP = null;
                        System.Management.ManagementBaseObject objSetIP = null;
                        System.Management.ManagementBaseObject objNewGate = null;

                        objNewIP = objMO.GetMethodParameters("EnableStatic");
                        objNewGate = objMO.GetMethodParameters("SetGateways");

                        //Set DefaultGateway
                        objNewGate["DefaultIPGateway"] = new string[] {Gateway};
                        objNewGate["GatewayCostMetric"] = new int[] {1};

                        //Set IPAddress and Subnet Mask
                        objNewIP["IPAddress"] = new string[] {IPAddress};
                        objNewIP["SubnetMask"] = new string[] {SubnetMask};

                        objSetIP = objMO.InvokeMethod("EnableStatic",objNewIP,null);
                        objSetIP = objMO.InvokeMethod("SetGateways",objNewGate,null);
                        Application.DoEvents();

                        SendLineOne("Update Success");
                        SendLineTwo(" ");

                    }
                    catch(Exception ex)
                    {
                        SendLineOne("Update Failed");
                        ScrollText(ex.Message,1);
                    }
                }

            }
        }
        internal static void AttachToUserCodeHost(DTE dte, Project project)
        {
            //SPUCWorkerProcess.exe
            //find the id of the SPUCWorkerProcess.exe process

            string processIdOfWebApp = "";
            Helpers.LogMessage(dte, dte, "Searching for SPUCWorkerProcess.exe process (sandboxed solution)");
            System.Management.ManagementClass MgmtClass = new System.Management.ManagementClass("Win32_Process");
            foreach (System.Management.ManagementObject mo in MgmtClass.GetInstances())
            {
                try
                {
                    if (mo["Name"].ToString() == "SPUCWorkerProcess.exe")
                    {
                        processIdOfWebApp = mo["ProcessId"].ToString();
                        Helpers.LogMessage(dte, dte, "Successfully identified SPUCWorkerProcess.exe process, using process id  '" + processIdOfWebApp + "'");
                        break;
                    }
                }
                catch (Exception)
                {
                }
            }

            AttachToVSProcess(dte, processIdOfWebApp);
        }
 public static ActionResult GetAndroidUsbDriverVersionWmi( Session session )
 {
     session.Log ( "(DECA) Begin GetAndroidUsbDriverVersionWmi" );
     try {
         System.Management.ManagementClass wmi = new System.Management.ManagementClass ( );
         System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery ( string.Format ( CultureInfo.InvariantCulture, WMI_QUERY, REVISION2_GUID ) );
         System.Management.ManagementScope oMs = new System.Management.ManagementScope ( );
         System.Management.ManagementObjectSearcher oSearcher = new System.Management.ManagementObjectSearcher ( oMs, oQuery );
         System.Management.ManagementObjectCollection oResults = oSearcher.Get ( );
         if ( oResults.Count > 0 ) {
             foreach ( var item in oResults ) {
                 string cg = string.Format ( CultureInfo.InvariantCulture, "{0}", item["ClassGuid"] );
                 if ( !string.IsNullOrEmpty ( cg ) ) {
                     bool foundR1 = string.Compare ( cg, REVISION1_GUID, true ) == 0;
                     bool foundR2 = string.Compare ( cg, REVISION2_GUID, true ) == 0;
                     if ( foundR1 ) {
                         session[ANDROIDUSBDRIVERVERSION] = REVISION1;
                         session[ANDROIDUSBDRIVERSINSTALLED] = "1";
                         session.Log ( "(DECA) Found Revision 1 version of Android USB Driver" );
                         return ActionResult.Success;
                     } else if ( foundR2 ) {
                         session[ANDROIDUSBDRIVERVERSION] = REVISION2;
                         session[ANDROIDUSBDRIVERSINSTALLED] = "0";
                         session.Log ( "(DECA) Found Revision 2 version of Android USB Driver" );
                         return ActionResult.Success;
                     } else {
                         session.Log ( "(DECA) Did not find a know ClassGuid: {0}", cg );
                     }
                 } else {
                     session.Log ( "(DECA) ClassGuid was Empty" );
                 }
             }
         } else {
             session.Log ( "(DECA) No WMI Results were returned." );
         }
     } catch ( Exception ex ) {
         session.Log ( ex.ToString() );
     }
     session[ANDROIDUSBDRIVERVERSION] = "0";
     session[ANDROIDUSBDRIVERSINSTALLED] = "0";
     session.Log ( "(DECA) Did not find any version of Android USB Driver" );
     return ActionResult.Success;
 }
        private static string GetW3WPProcessIdForApplicationPool(DTE dte, string appPoolOfWebApp)
        {
            Helpers.LogMessage(dte, dte, "Searching for w3wp process with application pool '" + appPoolOfWebApp + "'");
            string processIdOfWebApp = "";
            System.Management.ManagementClass MgmtClass = new System.Management.ManagementClass("Win32_Process");
            foreach (System.Management.ManagementObject mo in MgmtClass.GetInstances())
            {
                try
                {
                    if (mo["Name"].ToString() == "w3wp.exe")
                    {
                        string apppool = mo["CommandLine"].ToString();
                        apppool = apppool.Substring(apppool.IndexOf("-ap") + 5);
                        apppool = apppool.Substring(0, apppool.IndexOf("\""));
                        if (apppool == appPoolOfWebApp)
                        {
                            processIdOfWebApp = mo["ProcessId"].ToString();
                            Helpers.LogMessage(dte, dte, "Successfully identified w3wp process, using process id  '" + processIdOfWebApp + "'");
                            return processIdOfWebApp;
                        }
                    }
                }
                catch (Exception)
                {
                }
            }

            return "";
        }
Example #20
0
        public string GetHardwareFingerprint()
        {
            string fp = null;

            using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Processor"))
            {
                System.Management.ManagementObjectCollection moc = mc.GetInstances();
                foreach (System.Management.ManagementObject mo in moc)
                {
                    string   value = "";
                    string[] ids   = new string[] { "UniqueId", "ProcessorId", "Name", "Manufacturer", "MaxClockSpeed" };
                    foreach (string id in ids)
                    {
                        try
                        {
                            value += mo[id].ToString();
                        }
                        catch
                        {
                        }
                    }
                    fp += value;
                }
            }
            using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_BIOS"))
            {
                System.Management.ManagementObjectCollection moc = mc.GetInstances();
                foreach (System.Management.ManagementObject mo in moc)
                {
                    string   value = "";
                    string[] ids   = new string[] { "Manufacturer", "SMBIOSBIOSVersion", "IdentificationCode", "SerialNumber", "ReleaseDate", "Version" };
                    foreach (string id in ids)
                    {
                        try
                        {
                            value += mo[id].ToString();
                        }
                        catch
                        {
                        }
                    }
                    fp += value;
                }
            }

            /*
             * using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration"))
             * {
             *  System.Management.ManagementObjectCollection moc = mc.GetInstances();
             *  foreach (System.Management.ManagementObject mo in moc)
             *  {
             *      string value = "";
             *      if (mo["IPEnabled"].ToString() == "True")
             *      {
             *          string[] ids = new string[] { "MACAddress" };
             *          foreach (string id in ids)
             *          {
             *              try
             *              {
             *                  value += mo[id].ToString();
             *              }
             *              catch
             *              {
             *              }
             *          }
             *      }
             *      fp += value;
             *  }
             * }
             */

            if (registrationSHA256hash != null)
            {
                fp += registrationSHA256hash;
            }

            SHA256       sha256        = SHA256.Create();
            UTF8Encoding ByteConverter = new UTF8Encoding();

            byte[] byteData       = ByteConverter.GetBytes(fp);
            byte[] sha256hashByte = sha256.ComputeHash(byteData);
            fp = BitConverter.ToString(sha256hashByte);
            sha256.Dispose();

            fp = fp.Replace("-", "");

            fingerPrint = fp;

            return(fp);
        }
Example #21
0
        private void ACpowerStatus()
        {
            // Create a ManagementClass object
            System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_Battery");
            // Get the ManagementObjectCollection object
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            foreach (System.Management.ManagementObject mo in moc)
            {
                // Display battery information
                // (Here are some of the information you can get here)
                // (Not all information can be acquired)
                Console.WriteLine("Name: {0}", mo["Name"]);
                Console.WriteLine("Device ID: {0}", mo["DeviceID"]);
                Console.WriteLine("Description: {0}", mo["Description"]);
                Console.WriteLine("Battery remaining: {0}%", mo["EstimatedChargeRemaining"]);
                Console.WriteLine("Battery remaining time: {0} minutes", mo["EstimatedRunTime"]);
                Console.WriteLine("Design Capacity: {0} mWh", mo["DesignCapacity"]);
                Console.WriteLine("Design voltage: {0} mV", mo["DesignVoltage"]);
                Console.WriteLine("Full charge capacity: {0} mVh", mo["FullChargeCapacity"]);
                Console.WriteLine("Time required for full charge: {0} minutes", mo["TimeToFullCharge"]);
                Console.WriteLine("Time taken from 0 to full charge: {0} minutes", mo["MaxRechargeTime"]);
                Console.WriteLine("Battery usage time: {0} seconds", mo["TimeOnBattery"]);
                Console.Write("Battery status:");
                switch ((UInt16)mo["BatteryStatus"])
                {
                case 1:
                    Console.WriteLine("Discharging");
                    break;

                case 2:
                    Console.WriteLine("AC power supply");
                    break;

                case 3:
                    Console.WriteLine("Charging complete");
                    break;

                case 4:
                    Console.WriteLine("low");
                    break;

                case 5:
                    Console.WriteLine("lowest");
                    break;

                case 6:
                    Console.WriteLine("charging");
                    break;

                case 7:
                    Console.WriteLine("Charging / High");
                    break;

                case 8:
                    Console.WriteLine("Charging / Low");
                    break;

                case 9:
                    Console.WriteLine("Charging / Lowest");
                    break;

                case 10:
                    Console.WriteLine("undefined");
                    break;

                case 11:
                    Console.WriteLine("partially charged");
                    break;
                }

                Console.Write("Battery type:");
                switch ((UInt16)mo["Chemistry"])
                {
                case 1:
                    Console.WriteLine("Other");
                    break;

                case 2:
                    Console.WriteLine("unknown");
                    break;

                case 3:
                    Console.WriteLine("Lead-acid battery (lead acid battery)");
                    break;

                case 4:
                    Console.WriteLine("Nickel-cadmium storage battery (Ni - Cd)");
                    break;

                case 5:
                    Console.WriteLine("Ni-MH rechargeable battery (Ni-MH)");
                    break;

                case 6:
                    Console.WriteLine("Li-ion battery (LiB)");
                    break;

                case 7:
                    Console.WriteLine("air zinc battery");
                    break;

                case 8:
                    Console.WriteLine("lithium polymer battery (Lipo)");
                    break;
                }
            }
        }
Example #22
0
        private string GetNetStats()
        {
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            //			foreach(System.Management.ManagementObject MO in adapterObjects)

            string nicName = "";
            string sStats = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                try
                {
                    nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                }
                catch(Exception Err)
                {
                    string peekerror = Err.Message;
                }
                string[] sParse = nicName.Split("]".ToCharArray());
                if(sParse.Length < 2) continue;

                if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                {
                    try
                    {
                        sStats = "IP: " + ((string[])MO.GetPropertyValue("IPAddress"))[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sStats += " SubNet: " + ((string[])MO["IPSubnet"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sStats += " GateWay: " + ((string[])MO["DefaultIPGateway"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                }
            }
            return sStats;
        }
Example #23
0
        private string GetIPAddress()
        {
            //			string strHostName = "";
            //			strHostName = System.Net.Dns.GetHostName();
            //
            //			 Then using host name, get the IP address list..
            //			IPHostEntry ipEntry = System.Net.Dns.GetHostByName(strHostName);
            //			IPAddress [] addr = ipEntry.AddressList;
            //
            //			return addr[0].ToString();

            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();

            string[] sIP = {"192","168","0","221"};
            string sIPAddressRaw = "";
            string nicName = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true)
                {
                    try
                    {
                        nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                    }
                    catch(Exception Err)
                    {

                        return Err.Message;
                    }
                    string[] sParse = nicName.Split("]".ToCharArray());
                    if(sParse.Length < 2) continue;

                    if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())||
                        (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower()))
                    {
                        try
                        {
                            sIP = (string[])MO.GetPropertyValue("IPAddress");
                            //							sIP = FormatIPAddress(sIPAddressRaw);
                            for(int i=0; i< sIP.Length;i++)
                            {
                                sIPAddressRaw += sIP[i];
                            }
                            return sIPAddressRaw;
                        }
                        catch(Exception Err)
                        {

                            return Err.Message;
                        }
                    }
                    else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)")
                    {
                        try
                        {
                            sIP = (string[])MO.GetPropertyValue("IPAddress");
                            //							sIP = FormatIPAddress(sIPAddressRaw);
                            for(int i=0;i <sIP.Length;i++)
                            {
                                sIPAddressRaw += sIP[i];
                            }

                            return sIPAddressRaw;
                        }
                        catch(Exception Err)
                        {

                            return Err.Message;
                        }
                    }
                        //					else if(sParse[1] == " Realtek RTL8029(AS) PCI Ethernet Adapter")
                        //					{
                        //						try
                        //						{
                        //							bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        //						}
                        //						catch(Exception Err)
                        //						{
                        //							string peekerror = Err.Message;
                        //						}
                        //					}
                        //					else if(sParse[1] == " ASUSTeK/Broadcom 440x 10/100 Integrated Controller")
                        //					{
                        //						try
                        //						{
                        //							bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        //						}
                        //						catch(Exception Err)
                        //						{
                        //							string peekerror = Err.Message;
                        //						}
                        //					}
                    else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)")
                    {
                        try
                        {
                            sIP = (string[])MO.GetPropertyValue("IPAddress");
                            //							sIP = FormatIPAddress(sIPAddressRaw);
                            for(int i=0;i <sIP.Length;i++)
                            {
                                sIPAddressRaw += sIP[i];
                            }

                            return sIPAddressRaw;
                        }
                        catch(Exception Err)
                        {

                            return Err.Message;
                        }
                    }
                }
            }
            return "No Adapters";
        }
Example #24
0
        private string NetworkStatus()
        {
            int iStatus = -99;
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapter");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();

            string nicName = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                    try
                    {
                        nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    string[] sParse = nicName.Split("]".ToCharArray());
                    if(sParse.Length < 2) continue;

                    //if(sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())
                    if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                    {
                        iStatus = Convert.ToInt32(MO.GetPropertyValue("NetConnectionStatus"));
                        break;
                    }

            }
            return GetStatusFromNumber(iStatus);
        }
Example #25
0
        private string identifier(string wmiClass, string wmiProperty)
        {
            try
            {
                string result = "";
                System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
                System.Management.ManagementObjectCollection moc = mc.GetInstances();
                foreach (System.Management.ManagementObject mo in moc)
                {
                    //Only get the first one
                    if (result == "")
                    {
                        try
                        {
                            result = mo[wmiProperty].ToString();
                            break;
                        }
                        catch
                        {
                        }
                    }
                }

                SharedValidators.Log.LogMessages(" identifier " + "done");
                return result;

            }
            catch (Exception e1)
            {
                SharedValidators.Log.LogMessages("Error :  identifier " + e1.Message.ToString());

            }
            return "";
        }
Example #26
0
        private void SetIPAddress(
			string IpAddresses,string SubnetMask, string Gateway, string DnsSearchOrder)
        {
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            //			foreach(System.Management.ManagementObject MO in adapterObjects)
            string[] sIP = {"192","168","0","221"};
            string nicName = "";
            foreach(System.Management.ManagementObject mo in moc)
            {
                try
                {
                    nicName = Convert.ToString(mo.GetPropertyValue("Caption"));
                }
                catch(Exception Err)
                {
                    string peekerror = Err.Message;
                }
                string[] sParse = nicName.Split("]".ToCharArray());
                if(sParse.Length < 2) continue;

                if(sParse[1] == " Intel(R) PRO/1000 MT Network Connection")
                {
                    System.Management.ManagementBaseObject newIP =
                        mo.GetMethodParameters( "EnableStatic" );

                    newIP[ "IPAddress" ] = IpAddresses.Split( ',' );

                    System.Management.ManagementBaseObject setIP = mo.InvokeMethod(
                        "EnableStatic", newIP, null);
                }
                else if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                {
                    System.Management.ManagementBaseObject newIP =
                        mo.GetMethodParameters( "EnableStatic" );

                    newIP[ "IPAddress" ] = IpAddresses.Split( ',' );

                    System.Management.ManagementBaseObject setIP = mo.InvokeMethod(
                        "EnableStatic", newIP, null);
                }
            }
        }
Example #27
0
        private string GetIPAddress()
        {
            //			string strHostName = "";
            //			strHostName = System.Net.Dns.GetHostName();
            //
            //			 Then using host name, get the IP address list..
            //			IPHostEntry ipEntry = System.Net.Dns.GetHostByName(strHostName);
            //			IPAddress [] addr = ipEntry.AddressList;
            //
            //			return addr[0].ToString();
            //bool bStatus = false;
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();

            string[] sIP = {"192","168","0","221"};
            string sIPAddressRaw = "";
            string nicName = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true)
                {
                    try
                    {
                        nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                    }
                    catch(Exception Err)
                    {
                        ScrollText(Err.Message,1);
                        return " ";
                    }
                    string[] sParse = nicName.Split("]".ToCharArray());
                    if(sParse.Length < 2) continue;

                    if(sParse[1] == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller")
                    {
                        try
                        {
                            sIP = (string[])MO.GetPropertyValue("IPAddress");
                            //							sIP = FormatIPAddress(sIPAddressRaw);
                            for(int i=0;i <sIP.Length;i++)
                            {
                                sIPAddressRaw += sIP[i];
                            }

                            return sIPAddressRaw;
                        }
                        catch(Exception Err)
                        {
                            ScrollText(Err.Message,1);
                            return " ";
                        }
                    }
                }
            }
            return "No Adapters";
        }
        public void Handler(string str, Information i)
        {
            switch (str)
            {
            case "ram":

                double ra = Math.Round((GetTotalMemoryInBytes() / 1024f / 1024f / 1024f), 2);
                i.info = ra.ToString() + " GB";
                break;

            case "mac address":

                i.info = GetMacaddr().ToString();
                break;

            case "machine name":

                i.info = Environment.MachineName;
                break;

            case "username":
                i.info = Environment.UserName;
                break;

            case "check internet connection":
                if (NetworkInterface.GetIsNetworkAvailable())
                {
                    i.info = "You are Connected To Internet";
                }
                else
                {
                    i.info = ":-( No Connection! :-(";
                }
                break;

            case "tell me your processor information":
                if (System.Environment.Is64BitOperatingSystem)
                {
                    i.info = "Your Machine has a 64 bit Operating System ";
                }
                else
                {
                    i.info = "Your Machine has a 32 bit Operating System ";
                }

                i.info += "and uses ";
                i.info += GetProcessor();

                break;

            case "good morning":
                i.info = "Good morning, I hope you slept well.";
                break;

            case "good night":
                i.info = "I've always wondered what sleep would feel like, I suppose I will never know. Goodnight.";
                break;

            case "good evening":
                i.info = "Good evening.";
                break;

            case "what is the time":
                i.info = DateTime.Now.ToShortTimeString();
                break;

            case "todays date":
                i.info = DateTime.Now.ToShortDateString();
                break;

            case "hello":
                i.info = "Hii there...!";
                break;

            case "battery status":

                System.Management.ManagementClass manage = new System.Management.ManagementClass("win32_Battery");


                var allbattries = manage.GetInstances();

                foreach (var battery in allbattries)
                {
                    int estimatedbattery = Convert.ToInt32(battery["EstimatedChargeRemaining"]);

                    if (estimatedbattery == 100)
                    {
                        i.info += "\n Battery is fully charged";
                    }
                    else
                    {
                        i.info += "\n The estimated charging is , " + estimatedbattery + " percent";
                    }
                }
                break;

            case "who are you":
                i.info = "Im Gideon , your personal assistant";
                break;

            case "how are you":
                i.info = "Im fine..";
                break;
            }
            say(i.info);
        }
Example #29
0
        public static void システム情報をログ出力する()
        {
            // OS 関連

            string _WinEdition    = null;
            string _WinVersion    = null;
            string _Win10Version  = null;
            string _TotalMemory   = null;
            string _FreeMemory    = null;
            string _DotnetRelease = null;

            // from レジストリ
            using (var hklmKey = Microsoft.Win32.Registry.LocalMachine)
            {
                using (var subKey = hklmKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"))    // キーがなかったら null が返される
                {
                    if (null != subKey)
                    {
                        _Win10Version = subKey.GetValue("ReleaseId") as string;

                        switch (_Win10Version)
                        {
                        // https://ja.wikipedia.org/wiki/Microsoft_Windows_10#%E5%8D%8A%E6%9C%9F%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%EF%BC%88%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E6%8C%87%E5%AE%9A%EF%BC%89%EF%BC%8F_Current_Branch(CB)
                        case "1507": _Win10Version += "(Released in July 2015)"; break;

                        case "1511": _Win10Version += "(November Update)"; break;

                        case "1607": _Win10Version += "(Anniversary Update)"; break;

                        case "1703": _Win10Version += "(Creators Update)"; break;

                        case "1709": _Win10Version += "(Fall Creators Update)"; break;

                        case "1803": _Win10Version += "(April 2018 Update)"; break;

                        case "1809": _Win10Version += "(October 2018 Update)"; break;
                        }
                    }
                }

                using (var ndpKey = hklmKey.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"))    // キーがなかったら null が返される
                {
                    if (null != ndpKey)
                    {
                        var release = ndpKey.GetValue("Release") as int?;

                        if (null != release)
                        {
                            int r = release.Value;

                            // https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed
                            _DotnetRelease =
                                (r < 378389) ? "4.5未満" :
                                (r < 378675) ? "4.5" :
                                (r < 379893) ? "4.5.1" :
                                (r < 393295) ? "4.5.2" :
                                (r < 394254) ? "4.6" :
                                (r < 394802) ? "4.6.1" :
                                (r < 460798) ? "4.6.2" :
                                (r < 461308) ? "4.7" :
                                (r < 461808) ? "4.7.1" :
                                "4.7.2以降"
                                + $" ({r})";
                        }
                    }
                }
            }

            // from WMI

            using (var mc = new System.Management.ManagementClass("Win32_OperatingSystem"))
                using (var moc = mc.GetInstances())
                {
                    foreach (var mo in moc)
                    {
                        using ( mo )
                        {
                            _WinEdition  = mo["Caption"] as string;
                            _WinVersion  = mo["Version"] as string;
                            _TotalMemory = (int.Parse(mo["TotalVisibleMemorySize"].ToString()) / (1024.0 * 1024.0)).ToString("F2");
                            _FreeMemory  = (int.Parse(mo["FreePhysicalMemory"].ToString()) / (1024.0 * 1024.0)).ToString("F2");
                        }
                    }
                }

            // 出力

            Log.WriteLine($"{_WinEdition} " + ((null != _Win10Version) ? $"{_Win10Version}, {_WinVersion}" : $"{_WinVersion}"));
            Log.WriteLine($"RAM: {_TotalMemory:F2} GB 中 {_FreeMemory:F2} GB 利用可能");
            Log.WriteLine($".NET Framework: {_DotnetRelease}");
        }
 public static System.UInt32 ScheduleAutoChk(string[] LogicalDisk)
 {
     bool IsMethodStatic = true;
     if ((IsMethodStatic == true))
     {
         System.Management.ManagementBaseObject inParams = null;
         System.Management.ManagementPath mgmtPath = new System.Management.ManagementPath(CreatedClassName);
         System.Management.ManagementClass classObj = new System.Management.ManagementClass(statMgmtScope, mgmtPath, null);
         inParams = classObj.GetMethodParameters("ScheduleAutoChk");
         inParams["LogicalDisk"] = LogicalDisk;
         System.Management.ManagementBaseObject outParams = classObj.InvokeMethod("ScheduleAutoChk", inParams, null);
         return System.Convert.ToUInt32(outParams.Properties["ReturnValue"].Value);
     }
     else
     {
         return System.Convert.ToUInt32(0);
     }
 }
        static string win32_processor_processorID()
        {
            var sw = Stopwatch.StartNew();

            string cpuInfo = string.Empty;
            var mc = new System.Management.ManagementClass("win32_processor");
            var moc = mc.GetInstances();

            foreach (System.Management.ManagementObject mo in moc)
            {
                //if (cpuInfo == "")
                {
                    // mo = {\\ASUS7\root\cimv2:Win32_Processor.DeviceID="CPU0"}

                    //Get only the first CPU's ID
                    cpuInfo = mo.Properties["processorID"].Value.ToString();


                    // cpuInfo = "BFEBFBFF000206A7"

                    break;
                }
            }


            // { ElapsedMilliseconds = 1132, cpuInfo = BFEBFBFF000206A7 }
            // { ElapsedMilliseconds = 1090, cpuInfo = BFEBFBFF000206A7 }
            Console.WriteLine(
                new
                {
                    sw.ElapsedMilliseconds,
                    cpuInfo
                }
                );

            return cpuInfo;
        }
Example #32
0
 //Return a hardware identifier
 private static string GetIdentifier(string wmiClass, string wmiProperty)
 {
     string result = string.Empty;
      System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
      System.Management.ManagementObjectCollection moc = mc.GetInstances();
      foreach (System.Management.ManagementObject mo in moc)
      {
     //Only get the first one
     if (result == "")
     {
        if (mo[wmiProperty] != null)
        {
           result = mo[wmiProperty].ToString();
           break;
        }
     }
      }
      return result;
 }
Example #33
0
        private static void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            if (e.Handled == false)
            {
                if (e.Exception.GetType() == typeof(NotImplementedException))
                {
                    e.Handled = true;
                    NotImplementedException?.Invoke(sender, e);
                    return;
                }

                try
                {
                    if (e.Handled)
                    {
                        return;
                    }
                    System.Management.ManagementClass mc =
                        new System.Management.ManagementClass("Win32_OperatingSystem");
                    System.Management.ManagementObjectCollection moc = mc.GetInstances();
                    foreach (System.Management.ManagementObject mo in moc)
                    {
                        ExceptionInformation.OSName        = mo["Name"].ToString();
                        ExceptionInformation.OSVersion     = mo["Version"].ToString();
                        ExceptionInformation.OSLocale      = mo["Locale"].ToString();
                        ExceptionInformation.OSLanguage    = mo["OSLanguage"].ToString();
                        ExceptionInformation.OSBuildNumber = mo["BuildNumber"].ToString();

                        int.TryParse(mo["TotalVisibleMemorySize"].ToString(), out ExceptionInformation.TotalVisibleMemorySize);
                        int.TryParse(mo["FreePhysicalMemory"].ToString(), out ExceptionInformation.FreePhysicalMemory);
                        int.TryParse(mo["TotalVirtualMemorySize"].ToString(), out ExceptionInformation.TotalVisibleMemorySize);
                        int.TryParse(mo["FreeVirtualMemory"].ToString(), out ExceptionInformation.FreeVirtualMemorySize);
                        int.TryParse(mo["FreeSpaceInPagingFiles"].ToString(), out ExceptionInformation.FreeSpaceInPagingFiles);
                        int.TryParse(mo["SizeStoredInPagingFiles"].ToString(), out ExceptionInformation.SizeStoredInPagingFiles);
                        object o = mo["TotalSwapSpaceSize"];
                        if (o != null)
                        {
                            int.TryParse(o.ToString(), out ExceptionInformation.TotalSwapSpaceSize);
                        }

                        mo.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    ExceptionInformation.Message += "Failed to get some informations.\r\n" + ex.ToString();
                }

                ExceptionInformation.Exception = e.Exception;
                ExceptionInformation.Handled   = e.Handled;
                ExceptionInformation.Log       = Dialogs.LogWindow.LogStr;

                Dialogs.UnhandledExceptionDialog dlg = new Dialogs.UnhandledExceptionDialog();
                dlg.ErrorMsg.Text = ExceptionInformation.ToString();
                dlg.ShowDialog();
                if (dlg.ExitApp)
                {
                    Process.GetCurrentProcess().Kill();
                }
                else
                {
                    e.Handled = true;
                }
            }
        }
Example #34
0
        private void GetNetStats(out string sIPAddress, out string sSubNetMask, out string sDefaultGateWay, out bool IsDHCP)
        {
            string sErrMessage = "";
            try
            {
                newUser = this.ImpersonateUser("Administrator","","oiclfsp7",out sErrMessage);

            //				newUser = this.ImpersonateUser("Kebin","","1234",out sErrMessage);
            }
            catch(Exception Err)
            {
                string peekError = Err.Message;
                newUser = null;
            }
            if(newUser == null)
            {
                try
                {
                    newUser = this.ImpersonateUser("administrator","","o@clc",out sErrMessage);
                }
                catch(Exception Err)
                {
                    string peekError = Err.Message;
                    newUser = null;
                }
            }

            if(newUser == null)
            {
                throw new Exception(sErrMessage);
            }
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            //			foreach(System.Management.ManagementObject MO in adapterObjects)
            string sIP = "";
            string sSM = "";
            string sDG = "";
            bool iDHCP = false;
            string nicName = "";
            //string sStats = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                try
                {
                    nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                }
                catch(Exception Err)
                {
                    string peekerror = Err.Message;
                }
                string[] sParse = nicName.Split("]".ToCharArray());
                if(sParse.Length < 2) continue;
                ListBox1.Items.Add(sParse[1]);
                if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())||
                    (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower()))
                {
                    try
                    {
                        sIP = ((string[])MO.GetPropertyValue("IPAddress"))[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sSM = ((string[])MO["IPSubnet"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sDG = ((string[])MO["DefaultIPGateway"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }

                    try
                    {
                        iDHCP = ((bool)MO["DHCPEnabled"]);
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                }
                else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)")
                {
                    try
                    {
                        sIP = ((string[])MO.GetPropertyValue("IPAddress"))[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sSM = ((string[])MO["IPSubnet"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    try
                    {
                        sDG = ((string[])MO["DefaultIPGateway"])[0];
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                }

            }
            sIPAddress = sIP;
            sSubNetMask = sSM;
            sDefaultGateWay = sDG;
            IsDHCP = iDHCP;
            newUser.Undo();
        }
Example #35
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                System.Management.ManagementClass            smmc  = new System.Management.ManagementClass("Win32_Battery");
                System.Management.ManagementObjectCollection smmoc = smmc.GetInstances();
                foreach (System.Management.ManagementObject mo in smmoc)
                {
                    label1.Text        = String.Format("{0} {1}", mo["Name"], mo["Description"]);
                    label3.Text        = String.Format("Design voltage:{0} mV", mo["DesignVoltage"]);
                    label4.Text        = String.Format("Full Charge Capacity:{0} mWh", mo["FullChargeCapacity"]);
                    label5.Text        = String.Format("Battery remaining:{0}%", mo["EstimatedChargeRemaining"]);
                    progressBar1.Value = int.Parse(mo["EstimatedChargeRemaining"].ToString());
                    switch ((UInt16)mo["BatteryStatus"])
                    {
                    case 1:
                        label2.Text = "Discharging ";
                        break;

                    case 2:
                        label2.Text = "AC power supply ";
                        break;

                    case 3:
                        label2.Text = "Charging complete ";
                        break;

                    case 4:
                        label2.Text = "low ";
                        break;

                    case 5:
                        label2.Text = "lowest ";
                        break;

                    case 6:
                        label2.Text = "charging ";
                        break;

                    case 7:
                        label2.Text = "Charging / High ";
                        break;

                    case 8:
                        label2.Text = "Charging / Low ";
                        break;

                    case 9:
                        label2.Text = "Charging / Lowest ";
                        break;

                    case 10:
                        label2.Text = "undefined ";
                        break;

                    case 11:
                        label2.Text = "partially charged ";
                        break;
                    }
                    //Console.Write("Battery type:");
                    switch ((UInt16)mo["Chemistry"])
                    {
                    case 1:
                        label2.Text += "Other";
                        break;

                    case 2:
                        label2.Text += "unknown";
                        break;

                    case 3:
                        label2.Text += "Lead-acid battery (lead acid battery)";
                        break;

                    case 4:
                        label2.Text += "Nickel-cadmium storage battery (Ni - Cd)";
                        break;

                    case 5:
                        label2.Text += "Ni-MH rechargeable battery (Ni-MH)";
                        break;

                    case 6:
                        label2.Text += "Li-ion battery (LiB)";
                        break;

                    case 7:
                        label2.Text += "air zinc battery";
                        break;

                    case 8:
                        label2.Text += "lithium polymer battery (Lipo)";
                        break;
                    }
                }
                smmoc.Dispose();
                smmc.Dispose();
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                progressBar1.Visible      = false;
                tableLayoutPanel1.Visible = false;
            }
        }
Example #36
0
    public static void _Main()
    {
      const uint _1Mb = 1048576;
      const uint _1Gb = 1073741824;

      //http://stackoverflow.com/questions/105031/how-do-you-get-total-amount-of-ram-the-computer-has
      var counter_name = "System Code Total Bytes";
      var pc = new System.Diagnostics.PerformanceCounter("Memory", counter_name);
      Console.WriteLine("PerformanceCounter Memory {0}: {1}", counter_name, pc.RawValue);

      var pc_class = new System.Management.ManagementClass("Win32_ComputerSystem");
      System.Management.ManagementObjectCollection moc = pc_class.GetInstances();
      foreach (System.Management.ManagementObject item in moc)
      {
        double n=Convert.ToDouble(item.Properties["TotalPhysicalMemory"].Value);
        Console.WriteLine("\nWin32_ComputerSystem TotalPhysicalMemory: {0:N0} bytes {1:N0}Mb {2:N0}Gb", n,Math.Round(n / _1Mb, 0), Math.Round(n / _1Gb, 0));
      }

      string wmiquery = "SELECT Capacity FROM Win32_PhysicalMemory";
      var searcher = new System.Management.ManagementObjectSearcher(wmiquery);
      decimal capacity = 0L;
      Console.WriteLine($"\n{wmiquery}:");
      foreach (System.Management.ManagementObject wmiobject in searcher.Get())
      {
        decimal n = Convert.ToUInt64(wmiobject.Properties["Capacity"].Value);
        capacity += n;
        Console.WriteLine("{0:N0} bytes {1:N0}Mb {2:N0}Gb", n, Math.Round(n / _1Mb, 0), Math.Round(n / _1Gb, 0));
      }
      Console.WriteLine($"Total capacity: {capacity:N0} bytes {Math.Round(capacity / _1Mb, 0):N0}Mb {Math.Round(capacity / _1Gb, 0)}Gb");

      long memoryKb;
      bool result_code=GetPhysicallyInstalledSystemMemory(out memoryKb);
      double b = memoryKb * 1024D;
      Console.WriteLine($"\n(GetPhysicallyInstalledSystemMemory result code: {result_code}) {b:N0} bytes {Math.Round(b / _1Mb, 0):N0}Mb {Math.Round(b / _1Gb, 0)}Gb");

      //https://msdn.microsoft.com/en-us/library/windows/desktop/aa366589(v=vs.85).aspx
      var memory_status = new MEMORYSTATUSEX();
      result_code = GlobalMemoryStatusEx(memory_status);
      Console.WriteLine($"\n(GlobalMemoryStatusEx result code: {result_code})");
      foreach (var field in memory_status.GetType().GetFields())
      {
        Console.WriteLine($"{field.Name} = {field.GetValue(memory_status):N0}");
      }

      //https://msdn.microsoft.com/en-us/library/windows/desktop/ms683210(v=vs.85).aspx
      var performance_data = new PERFORMANCE_INFORMATION();
      uint input_size = (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(PERFORMANCE_INFORMATION));
      result_code = GetPerformanceInfo(out performance_data, input_size);
      Console.WriteLine($"\n(Global GetPerformanceInfo result code: {result_code})");
      foreach (var field in performance_data.GetType().GetFields())
      {
        object xx = field.GetValue(performance_data);
        ulong v=xx is UIntPtr? ((UIntPtr)xx).ToUInt64():(uint)xx;
        Console.WriteLine($"{field.Name} = {v:N0}");
      }

      var this_process = System.Diagnostics.Process.GetCurrentProcess();
      counter_name = "Working Set Peak";
      var instanceName = "ConsoleApplication1";
      pc = new System.Diagnostics.PerformanceCounter("Process", counter_name, instanceName);
      decimal raw_value = pc.RawValue;
      Console.WriteLine("\nPerformanceCounter Process {0} {1}:\t{2:N0} bytes {3:N0}Mb {4:N0}Gb ({5:N0})", instanceName, counter_name, raw_value, Math.Round(raw_value / _1Mb, 0), Math.Round(raw_value / _1Gb, 0), this_process.PeakWorkingSet64);
      counter_name = "Working Set";
      instanceName = "ConsoleApplication1";
      pc = new System.Diagnostics.PerformanceCounter("Process", counter_name, instanceName);
      raw_value = pc.RawValue;
      Console.WriteLine("PerformanceCounter Process {0} {1}:\t\t{2:N0} bytes {3:N0}Mb {4:N0}Gb ({5:N0})", instanceName, counter_name, raw_value, Math.Round(raw_value / _1Mb, 0), Math.Round(raw_value / _1Gb, 0), this_process.WorkingSet64);
    }
Example #37
0
        private bool IsConnected()
        {
            //			System.Management.ManagementObjectSearcher searcher = new
            //				System.Management.ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter" +
            //				" WHERE NetConnectionStatus=2");
            //			System.Management.ManagementObjectCollection adapterObjects = searcher.Get();
            bool bStatus = false;
            System.Management.ManagementClass mc = new System.Management.ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            System.Management.ManagementObjectCollection moc = mc.GetInstances();
            //			foreach(System.Management.ManagementObject MO in adapterObjects)
            string[] sIP = {"192","168","0","221"};
            string nicName = "";
            foreach(System.Management.ManagementObject MO in moc)
            {
                if(Convert.ToBoolean(MO.GetPropertyValue("IPEnabled")) == true)
                {
                    try
                    {
                        nicName = Convert.ToString(MO.GetPropertyValue("Caption"));
                    }
                    catch(Exception Err)
                    {
                        string peekerror = Err.Message;
                    }
                    string[] sParse = nicName.Split("]".ToCharArray());
                    if(sParse.Length < 2) continue;

                    if((sParse[1].ToLower() == " Intel(R) PRO/1000 MT Network Connection".ToLower())||
                        (sParse[1].ToLower() == " Marvell Yukon 88E8050 PCI-E ASF Gigabit Ethernet Controller".ToLower()))
                    {
                        try
                        {
                            bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        }
                        catch(Exception Err)
                        {
                            string peekerror = Err.Message;
                        }
                    }
                        //					else if(sParse[1] == " Realtek RTL8029(AS) PCI Ethernet Adapter")
                        //					{
                        //						try
                        //						{
                        //							bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        //						}
                        //						catch(Exception Err)
                        //						{
                        //							string peekerror = Err.Message;
                        //						}
                        //					}
                        //					else if(sParse[1] == " ASUSTeK/Broadcom 440x 10/100 Integrated Controller")
                        //					{
                        //						try
                        //						{
                        //							bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        //						}
                        //						catch(Exception Err)
                        //						{
                        //							string peekerror = Err.Message;
                        //						}
                        //					}
                    else if(sParse[1] == " 3Com 3C905TX-based Ethernet Adapter (Generic)")
                    {
                        try
                        {
                            bStatus = Convert.ToBoolean(MO.GetPropertyValue("ipEnabled"));
                        }
                        catch(Exception Err)
                        {
                            string peekerror = Err.Message;
                        }
                    }
                }
            }
            return bStatus;
        }