Координаты окна запускаемого приложения!

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
2982

День добрый,

Возможно данный раздел не очень хорошо подходит к моему вопросу, но в данном разделе собрана масса администраторов, которые если не натолкнут на правильное решение , так возможно подскажут в каком направлении нужно копать.

Если коротко то: нужно приложение или любой адекватный механизм который позволит запустить X окон разместив их по заданным координатам на экране.

Если не очень коротко то: Я полагаю, что для многих уже не секрет, что к одному ПК можно подключить > 1 монитора, я работаю за мульти-мониторными станциями уже много лет и испытываю от этого только удовольствие, сейчас я произвел предварительное расширение и в очень скором будущем буду обладать станцией с 8 мониторами + 2мя возможными в запасе. Работая системным администратором довольно часто приходится открывать десятки ssh соединений в разных направлениях, проверять доступность тех или иных хостов путем того же ping, да и в целом может быть множество разного ПО которое при столь не мелком рабочем разрешении надо красиво располагать у себя на экране.... В целом проблемы нет, стоит бесперебойник, свет как бы падает не часто, по этому однажды расположив окна как надо, можно на какое-то время не считать данную проблему проблемой.... но стоит сделать Reboot станции, как начинается..... надо вспомнить что и где было запущено, перезапустить все, уходит достаточно не мало времени скажу я вам честно ..... в связи с этим и появилось у меня желание сделать некий "стартовый сценарий" который например запустит мне 10 окошек putty в нужном направлении, а так же 10 команд ping в нужном направлении.... создавая обычный .BAT файлик все получается, за исключением того, что все запущенные putty накладываются друг на друга и их приходится разносить по всем мониторам как этого полагает работа....

Что бы никто не подумал, что я просто пришел за решением, я нашел несколько вариантов которые частично работают:

1) Создание VBS сценария на основе "objSWbemObjectEx_Win32_Process" & "objSWbemObjectEx_Win32_ProcessStartup", данное решение отлично подходит для запуска ping, даже цвет окошку можно передать, размер, координаты, в общем ляпота.... Однако подобное решение никак не дает мне возможность запусть putty или любое другое ПО отличное от "CMD подобного" виндового... "WshShell" дает же запускать putty как надо, однако ему невозможно передать координаты и размеры стартовых окон.

2) Я пробовал сделать 5 .BAT файликов, на каждый создать ярлык, и в свойствах ярлыка указать позицию запуска. Однако эта комбинация так же не дает нужного результата, исполнение самого .bat файла происходит по координатам указанным в настройках ярлыка, однако запущенный оттуда putty уже запускается в неком "стандартном месте".

В общем прошу аудиенции, возможно есть какое-то ПО уже готовое которое решит мои задачи, возможно вы знаете методы как это решить на VBS, или на других языках программирования...

С Уважением,

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
J
На сайте с 20.02.2014
Offline
120
jkm
#1

Насколько помню в WinAPI для перемещения окон есть MoveWindow.

Для её использования нужно знать дескриптор окна.

Если не знаешь класс окна и заголовок окна меняется, то FindWindow не подойдёт.

Можно пройтись по всем окнам верхнего уровня с помощью EnumWindows.

Читать заголовки окон с помощью GetWindowText и сравнивать их с шаблоном.

PA
На сайте с 12.02.2016
Offline
24
#2

cmdow.exe пробовали?

. . .
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#3

Нашел решение, софтина "Actual Window Manager" умеет именно то , что мне надо, пришлось немного извратиться при запуске множества однотипных программ, но это делу не мешает ))) необходимый результат достигнут, правда при её использовании как-то FPS падает.. но мне будет достаточно пользоваться ей при старте ОС что бы запустить все, что надо..

Всем спасибо за проявленный интерес к теме.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий