Exemple #1
0
 public void GetCPUStaticInfo()
 {
     try
     {
         var mbo = new ManagementObjectSearcher("SELECT Name, NumberOfCores FROM Win32_Processor").Get();
         CPUType      = mbo.Cast <ManagementBaseObject>().Select(c => c["Name"].ToString()).FirstOrDefault();
         CPUCoreCount = mbo.Cast <ManagementBaseObject>().Sum(x => int.Parse(x["NumberOfCores"].ToString()));
     }
     catch
     {
         CPUType      = "Fail to get CPU Type";
         CPUCoreCount = -1;
     }
 }
Exemple #2
0
        private Process FindGatewayProcess()
        {
            // It may be run by Java
            Process gatewayProcess = Process.GetProcessesByName("java").SingleOrDefault(x => !String.IsNullOrEmpty(x.MainWindowTitle) && (x.MainWindowTitle.ToLower().Contains("ib gateway") || x.MainWindowTitle.ToLower().Contains("ibgateway")));

            // Or it runs by Java, but main window title is different
            if (gatewayProcess == null)
            {
                using (ManagementObjectCollection results = new ManagementObjectSearcher("SELECT * FROM Win32_Process WHERE Name = 'java.exe'").Get())
                {
                    ManagementObject managementObject = results.Cast <ManagementObject>().SingleOrDefault(x => x.Properties["CommandLine"].Value is string str && str != null && str.Contains("ibgateway"));
                    if (managementObject != null)
                    {
                        gatewayProcess = Process.GetProcessById((int)(uint)managementObject["ProcessId"]);
                    }
                }
            }

            // Or it may be run directly
            if (gatewayProcess == null)
            {
                gatewayProcess = Process.GetProcessesByName("ibgateway").SingleOrDefault();
            }

            _____________________________________________________________________________Logger.Write(gatewayProcess == null ? "We didn't find gateway process" : $"We found a gateway process called '{gatewayProcess.ProcessName}' with window title '{gatewayProcess.MainWindowTitle}' which has started at {gatewayProcess.StartTime.ToUniversalTime()}");
            return(gatewayProcess);
        }
Exemple #3
0
        public static bool PathIsFromVHD(string Location)
        {
            string root = Path.GetPathRoot(Location);

            if (root == null)
            {
                return(false);
            }
            var scope = new ManagementScope(@"root\cimv2");

            scope.Connect();
            var drives = new ManagementObjectSearcher(scope,
                                                      new SelectQuery(DiskStrings.LogicalDisk,
                                                                      "DeviceID like '" +
                                                                      root.Substring(0, root.IndexOf(':')) +
                                                                      "'")).Get();

            return
                (drives.Cast <ManagementObject>().Any(
                     drive =>
                     drive.GetRelated(DiskStrings.DiskPartition).Cast <ManagementObject>().Any(
                         part =>
                         part.GetRelated(DiskStrings.DiskDrive).Cast <ManagementObject>().Any(
                             device =>
                             new ManagementObjectSearcher(GetScope(),
                                                          new SelectQuery(DiskStrings.MountedStorage,
                                                                          "Lun=" + device["SCSILogicalUnit"] +
                                                                          " and PortNumber=" + device["SCSIPort"] +
                                                                          " and TargetID=" + device["SCSITargetID"]))
                             .Get().Cast <ManagementObject>().Any()))));
        }
Exemple #4
0
        private string GetMemoryType()
        {
            const string RAM_MEMORY_TYPE = "MemoryType";
            var          mbo             = new ManagementObjectSearcher($"SELECT {RAM_MEMORY_TYPE} FROM Win32_PhysicalMemory").Get();

            switch (mbo.Cast <ManagementBaseObject>().Select(c => int.Parse(c[RAM_MEMORY_TYPE].ToString())).FirstOrDefault())
            {
            case 1: return("Other");

            case 2: return("DRAM");

            case 3: return("Synchronous DRAM");

            case 4: return("Cache DRAM");

            case 5: return("EDO");

            case 6: return("EDRAM");

            case 7: return("VRAM");

            case 8: return("SRAM");

            case 9: return("RAM");

            case 10: return("ROM");

            case 11: return("Flash");

            case 12: return("EEPROM");

            case 13: return("FEPROM");

            case 14: return("EPROM");

            case 15: return("CDRAM");

            case 16: return("3DRAM");

            case 17: return("SDRAM");

            case 18: return("SGRAM");

            case 19: return("RDRAM");

            case 20: return("DDR");

            case 21: return("DDR2");

            case 22: return("DDR2 FB-DIMM");

            case 23: return("Undefined 23");

            case 24: return("DDR3");

            case 25: return("Undefined 25");

            default: return("Unknown");
            }
        }
        private static IEnumerable <ManagementObject> GetProcessesRemote(string remoteMachineName, string whereClause)
        {
            var wmiScope         = string.Format(@"\\{0}\root\cimv2", remoteMachineName);
            var childrenWmiQuery = string.Format(@"SELECT * FROM Win32_Process WHERE {0}", whereClause);
            var children         = new ManagementObjectSearcher(wmiScope, childrenWmiQuery).Get();

            return(children.Cast <ManagementObject>());
        }
