Пример #1
0
        public static async Task CheckSensor()
        {
            Ex.Log("SystemManager.CheckSensor()");
            Task checking = Task.CompletedTask;
            CancellationTokenSource cancelTokenSource = null;
            short count = 0;

            while (true)
            {
                await Task.Delay(2000);

                Ex.TryLog("Попытка скрыть панель задач", () =>
                {
#pragma warning disable CS0162 // Unreachable code detected
                    if (false)
                    {
                        Taskbar.Hide();
                    }
#pragma warning restore CS0162 // Unreachable code detected
#if DEBUG
#else
                    Taskbar.Hide();
#endif
                });
                cancelTokenSource = cancelTokenSource ?? new CancellationTokenSource();
                bool isTaskComplete = checking.IsCompleted;
                //Ex.Log($"isTaskComplete={checking.Status}({checking.IsCompleted})");
                bool isFound = await DeviceManagerApi.IsSensorExistAsync();

                //bool isFound = boolTest; //TEST
                if (isFound)
                {
                    if (count < 3)
                    {
                        Ex.Log("Task CheckSensor(): Sensor Found");
                    }
                    if (count < 5)
                    {
                        count++;
                    }
                    if (isTaskComplete)
                    {
                        Ex.Log("Task CheckSensor(): Sensor Connected");
                        OnSensorFound();
                        CancellationToken token = cancelTokenSource.Token;
                        checking = CheckBrowser(token);
                        checking.Start();
                        Ex.Log($"Task CheckSensor(): Task CheckBrowser IsCompleted={checking.IsCompleted}; Status={checking.Status}");
                    }
                }
                else
                {
                    //Ex.Log("не найден сенсор. посылаем токен отмены");
                    cancelTokenSource.Cancel();
                    cancelTokenSource = null;
                }
            }
            Ex.Log("Task CheckSensor(): while(true) finished");
        }
Пример #2
0
 public static void OnWindowClosed()
 {
     if (isShowTaskbarOnExit)
     {
         Ex.Catch("Попытка вернуть видимость панели задач", () =>
         {
             Taskbar.Show();
         });
     }
     //mh?.UnHook();
     try
     {
         ComPort.port.Close();
     }
     catch { }
     Environment.Exit(0);
 }
Пример #3
0
        public static async Task OnWindowLoadedAsync()
        {
            Ex.Log("SystemManager.OnWindowLoadedAsync()");
            Ex.Catch("SystemManager: Попытка скрыть панель задач", () =>
            {
#pragma warning disable CS0162 // Unreachable code detected
                if (false)
                {
                    Taskbar.Hide();
                }
#pragma warning restore CS0162 // Unreachable code detected
#if DEBUG
#else
                Taskbar.Hide();
#endif
            });

            Ex.Log("SystemManager.Taskbar.Hide() passed.");

            if (!isRe1ParamExist)
            {
                isSensorWasActiveOnLaunch = await DeviceManagerApi.IsSensorExistAsync();
            }
            else
            {
                isSensorWasActiveOnLaunch = true;
            }

            Ex.Log($"SystemManager.isSensorWasActiveOnLaunch={isSensorWasActiveOnLaunch}");
            GameManager.KillAllGames().RunParallel();
            CheckSensor().RunParallel();
            //mh = new MouseHookAdapter();
            if (isSensorWasActiveOnLaunch == false)
            {
                OnSensorFound += RelaunchApp;
            }
            ComPort.PortReader().RunParallel();
            Ex.Log($"SystemManager.isRelaunched={isRe1ParamExist}");
            Ex.Log($"SystemManager.isShowTaskbarOnExit={isShowTaskbarOnExit}");
            SetRegDisableSwipeEdgeMachine();
            OnScreenSaverDetected += async() => await GameManager.KillAllGames();

            CheckScreenSaver().RunParallel();
            WarningSwipe();
        }