pakt
11:24 21-06-2023
Описываю проблему. Есть программа (скриншот прилагаю). И у этой программы нихрена не меняется размер окна.

В заголовке окна программы опции настроек нет. Пробовал менять свойства ярлыка, скачивал всякие sizer'ы и fullscreenizer'ы, пробовал запускать через dosbox и sandboxie — нихера не помогает. Окно либо не реагирует вовсе, либо разворачивается на весь экран без масштабирования интерфейса.

Экзешник напрямую не запускается. Есть куча пользовательских профилей, из них пользователи стартуют программу через ярлыки, которые ведут на батники, которые и запускают программу.

Сейчас пользователи понижают экранное разрешение на своих 24'' мониторах до 800х600. Но это ж хуйня какая–то нездоровая.
Ичёделать?

Вот уж не ожидал, что вроде бы такая простецкая задача - и вгонит в ступор.

Скриншот:
показать
Комментарии:
DeadMorozz
11:37 21-06-2023
Ой, прям ностальгия. Как будто старый добрый FoxPro из-за угла выглянул :)
pakt
11:42 21-06-2023
DeadMorozz подозреваю, что это он и есть.
Super Bubba
11:55 21-06-2023
А в чем проблема в окне это делать? Мелкое что ли? Тогда увеличить шрифт в ярлыке и окно увеличится.
pakt
12:41 21-06-2023
Super Bubba не увеличивается шрифт через ярлык, говорю же. Ни размеры, ни шрифты не действуют, потому что ярлык ведет на батник, а не на программу.
Super Bubba
12:44 21-06-2023
pakt - сделай ярлык на программу, в батнике пропиши ярлык вместо программы. Мало данных просто, в батнике дополнительная логика какая-то или ключи запуска какие-то?
MMM
12:48 21-06-2023
Я, конечно, тот ещё юзер, но навскидку идеи такие - если в батнике запуск идёт через cmd, дописать размер шрифта в туда, если в батнике запуск напрямую через ехе-шник, то только его декомпилировать, а это уже высший пилотаж (для меня), лет 20 этим не занимался.
Ну, а workaround - гуглить однотипные проблемы и их успешные решения, наверняка есть
pakt
13:04 21-06-2023
MMM гуглить однотипные проблемы

А ты попробуй сформировать запрос ))

"Не изменяется размер окна" или "шрифта"?
Получишь миллиард тупых советов, хоть на каком языке пиши.

Если б я понимал, как правильно спросить у гугла, я б не писал в бложек.

если в батнике запуск напрямую через ехе-шник, то только его декомпилировать

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

В том и прикол, чтобы увеличить размеры этого окна, не трогая код самой программы.
И желательно не понижая экранного разрешения.
MMM
13:41 21-06-2023
pakt, ну, тогда да - только учиться/тренироваться на самую востребованную в ближайшем будущем специализацию - постановщика реквестов для ChatGPT
:kz:
Я попробовал, конечно, сформировать пару поисковых запросов гуглу, куда копать - понятно, но результаты выдачи замучаешься изучать. За 15 минут ничего более близкого, чем вот это, не нашел, разумеется, но если нельзя менять исходники, то мне кажется, надо искать какой-то консольный ресайзер (в то числе может действительно пытаться запускать не из батника а через windows shell).
the_Dark_One
13:58 21-06-2023
[изображение]

[изображение]
pakt
15:02 21-06-2023
the_Dark_One да-да, я уже тоже подумал, что нужен аналог штатной экранной лупы виндовой.
pakt
15:12 21-06-2023
MMM в win10 лупа заебись, масштабирует весь экран. А в семерке лупа говно. Нужна лупа из десятки, но чтоб работала в семёрке (win2008r2, но не похер ли).
DeadMorozz
23:15 21-06-2023
Ставь полуось (нет). Все, у меня шутки закончились.
pakt
23:53 21-06-2023
DeadMorozz по факту почти так и есть. Пользователи терминалятся на сервер с пониженным разрешением. И сидят с 800х600 разрешением на 22 мониторах.
Indrigis
16:31 10-12-2023
А что, задача уж решилась? =)

Я бы попробовал прикрутить рядом с exe какой-то pif файл либо переопределить системные настройки консоли (подменить System на какой-нибудь TrueType a la Lucida Console 24 кегля).
pakt
17:10 10-12-2023
Indrigis ничего не решилось, все перепробовал и забил. То, что ты предлагаешь,.было испробовано в первую очередь ))
Indrigis
19:48 10-12-2023
Как интересно...

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

Это у вам там DOS приложение чистой воды, живущее в NTVDM?
pakt
20:02 10-12-2023
Indrigis не, это похоже на visual foxpro. Причём приложений от одного и того же программиста два - и во второе "вшито" переключение размера разрешения/шрифта прямо в меню. То есть он в курсе, что из операционки окно в первом приложении не масштабируется. Я ж говорю - и ярлыки пробовал, и кучу разных программ, принудительно меняющих размер - в лучшем случае окно разворачивается на весь экран без изменения содержимого (модальное - догадался штирлиц). Поэтому, кто сильно плакал - сидит на терминалке с понижением разрешения.
Indrigis
20:16 10-12-2023
Для терминалки существует указуемый снаружи зум. И, вроде бы, это даже работает для опубликованных приложений (т.е. RemoteApp можно растянуть раза в два). Ну или mRemoteNG, который тоже умеет в зум всего рабочего стола...

