Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » C# switch monitor

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, дома живут родители которые не очень хотят вникать в компьютерные технологии, но которые очень любят их использовать. Пришлось немного изучить программирование и использовать его для того что бы можно было из 1 окна (Скрин прилагаю) выполнять весь необходимый родителям функционал.  
 
Им очень сложно объяснить как переключить изображение с монитора на телевизор и наоборот. Поэтому в программе за "Понятными" картинками я выставлял команды для переключения мониторов.
 

private void pictureBox3_Click(object sender, EventArgs e) //расширить
        {
            string command = "displayswitch /extend";
            System.Diagnostics.Process.Start("Cmd.exe", "/c" + command);
        }

 
Теперь после обновления windows 10, эти команды больше не работают.  
Можно ли в С# как то аналогично переключать мониторы?
 
   

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 11:08 06-08-2017
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  • https://stackoverflow.com/questions/16790287/programmatically-changing-the-presentation-display-mode
  • https://stackoverflow.com/questions/233411/how-do-i-enable-a-second-monitor-in-c?noredirect=1&lq=1
     
    берём код из первой ссылки и...

  • Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 22:14 06-08-2017
    Ghosting4469



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21
    Спасибо вам, сегодня попробую.
     
    Добавлено:
    К сожалению что то пошло не так. Поискал в интернете ничего годного не нашел.
     
    Гуглил по запросу:
    необработанное исключение типа system.componentModel.win32exception в system.dll
     
    [img] [/img]

    Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 06:44 07-08-2017
    NeoAnomaly

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ghosting4469, а чем код, который на скриншоте отличается от вашего изначального? Так же вызывается displayswitch с аргументом.
     

    Цитата:
    Гуглил по запросу:  
    необработанное исключение типа system.componentModel.win32exception в system.dll  

    Тут и гугла не надо, в дополнительных сведениях чётко написана причина: "Не удаётся найти указанный файл". Свинью скорее всего FS перенаправление wow64 подложило.
     

    Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 10:06 07-08-2017
    iNNOKENTIY21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NeoAnomaly

    Цитата:
    Свинью скорее всего FS перенаправление wow64 подложило

    ага оно
     

    Код:
    proc.StartInfo.FileName = Environment.Is64BitOperatingSystem && !Environment.Is64BitProcess ? Environment.ExpandEnvironmentVariables(@"%windir%\sysnative\DisplaySwitch.exe") : "DisplaySwitch.exe";


    Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 10:17 07-08-2017
    Ghosting4469



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NeoAnomaly
    iNNOKENTIY21
    Спасибо за помощь, код подсунул в программу, ошибок не стало. Пришлось только путь изменить на
     
    proc.StartInfo.FileName = Environment.Is64BitOperatingSystem && !Environment.Is64BitProcess ? Environment.ExpandEnvironmentVariables(@"%windir%\system32\DisplaySwitch.exe") : "DisplaySwitch.exe";
     
    Пробовал выполнить "%windir%\system32\DisplaySwitch.exe" из win+R прекрасно отработал, но из программы так и не вылилось. При нажатии теперь просто ничего не происходит.  
     
    [img] [/img]

    Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 10:51 07-08-2017
    NeoAnomaly

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ghosting4469, а куда потерялся proc.Start()?
     
    И sysnative лучше всётаки оставить.
     

    Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 11:22 07-08-2017 | Исправлено: NeoAnomaly, 11:24 07-08-2017
    Ghosting4469



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NeoAnomaly
    iNNOKENTIY21
     
     
    Я вам чрезмерно благодарен за вашу помощь. Спасибо большое.
     
    Пока тема актуальна, я осмелюсь попутно задать еще 1 небольшой вопрос. При закрытии программы у меня висит процесс этой программы. Такое как то лечится?  
     
    Заранее вам благодарен. За displayswitch особенно!

    Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 11:43 07-08-2017
    iNNOKENTIY21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ghosting4469
    Не хорошо так спрашивать в теме по одному вопросу, другой вопрос. даже если это тобой созданная тема
    Да и тема по C# есть: http://forum.ru-board.com/topic.cgi?forum=33&topic=3706#1
     

    Цитата:
    При закрытии программы у меня висит процесс этой программы

    мне не понятен вопрос. какой программы, какой процесс, закрываешь программно или как ... в общем конкретику надо. тогда может кто и ответит

    Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 19:25 07-08-2017
    Ghosting4469



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iNNOKENTIY21
     
    Понял вас, учту. Спасибо

    Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 05:55 08-08-2017
    Открыть новую тему     Написать ответ в эту тему

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » C# switch monitor


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru