C# AllScreens () дает другой результат в зависимости от типа проекта - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу написать windows сервис для обработки смены обоев, я получил его как консольное приложение, но портирование его на сервис проблематично c. Когда я пытаюсь получить информацию об используемых мониторах, я использую метод Screen.AllScreens, подобный следующему:

 private void GetScreenDimension()
        {
            var screens = Screen.AllScreens;
            rightMonitorX = screens[1].Bounds.Width;
            rightMonitorY = screens[1].Bounds.Y * -1;
            foreach (Screen screen in screens)
            {
                customWidth += screen.Bounds.Width;
                if (customHeigth < screen.Bounds.Height)
                {
                    customHeigth = screen.Bounds.Height;
                }

            }
        }

В консольном приложении он находит мои два монитора и разрешение правильно. Когда я пытаюсь запустить тот же код, что и для службы Windows, он находит только один монитор с неправильным разрешением. Я уже пытался изменить службу для использования моей учетной записи пользователя, но возникает та же проблема. Что может быть источником этих разных результатов?

...