• XSS.stack #1 – первый литературный журнал от юзеров форума

run application on second monitor(hmonitor)

dirwin

floppy-диск
Пользователь
Регистрация
22.07.2023
Сообщения
7
Реакции
0
Добрый день, возник вопрос, у меня есть 2 монитора, а следственно 2 дисплея, а следственно 2 hmonitor ,как я понимаю
Я пробовал ставить второй hmonitor на место первого присваивая ему координаты 0,0
Пробовал запускать createprocess с флагорм 0х400 и ставить ему второй hmonitor для si.hStdOutput
Пробовал запускать createprocess по х у
Пробовал shellexecute
Но никак не могу запуститить например тот же нотпад на втором экране
Вопрос, почему оно не работает?
Почему допустим если возьмем createprocess и поставим флаг запуска на другом desktop то оно сработает, а запуск на втором мониторе нет??
Возможно ли как то присвоить второму монитору статус примари что ли, чтобы теперь все приложения думали что это главный экран , и там запускались
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну ты бы выложил код, который не работает у тебя, было бы понятнее. А так многие вещи из STARTUPINFO носят скорее рекомендательный характер, приложение вполне может там свою позицию окна перенастроить, или проигнорировать SW_HIDE. К тому же надо смотреть, какие координаты у мониторов и скейлинг, может позиция, что ты задаешь, на самом деле не на том мониторе, на каком ты думаешь. Ну или попробуй ShellExecuteEx, там вроде можно было hMonitor указать в структуре (хотя она скорее всего тоже делает это через CreateProcess).
 
Последнее редактирование:
Ну ты бы выложил код, который не работает у тебя, было бы понятнее. А так многие вещи из STARTUPINFO носят скорее рекомендательный характер, приложение вполне может там свою позицию окна перенастроить, или проигнорировать SW_HIDE. К тому же надо смотреть, какие координаты у мониторов и скейлинг, может позиция, что ты задаешь, на самом деле не на том мониторе, на каком ты думаешь. Ну или попробуй ShellExecuteEx, там вроде можно было hMonitor указать в структуре (хотя она скорее всего тоже делает это через CreateProcess).
За все время изучения как по мне это было самое адекватное что я пробовал
еще был вариант createprocess и ставить флаги х у
Дело далеко не в коде, например если запускать процесс нотпада с sw_hide то нотпад запустить скрытыми, чего не сказать о хроме
И тут вопрос как быть?
Почему тогда через desktop все работает, хотя мне это не нужно
Опять же я думаю что можно как то чтото в реестре поменять, или назначить второй моник главным через апи, не то что когда в настройка дисплеев кликаешь на второй и флажочек появляется типа сделать второй моник главным
 
интересно а есть ли возможность создать второй виртуальный монитор?)
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх