Ejemplo n.º 1
0
 //主线程处理的主要事务
 private void MainBusinessHandle()
 {
     //应用程序管理
     processesManageList.BeginManage();
     //Socket管理
     if (clientSocket.communicateSocket.Connected == false)
     {
         //检测是否能够ping通服务器
         if (clientSocket.IAccessful())
         {
             clientSocket.Access(new Action(() =>
             {
                 try
                 {
                     //首先发送自己的Mac地址
                     clientSocket.Send(SystemInfoHelper.GetMacAddress());
                     //开始异步接收服务器发送来的消息
                     clientSocket.Receive(ReceiveMessageAction);
                 }
                 catch (Exception)
                 {
                     return;
                 }
             }));
         }
     }
 }
Ejemplo n.º 2
0
        internal AgentComponents(
            IApmLogger logger,
            IConfigurationReader configurationReader,
            IPayloadSender payloadSender,
            IMetricsCollector metricsCollector,
            ICurrentExecutionSegmentsContainer currentExecutionSegmentsContainer,
            ICentralConfigFetcher centralConfigFetcher
            )
        {
            var tempLogger = logger ?? ConsoleLogger.LoggerOrDefault(configurationReader?.LogLevel);

            ConfigurationReader = configurationReader ?? new EnvironmentConfigurationReader(tempLogger);
            Logger  = logger ?? ConsoleLogger.LoggerOrDefault(ConfigurationReader.LogLevel);
            Service = Service.GetDefaultService(ConfigurationReader, Logger);

            var systemInfoHelper = new SystemInfoHelper(Logger);
            var system           = systemInfoHelper.ParseSystemInfo();

            ConfigStore = new ConfigStore(new ConfigSnapshotFromReader(ConfigurationReader, "local"), Logger);

            PayloadSender = payloadSender ?? new PayloadSenderV2(Logger, ConfigStore.CurrentSnapshot, Service, system);

            MetricsCollector = metricsCollector ?? new MetricsCollector(Logger, PayloadSender, ConfigurationReader);
            MetricsCollector.StartCollecting();

            CentralConfigFetcher = centralConfigFetcher ?? new CentralConfigFetcher(Logger, ConfigStore, Service);

            TracerInternal = new Tracer(Logger, Service, PayloadSender, ConfigStore,
                                        currentExecutionSegmentsContainer ?? new CurrentExecutionSegmentsContainer());
        }
Ejemplo n.º 3
0
 public UpdateInfo()
 {
     InitializeComponent();
     RequestedTheme = Settings.Current.Theme;
     Title          = string.Format(Consts.UpdateNoteTitle, SystemInfoHelper.GetPackageVer());
     Note.Text      = Consts.UpdateNote;
 }
Ejemplo n.º 4
0
 public AboutPage()
 {
     BuildText = SystemInfoHelper.GetPackageVer().ToVersionString();
     this.InitializeComponent();
     MainPageViewModel.Current.Title         = Consts.Localizer.GetString("AboutText");
     MainPageViewModel.Current.NeedShowTitle = true;
 }
        public void TestGetSysInfo()
        {
            SYSTEM_INFO Info = SystemInfoHelper.GetSysInfo();

            Assert.IsTrue(Info.ProcessorArchitecture == ProcessorArchitecture.X64);
            Assert.IsTrue((uint)Info.MaximumApplicationAddress > (uint)Info.MinimumApplicationAddress);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Show the contextual menu
        /// </summary>
        private void ShowContextMenu()
        {
            if (ContextMenu != null)
            {
                var mousePosition = new Core.Desktop.Interop.Structs.Point();
                NativeMethods.GetCursorPos(ref mousePosition);
                var activeScreen = Forms.Screen.FromPoint(new Drawing.Point(mousePosition.X, mousePosition.Y));
                var screen       = SystemInfoHelper.GetAllScreenInfos().Single(s => s.DeviceName == activeScreen.DeviceName);

                ContextMenu.Placement        = PlacementMode.Absolute;
                ContextMenu.HorizontalOffset = (mousePosition.X / (screen.Scale / 100.0)) - 2;
                ContextMenu.VerticalOffset   = (mousePosition.Y / (screen.Scale / 100.0)) - 2;

                ContextMenu.Opened += OnContextMenuOpened;
                ContextMenu.Closed += OnContextMenuClosed;
                ContextMenu.IsOpen  = true;

                HwndSource source = (HwndSource)PresentationSource.FromVisual(ContextMenu);
                if (source != null && source.Handle != IntPtr.Zero)
                {
                    //activate the context menu or the message window to track deactivation - otherwise, the context menu
                    //does not close if the user clicks somewhere else. With the message window
                    //fallback, the context menu can't receive keyboard events - should not happen though
                    NativeMethods.SetForegroundWindow(source.Handle);
                }
            }
        }
        private void SendLoginPack(TcpSocketSaeaSession session)
        {
            string remarkInfomation = AppConfiguartion.RemarkInfomation ?? AppConfiguartion.DefaultRemarkInfo;
            string groupName        = AppConfiguartion.GroupName ?? AppConfiguartion.DefaultGroupName;
            bool   openScreenWall   = AppConfiguartion.IsOpenScreenView; //默认为打开屏幕墙
            bool   openScreenRecord = AppConfiguartion.IsScreenRecord;   //默认屏幕记录

            var loginPack = new LoginPack();

            loginPack.IPV4              = SystemInfoHelper.GetLocalIPV4();
            loginPack.MachineName       = Environment.MachineName ?? "";
            loginPack.Remark            = remarkInfomation;
            loginPack.ProcessorCount    = Environment.ProcessorCount;
            loginPack.ProcessorInfo     = SystemInfoHelper.GetMyCpuInfo;
            loginPack.MemorySize        = SystemInfoHelper.GetMyMemorySize;
            loginPack.StartRunTime      = AppConfiguartion.RunTime;
            loginPack.ServiceVison      = AppConfiguartion.Version;
            loginPack.UserName          = Environment.UserName.ToString();
            loginPack.OSVersion         = SystemInfoHelper.GetOSFullName;
            loginPack.GroupName         = groupName;
            loginPack.OpenScreenWall    = openScreenWall;
            loginPack.ExistCameraDevice = SystemInfoHelper.ExistCameraDevice();
            loginPack.ExitsRecordDevice = SystemInfoHelper.ExistRecordDevice();
            loginPack.ExitsPlayerDevice = SystemInfoHelper.ExistPlayDevice();
            loginPack.IdentifyId        = AppConfiguartion.IdentifyId;
            loginPack.OpenScreenRecord  = openScreenRecord;
            loginPack.RecordHeight      = _screen_record_height;
            loginPack.RecordWidth       = _screen_record_width;
            loginPack.RecordSpanTime    = _screen_record_spantime;
            loginPack.HasLoadServiceCOM = true;//已加载

            SendTo(session, MessageHead.C_MAIN_LOGIN, loginPack);
        }
        internal AgentComponents(
            IApmLogger logger,
            IConfigurationReader configurationReader,
            IPayloadSender payloadSender,
            IMetricsCollector metricsCollector,
            ICurrentExecutionSegmentsContainer currentExecutionSegmentsContainer
            )
        {
            var tempLogger = logger ?? ConsoleLogger.LoggerOrDefault(configurationReader?.LogLevel);

            ConfigurationReader = configurationReader ?? new EnvironmentConfigurationReader(tempLogger);
            Logger  = logger ?? ConsoleLogger.LoggerOrDefault(ConfigurationReader.LogLevel);
            Service = Service.GetDefaultService(ConfigurationReader, Logger);

            var systemInfoHelper = new SystemInfoHelper(Logger);
            var system           = systemInfoHelper.ReadContainerId(Logger);

            PayloadSender = payloadSender ?? new PayloadSenderV2(Logger, ConfigurationReader, Service, system);

            MetricsCollector = metricsCollector ?? new MetricsCollector(Logger, PayloadSender, ConfigurationReader);
            MetricsCollector.StartCollecting();

            TracerInternal = new Tracer(Logger, Service, PayloadSender, ConfigurationReader,
                                        currentExecutionSegmentsContainer ?? new CurrentExecutionSegmentsContainer(Logger));
        }
Ejemplo n.º 9
0
 public QueryValidator(
     IValidateGetCountTextForPaySumArgument validateGetCountTextForPaySum,
     SystemInfoHelper systemInfoHelper)
 {
     _systemInfoHelper = systemInfoHelper;
     _validateGetCountTextForPaySum = validateGetCountTextForPaySum;
 }
Ejemplo n.º 10
0
 public UpdateInfo()
 {
     InitializeComponent();
     RequestedTheme = Settings.Current.Theme;
     Title          = string.Format(Consts.UpdateNoteTitle, SystemInfoHelper.GetPackageVer().ToVersionString());
     Note.Text      = string.IsNullOrEmpty(Consts.UpdateNote) ? "We are continuously providing new features and bug fixes for Aurora Music" : Consts.UpdateNote;
 }
Ejemplo n.º 11
0
 public QueryValidator(
     IValidateCheckPatentStatementArgument checkPatentStatement,
     SystemInfoHelper systemInfoHelper)
 {
     _validateCheckPatent = checkPatentStatement;
     _systemInfoHelper    = systemInfoHelper;
 }
Ejemplo n.º 12
0
        private static void SetStatusBar()
        {
            /* mobile 设置状态栏 */
            if (SystemInfoHelper.GetDeviceFormFactorType() == DeviceFormFactorType.Phone)
            {
                StatusBar statusBar = StatusBar.GetForCurrentView();
                statusBar.BackgroundOpacity = 0;
                statusBar.ForegroundColor   = Colors.White;
                ApplicationView.GetForCurrentView()
                .SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
            }
            /* 桌面设置 */
            var view = ApplicationView.GetForCurrentView();

            view.TitleBar.ButtonInactiveBackgroundColor = Colors.Transparent;
            view.TitleBar.InactiveBackgroundColor       = Colors.Transparent;
            view.TitleBar.BackgroundColor = Colors.Transparent;
            // button
            view.TitleBar.ButtonInactiveForegroundColor = Colors.Gray;
            view.TitleBar.ButtonForegroundColor         = Colors.White;
            //view.TitleBar.ButtonHoverForegroundColor = Colors.Black;
            //view.TitleBar.ButtonPressedForegroundColor = Colors.Black;
            view.TitleBar.ButtonBackgroundColor = Colors.Transparent;
            CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
        }
Ejemplo n.º 13
0
 public AboutPage()
 {
     BuildText = SystemInfoHelper.GetPackageVer();
     this.InitializeComponent();
     MainPageViewModel.Current.Title         = Consts.Localizer.GetString("AboutText");
     MainPageViewModel.Current.NeedShowTitle = true;
     MainPageViewModel.Current.LeftTopColor  = Resources["SystemControlForegroundBaseHighBrush"] as SolidColorBrush;
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Try to authenticate to the current cloud storage provider
        /// </summary>
        /// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
        internal async Task TryAuthenticateAsync()
        {
            var isConnectedToInternet = SystemInfoHelper.CheckForInternetConnection();

            if (isConnectedToInternet && CurrentCloudStorageProvider != null)
            {
                await CurrentCloudStorageProvider.TryAuthenticateAsync();
            }
        }
Ejemplo n.º 15
0
        private static bool GetBestIfShouldMultiThreadRequests()
        {
            if (_systemInfo == null)
            {
                _systemInfo = SystemInfoHelper.GetSystemInfo();
            }

            return(_systemInfo.CpuCores >= 2);
        }
Ejemplo n.º 16
0
        private void Version_Loaded(object sender, RoutedEventArgs e)
        {
            (sender as TextBlock).Text = SystemInfoHelper.GetPackageVer();
#if BETA
            UpdateLog.Text          = "You are in BETA version NOW, all the features are unlocked and you should be clear what you are doing. You can contact with developers to quit BETA version. This BETA version is unstable and you MUST be aware of all the consequence that may arise.";
            UpdateLog.FontSize      = 18;
            UpdateLogButton.Content = "BETA Version Note";
#endif
        }
Ejemplo n.º 17
0
        private void SynchronizeTimer_Tick(object sender, EventArgs e)
        {
            if (_settingProvider.GetSetting <bool>("AvoidMeteredConnection") && SystemInfoHelper.IsMeteredConnection())
            {
                return;
            }

            SynchronizeAsync();
        }
Ejemplo n.º 18
0
        private static int GetBestMaxDegreesOfParallelism()
        {
            if (_systemInfo == null)
            {
                _systemInfo = SystemInfoHelper.GetSystemInfo();
            }

            if (_systemInfo.CpuCores == 1)
            {
                return(1);
            }
            else if (_systemInfo.CpuCores == 2)
            {
                return(2);
            }
            else if (_systemInfo.CpuCores < 5)
            {
                return(3);
            }
            else if (_systemInfo.CpuCores < 7)
            {
                return(4);
            }
            else if (_systemInfo.CpuCores < 9)
            {
                return(5);
            }
            else if (_systemInfo.CpuCores < 13)
            {
                return(6);
            }
            else if (_systemInfo.CpuCores < 17)
            {
                return(7);
            }
            else if (_systemInfo.CpuCores < 21)
            {
                return(8);
            }
            else if (_systemInfo.CpuCores < 25)
            {
                return(9);
            }
            else if (_systemInfo.CpuCores < 33)
            {
                return(10);
            }
            else if (_systemInfo.CpuCores < 65)
            {
                return(11);
            }
            else
            {
                return(12);
            }
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 获取服务器信息
        /// </summary>
        /// <returns></returns>
        public static SysInfo GetCurrentSystemInfo()
        {
            var sys   = new SystemInfoHelper();
            var model = new SysInfo();

            model.CpuCount        = sys.ProcessorCount;
            model.CpuLoad         = Math.Round((double)sys.CpuLoad, 2);
            model.MemoryAvailable = sys.MemoryAvailable;
            model.PhysicalMemory  = sys.PhysicalMemory;
            return(model);
        }
Ejemplo n.º 20
0
        private void MouseAndKeyboardHookService_MouseAction(object sender, MouseHookEventArgs e)
        {
            var mustClose    = false;
            var activeScreen = Screen.FromPoint(new System.Drawing.Point(Cursor.Position.X, Cursor.Position.Y));
            var screen       = SystemInfoHelper.GetAllScreenInfos().Single(s => s.DeviceName == activeScreen.DeviceName);

            switch (Settings.Default.PasteBarPosition)
            {
            case PasteBarPosition.Top:
                if (e.Coords.Y - screen.Bounds.Top >= screen.Bounds.Bottom / 2)
                {
                    if (_canCloseIfMouseMovesAway)
                    {
                        mustClose = true;
                    }
                }
                else
                {
                    _canCloseIfMouseMovesAway = true;
                }
                break;

            case PasteBarPosition.Bottom:
                if (e.Coords.Y - screen.Bounds.Top <= screen.Bounds.Bottom / 2)
                {
                    if (_canCloseIfMouseMovesAway)
                    {
                        mustClose = true;
                    }
                }
                else
                {
                    _canCloseIfMouseMovesAway = true;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            if (mustClose)
            {
                if (_mouseAndKeyboardHookService != null)
                {
                    _mouseAndKeyboardHookService.MouseAction -= MouseAndKeyboardHookService_MouseAction;
                }
                Logger.Instance.Information($"Mouse moves away from the paste bar.");

                var delayer = new Delayer <object>(TimeSpan.FromMilliseconds(10));
                delayer.Action += (o, args) => HideBarButtonCommand?.Execute(null);
                delayer.ResetAndTick();
            }
        }
Ejemplo n.º 21
0
        internal AgentComponents(
            IApmLogger logger,
            IConfigurationReader configurationReader,
            IPayloadSender payloadSender,
            IMetricsCollector metricsCollector,
            ICurrentExecutionSegmentsContainer currentExecutionSegmentsContainer,
            ICentralConfigFetcher centralConfigFetcher,
            IApmServerInfo apmServerInfo,
            BreakdownMetricsProvider breakdownMetricsProvider = null
            )
        {
            try
            {
                var tempLogger = logger ?? ConsoleLogger.LoggerOrDefault(configurationReader?.LogLevel);
                ConfigurationReader = configurationReader ?? new EnvironmentConfigurationReader(tempLogger);
                Logger  = logger ?? ConsoleLogger.LoggerOrDefault(ConfigurationReader.LogLevel);
                Service = Service.GetDefaultService(ConfigurationReader, Logger);

                var systemInfoHelper = new SystemInfoHelper(Logger);
                var system           = systemInfoHelper.ParseSystemInfo(ConfigurationReader.HostName);

                ConfigStore = new ConfigStore(new ConfigSnapshotFromReader(ConfigurationReader, "local"), Logger);

                ApmServerInfo = apmServerInfo ?? new ApmServerInfo();

                PayloadSender = payloadSender
                                ?? new PayloadSenderV2(Logger, ConfigStore.CurrentSnapshot, Service, system, ApmServerInfo,
                                                       isEnabled: ConfigurationReader.Enabled);

                HttpTraceConfiguration = new HttpTraceConfiguration();

                if (ConfigurationReader.Enabled)
                {
                    breakdownMetricsProvider ??= new BreakdownMetricsProvider(Logger);

                    CentralConfigFetcher = centralConfigFetcher ?? new CentralConfigFetcher(Logger, ConfigStore, Service);
                    MetricsCollector     = metricsCollector ?? new MetricsCollector(Logger, PayloadSender, ConfigStore, breakdownMetricsProvider);
                    MetricsCollector.StartCollecting();
                }
                else
                {
                    Logger.Info()?.Log("The Elastic APM .NET Agent is disabled - the agent won't capture traces and metrics.");
                }

                TracerInternal = new Tracer(Logger, Service, PayloadSender, ConfigStore,
                                            currentExecutionSegmentsContainer ?? new CurrentExecutionSegmentsContainer(), ApmServerInfo, breakdownMetricsProvider);
            }
            catch (Exception e)
            {
                Logger.Error()?.LogException(e, "Failed initializing agent.");
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Initialize a new instance of the <see cref="PasteBarWindow"/> class.
        /// </summary>
        public PasteBarWindow()
        {
            InitializeComponent();

            var activeScreen = Screen.FromPoint(new System.Drawing.Point(System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y));
            var screen       = SystemInfoHelper.GetAllScreenInfos().Single(s => s.DeviceName == activeScreen.DeviceName);

            InitializePosition(screen);

            if (Debugger.IsAttached)
            {
                Topmost = false;
            }
        }
Ejemplo n.º 23
0
        public MainPage()
        {
            InitializeComponent();
            if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
            {
                TitleBlock.Visibility = Visibility.Collapsed;
            }
            Current = this;
            Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += MainPage_BackRequested;
            MainFrame.Navigate(typeof(NowWeatherPage), this);
            license = new License.License();
            var t = ThreadPool.RunAsync(async(w) =>
            {
                var c = Convert.ToUInt64(RoamingSettingsHelper.ReadSettingsValue("MeetDataSourceOnce"));
#if BETA
                if (true)
                {
                    RoamingSettingsHelper.WriteSettingsValue("MeetDataSourceOnce", SystemInfoHelper.GetPackageVersionNum());
                    await Task.Delay(1000);
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, new Windows.UI.Core.DispatchedHandler(() =>
                    {
                        VersionText.Text           = SystemInfoHelper.GetPackageVer();
                        UpdateTitle.Text           = "BETA Version Note";
                        UpdateDetailText.Text      = "You are in BETA version NOW, all the features are unlocked and you should be clear what you are doing. You can contact with developers to quit BETA version. This BETA version is unstable and you MUST be aware of all the consequence that may arise.";
                        UpdateDetailText.FontSize  = 18;
                        UpdateLogButton.Visibility = Visibility.Collapsed;
                        ShowUpdateDetail();
                    }));
                }
#else
                if (c < SystemInfoHelper.GetPackageVersionNum())

                //if (true)
                {
                    RoamingSettingsHelper.WriteSettingsValue("MeetDataSourceOnce", SystemInfoHelper.GetPackageVersionNum());
                    await Task.Delay(1000);
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, new Windows.UI.Core.DispatchedHandler(() =>
                    {
                        VersionText.Text = SystemInfoHelper.GetPackageVer();
                        ShowUpdateDetail();
                    }));
                }
#endif
                else
                {
                    HideUpdateButton_Click(null, null);
                }
            });
        }
Ejemplo n.º 24
0
        private void imageTextButtonSendErrorInfo_Click(object sender, EventArgs e)
        {
            var helpdeskMail = AdditionalInfo.SplitByTwoDifferentStrings("HelpdeskEmail:", ";", true)[0];
            var userCode     = AdditionalInfo.SplitByTwoDifferentStrings("UserCode:", ";", true)[0];
            var appVersion   = AdditionalInfo.SplitByTwoDifferentStrings("ApplicationVersion:", ";", true)[0];
            var valueText    = new ValueText {
                Value = ".NET Framework", Text = ""
            };
            var listValueText = new List <ValueText>();

            listValueText.Add(valueText);
            var installedNetFxes    = SystemInfoHelper.GetInstalledSoftwareList(listValueText);
            var installedNetFxesStr = "";

            for (int index = 0; index < installedNetFxes.Count; index++)
            {
                var installedSoftware = installedNetFxes[index];
                if (index == 0)
                {
                    installedNetFxesStr = installedSoftware.ProductName + " " +
                                          installedSoftware.VersionString;
                }
                else
                {
                    installedNetFxesStr = installedNetFxesStr + "; " + installedSoftware.ProductName + " " +
                                          installedSoftware.VersionString;
                }
            }
            var body = "Dear Developer%0D%0A"
                       + "%0D%0A"
                       + "Following is system running error infomation for you:"
                       + (userCode.IsNullOrEmpty() ? "" : " (send by " + userCode + ")") + "%0D%0A"
                       + "Application Version : " + appVersion + "%0D%0A"
                       + "Assembly Bits : " + IntPtr.Size * 8 + "%0D%0A"
                       + "OS : " + SystemInfoHelper.GetSystemInfo("osinfo") + " " + SystemInfoHelper.GetSystemInfo("osbit") + " bits" + "%0D%0A"
                       + "Machine Name: " + SystemInfoHelper.GetSystemInfo("machinename") + "%0D%0A"
                       + "IP: " + SystemInfoHelper.GetSystemInfo("Ips") + "%0D%0A"
                       + "Windows Account: " + SystemInfoHelper.GetSystemInfo("currentuser") + "%0D%0A"
                       + "Occurring Time: " + OccurringTime + "%0D%0A"
                       + "Installed dotNetFx: " + installedNetFxesStr + "%0D%0A"
                       + "Exception Message: " + ExceptionMsg;

            body = body.Replace("\n", "%0D%0A");
            var subject = ErrorText + " occured at " + OccurringTime;

            LocalEmailHelper.Send(helpdeskMail, subject, body);
        }
        public async Task Initialize()
        {
            PlatformName = await SystemInfoHelper.GetWindowsVersionAsync();

            PlatformVersion = await SystemInfoHelper.GetWindowsVersionAsync();


            var deviceModel = await SystemInfoHelper.GetDeviceModelAsync();

            var deviceManufacturer = await SystemInfoHelper.GetDeviceManufacturerAsync();

            var deviceCategory = await SystemInfoHelper.GetDeviceCategoryAsync();

            var processorArchitecture = await SystemInfoHelper.GetProcessorArchitectureAsync();

            DeviceName = deviceManufacturer + " " + deviceModel + " [" +
                         deviceCategory + ", " + processorArchitecture + "]";
        }
        private void DetectPasswordsManager()
        {
            var processes           = Process.GetProcesses();
            var passwordManagerList = new Dictionary <string, string>
            {
                // Process name, Application title in the ignored list
                { "PasswordZanager", "PasswordZanager" },
                { "AgileBits.OnePassword.Desktop", "1Password" },
                { "Dashlane", "Dashlane" },
                { "KeePass", "KeePass Password Safe" }
            };

            foreach (var process in processes)
            {
                var passwordManagerDetected = passwordManagerList.FirstOrDefault(item => string.Equals(item.Key, process.ProcessName, StringComparison.OrdinalIgnoreCase));
                if (!passwordManagerDetected.Equals(default(KeyValuePair <string, string>)))
                {
                    var ignoredApp            = new IgnoredApplication();
                    var applicationIdentifier = SystemInfoHelper.GetExecutablePath(process.Id);

                    ignoredApp.DisplayName           = passwordManagerDetected.Value;
                    ignoredApp.ApplicationIdentifier = applicationIdentifier;

                    if (File.Exists(applicationIdentifier))
                    {
                        var tempIcon = Icon.ExtractAssociatedIcon(applicationIdentifier)?.ToBitmap();
                        if (tempIcon != null)
                        {
                            ignoredApp.Icon = DataHelper.BitmapToBitmapImage(new Bitmap(tempIcon, Consts.WindowsIconsSize, Consts.WindowsIconsSize), Consts.WindowsIconsSize);
                        }
                    }

                    var collection = IgnoredApplications;
                    if (collection.Any(app => app.DisplayName == ignoredApp.DisplayName))
                    {
                        continue;
                    }

                    collection.Add(ignoredApp);
                    IgnoredApplications = collection;
                    Logger.Instance.Information($"The application '{ignoredApp.ApplicationIdentifier}' has been added to the ignored app list.");
                }
            }
        }
Ejemplo n.º 27
0
        public void System_Should_Serialize_ConfiguredHostName_And_DetectedHostName()
        {
            var systemHelper = new SystemInfoHelper(new NoopLogger());

            var hostName = "this_is_my_hostname";
            var system   = systemHelper.ParseSystemInfo(hostName);

            var json    = _payloadItemSerializer.Serialize(system);
            var jObject = JObject.Parse(json);

            var configuredHostName = jObject.Property("configured_hostname");

            configuredHostName.Should().NotBeNull();
            configuredHostName.Value.Value <string>().Should().Be(hostName);

            var detectedHostName = jObject.Property("detected_hostname");

            detectedHostName.Should().NotBeNull();
        }
Ejemplo n.º 28
0
        /// <inheritdoc/>
        public async void Initialize(IServiceSettingProvider settingProvider)
        {
            _settingProvider = settingProvider;

            var synchronizeInterval   = _settingProvider.GetSetting <int>("SynchronizationInterval");
            var providers             = _settingProvider.GetSetting <List <ICloudStorageProvider> >("CloudStorageProviders");
            var isConnectedToInternet = SystemInfoHelper.CheckForInternetConnection();
            var cloudStorageProviders = new List <CloudStorageProvider>();

            _synchronizeTimer          = new DispatcherTimer();
            _synchronizeTimer.Interval = TimeSpan.FromMinutes(synchronizeInterval);
            _synchronizeTimer.Tick    += SynchronizeTimer_Tick;

            _cloudStorageProviders = new List <ICloudStorageProvider>();

            foreach (var provider in providers)
            {
                if (_cloudStorageProviders.Any(p => string.Compare(p.CloudServiceName, provider.CloudServiceName, StringComparison.OrdinalIgnoreCase) == 0))
                {
                    Logger.Instance.Fatal(new Exception($"The cloud storage provider '{provider.CloudServiceName}' already exists."));
                }

                if (isConnectedToInternet)
                {
                    await provider.TryAuthenticateAsync();
                }

                _cloudStorageProviders.Add(provider);
                cloudStorageProviders.Add(new CloudStorageProvider(provider.CloudServiceName, provider.CloudServiceIcon));
            }

            CloudStorageProviders = cloudStorageProviders.OrderBy(s => s.Name).ToList();

            if (isConnectedToInternet && CurrentCloudStorageProvider != null)
            {
                await CurrentCloudStorageProvider.TryAuthenticateAsync();
            }

            _synchronizeTimer.Start();
            Logger.Instance.Information($"{GetType().Name} initialized.");
        }
        public AgentComponents(
            IApmLogger logger = null,
            IConfigurationReader configurationReader = null,
            IPayloadSender payloadSender             = null
            )
        {
            Logger = logger ?? ConsoleLogger.LoggerOrDefault(configurationReader?.LogLevel);
            ConfigurationReader = configurationReader ?? new EnvironmentConfigurationReader(Logger);
            Service             = Service.GetDefaultService(ConfigurationReader, Logger);

            var systemInfoHelper = new SystemInfoHelper(Logger);
            var system           = systemInfoHelper.ReadContainerId(Logger);

            PayloadSender = payloadSender ?? new PayloadSenderV2(Logger, ConfigurationReader, Service, system);

            MetricsCollector = new MetricsCollector(Logger, PayloadSender, ConfigurationReader);
            MetricsCollector.StartCollecting();

            TracerInternal       = new Tracer(Logger, Service, PayloadSender, ConfigurationReader);
            TransactionContainer = new TransactionContainer();
        }
Ejemplo n.º 30
0
        void PositionImage()
        {
            var deviceType = SystemInfoHelper.GetDeviceFormFactorType();

            // desktop
            if (deviceType == DeviceFormFactorType.Desktop)
            {
                extendedSplashImage.SetValue(Canvas.LeftProperty, splashImageRect.X);
                extendedSplashImage.SetValue(Canvas.TopProperty, splashImageRect.Y);
                extendedSplashImage.Height = splashImageRect.Height;
                extendedSplashImage.Width  = splashImageRect.Width;
            }
            else if (deviceType == DeviceFormFactorType.Tablet)
            {
                extendedSplashImage.SetValue(Canvas.LeftProperty, splashImageRect.X);
                extendedSplashImage.SetValue(Canvas.TopProperty, splashImageRect.Y);
                extendedSplashImage.Height = splashImageRect.Height;
                extendedSplashImage.Width  = splashImageRect.Width;
            }
            // mobile
            else if (deviceType == DeviceFormFactorType.Phone)
            {
                // 获取一个值,该值表示每个视图(布局)像素的原始(物理)像素数。
                double density = Windows.Graphics.Display.DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;

                extendedSplashImage.SetValue(Canvas.LeftProperty, splashImageRect.X / density);
                extendedSplashImage.SetValue(Canvas.TopProperty, splashImageRect.Y / density);
                extendedSplashImage.Height = splashImageRect.Height / density;
                extendedSplashImage.Width  = splashImageRect.Width / density;
            }
            // xbox等没试过,编不出来
            else
            {
                extendedSplashImage.SetValue(Canvas.LeftProperty, splashImageRect.X);
                extendedSplashImage.SetValue(Canvas.TopProperty, splashImageRect.Y);
                extendedSplashImage.Height = splashImageRect.Height;
                extendedSplashImage.Width  = splashImageRect.Width;
            }
        }