Exemple #6
0
        /// <summary>
        /// 使用 ManagementObjectSearcher 查询管理器调用WMI查询。
        /// </summary>
        /// <typeparam name="T">结果类型。</typeparam>
        /// <param name="sql">查询语句。</param>
        /// <param name="callback">回调方法。</param>
        /// <returns>查询结果。</returns>
        private static IEnumerable <T> SelectManagementObject <T>(String sql, Func <ManagementObject, T> callback)
        {
            ManagementObjectCollection moc = new ManagementObjectSearcher(sql).Get();

            if (moc == null)
            {
                return(new T[0]);
            }
            return(moc.Cast <ManagementObject>().Select(x => callback(x)));
        }
Exemple #7
0
        private void funcPopulateOSes()
        {
            SelectQuery QueryOS            = new SelectQuery("SELECT * FROM Win32_OperatingSystem");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryOS).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                OS temp = new OS(mo);

                listOS.Add(temp);
            });
        }
Exemple #8
0
        public void funcPopulateSMBIOSes()
        {
            SelectQuery QuerySMBIOSes      = new SelectQuery("SELECT * FROM Win32_SMBIOSMemory");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QuerySMBIOSes).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                SMBIOS temp = new SMBIOS(mo);

                listSMBIOS.Add(temp);
            });
        }
Exemple #9
0
        public void funcPopulateMonitors()
        {
            SelectQuery QueryMONs          = new SelectQuery("SELECT * FROM Win32_PnPEntity WHERE Service='monitor'");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryMONs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                PNPMonitor temp = new PNPMonitor(mo);

                listMons.Add(temp);
            });
        }
Exemple #10
0
        public void SetPartitions()
        {
            ObjectQuery PartitionQuery     = new ObjectQuery("SELECT * FROM Win32_DiskPartition");
            ManagementObjectCollection moc = new ManagementObjectSearcher(PartitionQuery).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                DiskPartition newPart = new DiskPartition(mo);

                DPs.Add(newPart);
            });
        }
Exemple #11
0
        public void funcPopulateTPs()
        {
            SelectQuery QueryTPs           = new SelectQuery("SELECT * FROM Win32_TemperatureProbe");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryTPs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                ThermalProbe temp = new ThermalProbe(mo);

                listTP.Add(temp);
            });
        }
Exemple #12
0
        public void funcPopulateGPUs()
        {
            SelectQuery QueryGPUs          = new SelectQuery("SELECT * FROM Win32_VideoController");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryGPUs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                GPU temp = new GPU(mo);

                listGPU.Add(temp);
            });
        }
Exemple #13
0
        public void funcPopulateSoundDevices()
        {
            SelectQuery QuerySDs           = new SelectQuery("SELECT * FROM Win32_SoundDevice");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QuerySDs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                SoundDevice temp = new SoundDevice(mo);

                listSD.Add(temp);
            });
        }
Exemple #14
0
        public void funcPopulateMB()
        {
            SelectQuery QueryMBs           = new SelectQuery("SELECT * FROM Win32_BaseBoard");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryMBs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                Motherboard temp = new Motherboard(mo);

                mb = temp;
            });
        }
Exemple #15
0
        //Set to public so it can be handled in a background worker thread
        //controlled by GUI.  Will hang the UI for 1.5 seconds unless put
        //on a different thread.
        public void funcPopulateCPUs()
        {
            SelectQuery QueryCPUs          = new SelectQuery("SELECT * FROM Win32_Processor");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryCPUs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                CPU temp = new CPU(mo);

                listCPU.Add(temp);
            });
        }
Exemple #16
0
        private void funcPopulateDSKDRVs()
        {
            SelectQuery QueryDRVs          = new SelectQuery("SELECT * FROM WIN32_DiskDrive");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryDRVs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                DSKDRV temp = new DSKDRV(mo);

                listDSKDRV.Add(temp);
            });
        }