Но вот так, по переписке, звучит уже как лечение геморроя по фотографии.

Выслать спецсвязью целиковый образ сервера вместе с приложением и парой пользователей - не вариант? :D

Кажется, нужно лезть в API про Virtual Terminal для приложений символьного режима. Возможно, что реализуемо, но трудно оценить реалистичность. Интересный челлендж!

отредактировано: 10-12-2023 20:27 - Indrigis

pakt
21:05 10-12-2023
Indrigis пользователи работают не только в этой программе, они и браузер запускают, и ворд. Поэтому зум не помогает, а понижение разрешения при подключении по терминалке - помогает )
Indrigis
21:40 10-12-2023
А какая, функционально, разница между зумом и понижением разрешения? Так и так ворд в 800*600 - это ужасно.
pakt
23:33 10-12-2023
Indrigis при том зуме, который я пробовал на удаленных клиентах, рабочий стол уходит далеко за края экрана, и толком не поработать.
Indrigis
00:07 11-12-2023
Уходит за края экрана?

Я имел в виду штатный зум, который увеличивает все элементы интерфейса, что прямо в .rdp файле прописывается. Там просто всё становится большим и страшным, но рабочий стол на месте, если не ставить 500%.
pakt
00:13 11-12-2023
Indrigis не знаю про штатный зум в рдп, знаю только про понижение разрешения. Судя по твоему описанию, по крайней мере по результату это как будто бы одно и то же.
Indrigis
20:19 11-12-2023
Штошь.

Написал на PowerShell + C# сферического коня в вакууме - работает с одним (1) экземпляром целевой консольной программы текстового приложения, запущенным текущим пользователем (для работы по нескольким экземплярам в случае отбора по имени файла нужно несколько раз перезапускать рантайм. Или нет, пока не погружался.) под Windows 10 с .NET актуальной версии. Меняет базовый шрифт выбранного текстового приложения (по имени или PID) на нужный шрифт с нужным кеглем. Осталось обтесать до совместимости с .NET 3.5 и работы по нескольким программам.

А как идёт вызов конечной программы в батнике - напрямую или per aspera ad rectum навроде start, cmd /k или богомерзкого лаунчера, как у 1С?
pakt
21:07 11-12-2023
Indrigis завтра приду на работу - опишу прогу. Может даже видос запишу, если прям с утра какой-нибудь чепухой не нагрузят.
pakt
08:30 12-12-2023
Indrigis видео слишком долго. Пишу фкрации:

Приложений два. Одно называется IPTalon, второе Enigma.

В интерфейсе энигмы есть волшебная кнопка "переключение видеорежима":

[изображение]

После чего энигма позволяет делать с окном что угодно, через изменение размера шрифта свойств окна:

[изображение]
pakt
08:31 12-12-2023
Indrigis в талоне нет переключения видеорежима, и нет свойств окна:

[изображение]

Окно не разворачивается на полный экран, не ресайзится. На утилиты Sizer и AutoSizer просто не реагирует. Какие-то более специфические утилиты скачивал, не помню названий - они разворачивают окно без изменения размера шрифта.
pakt
09:01 12-12-2023
Indrigis А как идёт вызов конечной программы в батнике

Через батник задается рабочая папка с dll-инами для текущего пользователя:

Set path=c:\Tal32\Dll;%path%
cd c:\Tal32\users\apu2
Start c:\Tal32\IpTalon.exe

Иначе подтягиваются дефолтные корневые папки, и больше одной копии программы не запустить - блокирует файлы с данными.
Indrigis
14:15 12-12-2023
Отличные новости - я поймал ковидлу и на ближайшие несколько дней - так себе работник...

А зачем Set path=c:\Tal32\Dll;%path% в каждом батнике? Это, догадываюсь я, - общая папка для всех пользователей, в отличие от частной apu2.

Правильно ли я понимаю, что всё это работает в среде служб удалённого рабочего стола Windows Server 2008 R2 и каждый пользователь ограничен одним экземпляром программы?
pakt
14:33 12-12-2023
Indrigis
А зачем Set path=c:\Tal32\Dll;%path% в каждом батнике?

возможно что и незачем )

Правильно ли я понимаю

Да, всё верно.
В самой программе тоже заводятся учётки и настраиваются пути, и если стартовать экзешник напрямую - он ругается и убегает.

[изображение]

отредактировано: 12-12-2023 14:45 - pakt

pakt
19:10 12-12-2023
Indrigis поймал ковидлу - в вот это совершенно лишнее!
Indrigis
15:19 13-12-2023
Собралась кое-как-то работающая под Windows Server 2008 R2 версия.

Требует установки .NET 4.5.1 и правки CLR, чтобы работал рантайм 4.0 (это делается в один скрипт от админа, особенно если не правилась конфигурация PowerShell).

Я думаю, стоит попробовать.
pakt
15:20 13-12-2023
Indrigis да я с радостью - мои-то действия какие?
Indrigis
15:29 13-12-2023
Я, например, в телеграм напишу?