кілька моніторів завжди відкривають процес на певному екрані


2

Я знаю, що у Windows 7 є вбудована функціональність, яка керує відкриттям програми на певному моніторі. Це чудово працює, коли працює тільки з двома моніторами. Відкрийте хром на моніторі 1, перетягніть його на монітор 2, закрийте хром, відкрийте хром і відкриється на моніторі 2.

Моя проблема полягає в тому, що у мене є 4 частини програмного забезпечення, що працює на станції монітора з чотирма моніторами.

Чи існує ризик запитати "торговельне" питання, чи існує третя сторона, яка робить кращу роботу на цьому конкретному завданні?

Мені потрібно мати можливість перезавантажити машину і мої 4 програми, щоб завжди запускатися в одному місці без будь-якої взаємодії з користувачем. Зараз моє тестування працює лише приблизно 7/10 разів. Це було б прийнятно, якби це не було для клієнта.

Моя єдина інша опція на даний момент полягає в тому, щоб написати консольну програму для запуску процесів, але я не зовсім впевнений, що він підтримує зміщення координат x / y в перевантаженнях process.start.

Дякуємо за читання.


Ось відповідь на цю проблему на іншому форумі тут: stackoverflow.com/questions/7977322/…
RockenRod

Відповіді:


2

Можливо, це пов'язано з порядком включення пристроїв. Обов'язково ввімкніть всі екрани перед запуском комп'ютера. Якщо деякі екрани ввімкнено після завантаження вікон, вікна можуть скинути розташування за замовчуванням, де кожен додаток повинен почати, щоб переконатися, що він не починається поза межами. Якщо ви хочете бути впевненими, що програми завжди запускаються на правому екрані, найкраще зробити це для запуску, але тоді всі екрани повинні бути включені.


влучне зауваження. Деякі програми, які можуть перемикати той монітор, який він вважав, коли монтори вважали, що вони переміщуються (1-2-3 до 2-3-1). Я мав цю проблему з програмою панелей інструментів, яку я повинен був сказати, щоб він був на 2 (як видно в його налаштуваннях), які поклали його на 1. ніколи не зрозумів, що він думав. Я міг би спробувати розібрати мішки в реєстрі і подивитися, якщо це допомогло, але є багато інших користувачів, які вказують, що win7 буде ігнорувати збережені дані позиції вікна в деяких обставинах (продемонстровано).
Psycogeek

0

Я зробив невеликий копати останню ніч та маю деякий workable код використати для console app

sFileName - ім'я процесу, який схопився з бази даних

властивості me.xcoord і me.ycoord обчислюються на основі запуску процесу sFileName.

 Dim myExe As New Process
 myExe.StartInfo.FileName = String.Format("{0}{1}{2}", My.Settings.programsdirectory, sFileName, My.Settings.buildextension)
 myExe.StartInfo.UseShellExecute = True
 myExe.StartInfo.Arguments = String.Format("{0} {1}", Me.XCOORD, Me.YCOORD)
 Try
     Process.Start(myExe.StartInfo.FileName, myExe.StartInfo.Arguments)
 Catch ex As Exception
     ApplicationInfo.ExceptionHandler(ex)
 End Try
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.