Exemple #17
0
        private void funcPopulateNICs()
        {
            SelectQuery QueryNICs          = new SelectQuery("SELECT * FROM WIN32_NetworkAdapter");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryNICs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                NIC temp = new NIC(mo);

                listNIC.Add(temp);
            });
        }
Exemple #18
0
        private void funcPopulateIRQs()
        {
            IRQTimer = Stopwatch.StartNew();

            SelectQuery QueryIRQs          = new SelectQuery("SELECT * FROM Win32_IRQResource");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryIRQs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
                             { IRQs.Add(new IRQ(mo)); });

            IRQTimer.Stop();
            IRQElapsedTime = IRQTimer.ElapsedMilliseconds;
        }
Exemple #19
0
        private static MyProcessStartAnalytics GetProcessStartAnalyticsData()
        {
            MyProcessStartAnalytics data = new MyProcessStartAnalytics();

            try
            {
                var cpus = new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM Win32_Processor").Get();
                // We're just reporting the first
                var cpuName = cpus.Cast <ManagementObject>().First()["Name"].ToString();

                var memoryInfo = new WinApi.MEMORYSTATUSEX();
                WinApi.GlobalMemoryStatusEx(memoryInfo);

                MyAdapterInfo gpu        = MyVideoSettingsManager.Adapters[MyVideoSettingsManager.CurrentDeviceSettings.AdapterOrdinal];
                var           deviceName = gpu.Name;

                data.ProcessorCount               = (byte)Environment.ProcessorCount;
                data.OsVersion                    = Environment.OSVersion.VersionString;
                data.CpuInfo                      = cpuName;
                data.OsPlatform                   = Environment.Is64BitOperatingSystem ? "64bit" : "32bit";
                data.HasDX11                      = MyDirectXHelper.IsDx11Supported();
                data.GameVersion                  = MyFinalBuildConstants.APP_VERSION_STRING.ToString();
                data.TotalPhysMemBytes            = memoryInfo.ullTotalPhys;
                data.GpuInfo                      = new MyGraphicsInfo();
                data.GpuInfo.AnisotropicFiltering = MyVideoSettingsManager.CurrentGraphicsSettings.Render.AnisotropicFiltering.ToString();
                data.GpuInfo.AntialiasingMode     = MyVideoSettingsManager.CurrentGraphicsSettings.Render.AntialiasingMode.ToString();
                data.GpuInfo.FoliageDetails       = MyVideoSettingsManager.CurrentGraphicsSettings.Render.FoliageDetails.ToString();
                data.GpuInfo.ShadowQuality        = MyVideoSettingsManager.CurrentGraphicsSettings.Render.ShadowQuality.ToString();
                data.GpuInfo.TextureQuality       = MyVideoSettingsManager.CurrentGraphicsSettings.Render.TextureQuality.ToString();
                data.GpuInfo.VoxelQuality         = MyVideoSettingsManager.CurrentGraphicsSettings.Render.VoxelQuality.ToString();
                data.GpuInfo.GrassDensityFactor   = MyVideoSettingsManager.CurrentGraphicsSettings.Render.GrassDensityFactor;
                data.GpuInfo.GPUModelName         = gpu.DeviceName;
                data.GpuInfo.GPUMemory            = gpu.VRAM;
                data.AudioInfo.MusicVolume        = MySandboxGame.Config.MusicVolume;
                data.AudioInfo.SoundVolume        = MySandboxGame.Config.GameVolume;
                data.AudioInfo.HudWarnings        = MySandboxGame.Config.HudWarnings;
                data.AudioInfo.MuteWhenNotInFocus = MySandboxGame.Config.EnableMuteWhenNotInFocus;
                data.Fullscreen                   = MyVideoSettingsManager.CurrentDeviceSettings.WindowMode.ToString();
                data.Resolution                   = MySandboxGame.Config.ScreenWidth.ToString() + " x " + MySandboxGame.Config.ScreenHeight.ToString();
            }
            catch (Exception exception)
            {
                MyLog.Default.WriteLine(exception);
            }

            return(data);
        }
Exemple #20
0
        void OnProcessStarted(object sender, EventArrivedEventArgs e)
        {
            if (Visibility == Visibility.Visible || Process.GetCurrentProcess().Id == int.Parse(e.NewEvent.Properties["ParentProcessID"].Value.ToString()) || blacklist.Contains(e.NewEvent.Properties["ProcessName"].Value))
            {
                return;
            }

            var itemName = (string)e.NewEvent.Properties["ProcessName"].Value;

            foreach (PropertyData w in e.NewEvent.Properties)
            {
                Console.WriteLine(w.Name + " = " + w.Value);
            }

            Process mProc = null;

            try
            {
                mProc = Process.GetProcessById(int.Parse(e.NewEvent.Properties["ProcessID"].Value.ToString()));

                ManagementObjectCollection j = new ManagementObjectSearcher("SELECT CommandLine FROM Win32_Process WHERE ProcessId = " + mProc.Id).Get();

                // https://stackoverflow.com/questions/2633628/can-i-get-command-line-arguments-of-other-processes-from-net-c
                file = j.Cast <ManagementBaseObject>().SingleOrDefault()?["CommandLine"]?.ToString();


                mProc.Kill();

                Dispatcher.BeginInvoke(new Action(() =>
                {
                    if (WpfAnimatedGif.ImageBehavior.GetIsAnimationLoaded(Clippy))
                    {
                        var controller = WpfAnimatedGif.ImageBehavior.GetAnimationController(Clippy);
                        controller.GotoFrame(0);
                        controller.Play();
                    }

                    Visibility = Visibility.Visible;

                    HelpText.Text = "I noticed that you tried to run " + itemName + ". Would you like some help with that?";
                }));
            }
            catch (Exception)
            {
                Console.WriteLine("...");
            }
        }
Exemple #21
0
        //Populate temporary/miscellaneous system info till its ready
        //for an individual function.
        private void funcMisc()
        {
            SelectQuery QueryTOTMEM        = new SelectQuery("SELECT * FROM Win32_ComputerSystem");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryTOTMEM).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                double memSize = 0;
                if (double.TryParse(mo["TotalPhysicalMemory"]?.ToString() ?? "", out memSize))
                {
                    //Convert from Bytes to Gigabytes
                    memSize = memSize / 1041741824;

                    TotalMemory = memSize.ToString("0.##") + " GB " + "(" + intMemModules + "x DIMM)";
                }
            });
        }
Exemple #22
0
        private void funcPopulateRAM()
        {
            SelectQuery QueryMEM           = new SelectQuery("SELECT * FROM Win32_PhysicalMemory");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryMEM).Get();

            intMemModules = 0;

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                MEM temp = new MEM(mo);

                listMEM.Add(temp);

                MemorySpeed = temp.MEMSpeed;

                intMemModules += 1;
            });
        }
Exemple #23
0
        public static void Stop()
        {
            const string query = "SELECT ProcessId "
                                 + "FROM Win32_Process "
                                 + "WHERE Name = 'java.exe' "
                                 + "AND CommandLine LIKE '%fuseki-server.jar%'";

            List <Process> servers = null;

            using (var results = new ManagementObjectSearcher(query).Get())
                servers = results.Cast <ManagementObject>()
                          .Select(mo => Process.GetProcessById((int)(uint)mo["ProcessId"]))
                          .ToList();

            foreach (var process in servers)
            {
                process.Kill();
            }
        }
        // Token: 0x060000BA RID: 186 RVA: 0x0000959C File Offset: 0x0000779C
        public Client(string def)
        {
            Class21.smethod_0();
            base..ctor();
            this.decorator = def;
            ManagementObjectCollection source = new ManagementObjectSearcher("select * from win32_networkadapter where Name='" + this.decorator + "'").Get();

            this.m_Prototype = source.Cast <ManagementObject>().FirstOrDefault <ManagementObject>();
            try
            {
                Match match = Regex.Match(this.m_Prototype.Path.RelativePath, "\\\"(\\d+)\\\"$");
                this.database = int.Parse(match.Groups[1].Value);
            }
            catch
            {
                return;
            }
            this.rules = NetworkInterface.GetAllNetworkInterfaces().Where(new Func <NetworkInterface, bool>(this.ComputeWorker)).Select(new Func <NetworkInterface, string>(Client.StateToken._SchemaToken.PatchDescriptor)).FirstOrDefault <string>();
        }
Exemple #25
0
        // Token: 0x060000BB RID: 187 RVA: 0x00006180 File Offset: 0x00004380
        public fj(string aname)
        {
            this.fm = aname;
            ManagementObjectCollection source = new ManagementObjectSearcher("select * from win32_networkadapter where Name='" + this.fm + "'").Get();

            this.fl = source.Cast <ManagementObject>().FirstOrDefault <ManagementObject>();
            try
            {
                Match match = Regex.Match(this.fl.Path.RelativePath, "\\\"(\\d+)\\\"$");
                this.fo = int.Parse(match.Groups[1].Value);
            }
            catch
            {
                return;
            }
            this.fn = (from i in NetworkInterface.GetAllNetworkInterfaces()
                       where i.Description == this.fm
                       select " (" + i.Name + ")").FirstOrDefault <string>();
        }
Exemple #26
0
        public void SetMemoryConfig()
        {
            ObjectQuery MemConfigQuery     = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
            ManagementObjectCollection moc = new ManagementObjectSearcher(MemConfigQuery).Get();

            intMemConfigLength = 0;

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                MemConfig.Add(Tools.convertToGBFromKB(mo["FreePhysicalMemory"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["FreeVirtualMemory"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["TotalVirtualMemorySize"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["TotalVisibleMemorySize"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["FreeSpaceInPagingFiles"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["SizeStoredInPagingFiles"]?.ToString() ?? null));
                MemConfig.Add(Tools.convertToGBFromKB(mo["MaxProcessMemorySize"]?.ToString() ?? null));

                intMemConfigLength = 7;
            });
        }
Exemple #27
0
        private void getInstalledDrivers()
        {
            SelectQuery QueryDrivers       = new SelectQuery("SELECT * FROM Win32_SystemDriver");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryDrivers).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                Driver tempDriver = new Driver(mo);
                UnsortedList.Add(tempDriver);
            });

            if (UnsortedList.Any())
            {
                createSortedList();

                if (SortedList.Any())
                {
                    createDataTable();
                }
            }
        }
Exemple #28
0
        private static MyProcessStartAnalytics GetProcessStartAnalyticsData()
        {
            MyProcessStartAnalytics data = new MyProcessStartAnalytics();
            var cpus = new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM Win32_Processor").Get();
            // We're just reporting the first
            var cpuName = cpus.Cast <ManagementObject>().First()["Name"].ToString();

            var memoryInfo = new WinApi.MEMORYSTATUSEX();

            WinApi.GlobalMemoryStatusEx(memoryInfo);

            var deviceName =
                MyVideoSettingsManager.Adapters[MyVideoSettingsManager.CurrentDeviceSettings.AdapterOrdinal]
                .Name;

            data.OsVersion         = Environment.OSVersion.VersionString;
            data.CpuInfo           = cpuName;
            data.GpuInfo           = deviceName;
            data.GameVersion       = MyFinalBuildConstants.APP_VERSION_STRING.ToString();
            data.TotalPhysMemBytes = memoryInfo.ullTotalPhys;

            return(data);
        }
        /// <summary>
        /// The get ip addresses.
        /// </summary>
        /// <returns>
        /// </returns>
        private List <string> GetIpAddresses()
        {
            var ips = new List <string>();

            string query = "SELECT IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled=true";
            ManagementObjectCollection mgtObjects = new ManagementObjectSearcher(query).Get();

            foreach (
                PropertyData ipaddr in
                mgtObjects.Cast <ManagementObject>().Select(mo => mo.Properties["IPAddress"]).Where(ipaddr => ipaddr.IsLocal))
            {
                if (ipaddr.IsArray)
                {
                    ips.AddRange((string[])ipaddr.Value);
                }
                else
                {
                    ips.Add(ipaddr.Value.ToString());
                }
            }

            return(ips);
        }
Exemple #30
0
        private void funcPopulateAccounts()
        {
            AccountTimer = Stopwatch.StartNew();
            SelectQuery QueryACs           = new SelectQuery("SELECT * FROM Win32_Account");
            ManagementObjectCollection moc = new ManagementObjectSearcher(QueryACs).Get();

            Parallel.ForEach(moc.Cast <ManagementObject>(), mo =>
            {
                Account Account = new Account(mo);

                switch (Account.AccountType)
                {
                case "User":            UserAccounts.Add(Account);      break;

                case "Group":           GroupAccounts.Add(Account);     break;

                case "Domain":          DomainAccounts.Add(Account);    break;

                case "Alias":           AliasAccounts.Add(Account);     break;

                case "WellKnownGroup":  WKGAccounts.Add(Account);       break;

                case "DeletedAccount":  DeletedAccounts.Add(Account);   break;

                case "Invalid":         InvalidAccounts.Add(Account);   break;

                case "Unknown":         UnknownAccounts.Add(Account);   break;

                case "Computer":        ComputerAccounts.Add(Account);  break;

                default: break;
                }
            });

            AccountTimer.Stop();
            AccountElapsedTime = AccountTimer.ElapsedMilliseconds;
        }