[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
LauncherPB
Скачать

Скриншоты

Последнее обновление:
Добавлено действие по правой кнопки мыши на кнопке, в ini-файл добавляется параметр url=ссылка. Если указана ссылка, то открывает её, иначе открывает исполняемый файл (exe=) в проводнике. Можно указать файл из текущей папки, из системных или прямой путь (C:\...). Раскрытие переменных тут не работает.
Исправление подсказки, не смешивается мультяшная балон с квадратной.
LargeIcon перенесён в глобальные настройки, LargeIcon2 - для кнопок с координатами.

параметры

Параметры ini-файла
[gui]
Title=Launcher - Заголовок окна
icon=launcher.ico - иконка окна
FormX=10 - x-координата окна, если не указаны обе координаты, то по центру
FormY=10 - y-координата окна, если не указаны обе координаты, то по центру
FormWidth=430 - Ширина окна
FormHeight=310 - Высота окна
FormStyle=2156396544 - стиль окна, обычно заголовка. 13107200 - без кнопки "Свернуть", 13107204 - узкий заголовок - панель инструментов, 2156396544 - без заголовка
Picture = Launcher.bmp - картинка
GuiBkColor=3F3F3F - Цвет фона если картинка не найдена
AreaX=90 - x-координата заданной области для кнопок
AreaY=70 - y-координата области
AreaWidth=320 - ширина области
AreaHeight=220 - высота области
Margin=5 - промежутки между кнопок
Columns=2 - число колонок, вертикальных рядов
FontName=Consolas - название шрифта
FontSize=14 - размер шрифта
FontStyle=256 - стиль шрифта
BtnAlign=256 - Выравнивание текста на кнопке (по умолчанию по центру, 256 - слева, 512 - справа, 8192 - многостроковый, 1 - выбранная). Для многострокового тильда "~" используется в качестве переноса строки и заменяется на CRLF.
BtnMinW= - минимальная ширина кнопки
BtnMinH= - минимальная высота кнопки
BtnColor= - пока не используется (цвет кнопки)
Wow64=1 - отключает перенаправление в SysWOW64 для 32-битной программы на ОС x64
Esc=1 - добавляет хоткей Esc для закрытия программы.
TipStyle=1 - задаёт стиль всплывающей подсказки. Может быть суммой флагов 1, 2, 64, где 1 - включает заголовок и иконку, 2 - показывает exe и arg, 64 - мультяшный вид подсказки.
TipWidth=220 - ширина всплывающей подсказки.
TipTime=15 - время отображения всплывающей подсказки.
CRLF=~ - символ переноса используемый в параметрах warntext, hint, в названии кнопки при включенном флаге "многострочный текст". Например "warntext=текст~подсказки" будет 2 строки.
LargeIcon = 1 - Размер иконки, если 1 то 32, если 0, то 16
LargeIcon2 = 1 - Размер иконки для кнопок с координатами
Если данные области Area не указаны, то по умолчанию вся площадь окна.
Если FormX и FormY не указана или оба равны 0, то применяется центрирование окна.
Если не задан Picture, то применяется GuiBkColor, если и он не указан, то стандартное серое окно.
Если FontName не указан, то никакие настройки шрифта не применяются.
Если указан минимальный размер кнопки (чтобы вместился текст) и размер кнопок вычислен меньше минимального, то область Area или окно будет увеличено, а кнопки создаются с минимальным указанным размером.
Кнопки
[6] - название секции не имеет значения, главное чтобы не повторялись
name=Calc - Название программы - отображается на кнопке
hint=Run Calc - Подсказка при наведении мыши
exe=calc.exe - Исполняемый файл, полный путь или относительный
arg=\k - аргументы/параметры для исполняемого файла
hotkey=Alt + q - Горячая клавиша. Если использована, то добавиться в контекстное меню, вызываемое правым кликом мыши.
url=https://... - если указана ссылка, то открывает её, иначе открывает исполняемый файл (exe=) в проводнике. Можно указать файл из текущей папки или прямой путь (C:\...)..
icon=calc.exe - иконка, полный путь или относительный
Admin = 1 - Запускает программу от админа
exit = 1 - Закрывает лаунчер после нажатия кнопки, запуская перед этим программу
hide = 1 - Скрывает процесс, полезно для запуска консольных программ
warn=1 - Показать сообщение с требованием подтверждения операции, если кнопка опасна (перезагрузка и т.д.)
warntext=моя подсказка - при использовании warn задаёт свой текст диалога предупреждения перед запуском. При этом указать warn=2
[7]
name=Выход
exe=Exit - особый случай, если Exit, то закрывает окно ничего не запуская
[8]
bhide=1 - создаёт пустое пространство по размеру кнопки, чтобы визуально разделить кнопки между собой.
Ком-строка
Можно передать программе ini-файл, чтобы открыть копию программы с другим конфигурационным файлом. Указывается имя файла или относительный путь, относительно текущей папки программы.
Различные сборки/компиляции
Launcher.exe - поддерживает только *.bmp-файлы в качестве фона и имеет минимальный размер исполняемого файла. Этот вариант идеален без использования фона.
Launcher-OWNER.exe - Поддерживает цвет кнопок (цвет фона, каймы, шрифта).
LauncherXYWH-UDLR_Uni.exe - поддерживает координаты кнопки, например xywh=5,5,155,40. Позволяет сделать отдельные кнопки, например как кнопки переключения вкладок, при этом загружая иной конфиг. Также можно сделать кнопки с указанием автора сборника или информационная кнопка, указывающая как пользоваться сборником. Аббревиатура UDLR означает выбор кнопок стрелками клавиатуры и Enter. Uni - означает поддержка jpg, gif, png, tga в качестве фона
Стиль шрифта FontStyle поддерживает флаги:
256 - жирный
512 - курсив
4 - подчёркнутый
8 - перечёркнутый
16 - наилучшее качество
просто суммировать флаги, например 264 (256+8) включит соответствующее.
Автовычисление
Можно указать только минимальный размер кнопок и число колонок, при этом размер окна вычисляется автоматически, чтобы кнопки уместились.
BtnMinW = 200
BtnMinH = 44
Columns = 2
Важно учесть, что задавая область кнопок "Area", её размер условный, например при вычислении 10 кнопок на высоте области 335 получим высоту кнопки 33,5 пиксел, но так как пиксел не делится на десятые доли, то размер кнопки будет 33 пиксел, умножаем на 10 кнопок и получаем область кнопок 330, а не 335, конечно с учётом отступом, но они опущены, чтобы показать пример того, что размер области кнопок не будет соответствовать действительности, поэтому когда отступ под кнопками или справа от кнопок не соответствует действительности и выглядит несимметрично, то учитывайте эту погрешность и самостоятельно определяйте правильный размер окна и области кнопок. Если у вас 20 кнопок по высоте и изменение размера кнопки на 1 пиксел провоцирует изменение области кнопок на 20 пикселов Вычислить самостоятельно область кнопок так: высоту кнопки (28) прибавить отступ (2), умножить на число кнопок (20) и прибавить ещё отступ (2) получим высоту области 602, т.е. (28 + 2) * 20 + 2 = 602. Можно было бы делать округление и получить 33 пиксел, потом 37 пиксел вместо 36, но тогда кнопки бы скакали по размерам и по отступам в пределах пиксела и если отступ то 2, то 3 пиксела, это будет выглядеть неприглядно.
Поиск
Используйте Ctrl+F или пункт меню, чтобы быстро найти кнопку по тексту, кнопка будет подсвечена и активирована, достаточно нажать Enter. Вводить достаточно часть слова и даже одну букву, текст проверяется что он есть в названии кнопки без учёта регистра. Если найдено 2 и более кнопок, то выводится сообщения о найденных кнопках и можно указать более точный запрос, при этом первая найденная станет активной. Если ничего не найдено, то сбрасывается активность какой либо кнопки.
Прочее
Если нажать F1 (не удерживая), и после этого кликнуть любую кнопку, то вместо запуска появится диалоговое окно с отображением данных для этой кнопки, которые указываются в ini-файле. Таким образом понятно, что будет запущено, возможно будет важно посмотреть ключи запуска и т.д.
Переменная %%P в параметрах "exe", "arg" заменяется на x86 или x64 взависимости от того на какой ОС запущен лаунчер. Это позволяет запускать exe-файлы взависимости от битности ОС. Определяется по наличию папка SysWow64. А также передаёт переменную окружения %P%. Для примеры можно из лаунчера запустить bat-файл с таким содержанием:
echo %P%
pause


Последний раз редактировалось: AZJIO (2022-02-22 20:44), всего редактировалось 27 раз(а)

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
90967
90962Вам может не нужна, другим нужна, каждому своё.
Используй BMP к твоим 1,4 Gb разница точно будет не заметна.
ay
90966Вот сейчас сконвертировал файл .jpg в .bmp с помощью сайта Ссылка
.jpg размером 87,2 КБ в .bmp - получил 2,25 МБ
Если пользоваться FastStone Image Viewer можно добиться лучших результатов.
Вообще там же несколько вариантов, есть же и jpg если AZJIO, конечно продолжит поддерживать ту версию. А для меня размер важнее, у меня на работе слабые каналы связи попадаются, мне чем меньше тем лучше, удаленка кое как работает с большими задержками, а передавать даже 1мб файл очень долго, мне важнее компактность. А вы и bmp сможете поставить если размер не важен. Если выбрать 256 цветов (не через сайт) то картинка уменьшится сильно

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
SergeyZV, а в gif получилось 7,5 кб

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
90968
90964не указана секция "icon= " то иконка берется, если это возможно из секции "exe= "
сделал перекачай, теперь будем другой глюк ловить, прога будет пытаться из txt-файла вытащить иконку.
.
Работает, отлично. И %%P работает. Спасибо за ваши труды!
Добавлено через 1 минута 15 секунд:
90972SergeyZV, а в gif получилось 7,5 кб
я думаю в jpg тоже можно добиться тех же результатов при сжати, а может и меньше. В gif если не ошибаюсь 256 цветов

[Цитировать]

    SergeyZV
  • 528
  • Стаж: 9 лет 8 месяцев
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
90972а в gif получилось 7,5 кб
В сжатом виде для него BMP (вместе с лаунчером) лучший вариант.
А если считать размер его сборки в 1,4 Gb вообще без разницы.

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 10 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
90971есть же и jpg если AZJIO, конечно продолжит поддерживать ту версию
Вот и я за про поддержку обоих форматов.
90971 А для меня размер важнее, у меня на работе слабые каналы связи попадаются, мне чем меньше тем лучше, удаленка кое как работает с большими задержками, а передавать даже 1мб файл очень долго, мне важнее компактность.
Да, и за таких редких на данный момент железяк урезать функционал и поддержку некоторых форматов в 2021 году, думаю не стоит. Как говорится в ногу с временем. Солидарен многим разработчикам софта, которые сняли поддержку XP, к примеру взять элементарно Google Chrome... Какое время XP... Для Запорожца, который выпускался до 1994 года, завод обязан пожизненно выпускать запчасти?


Последний раз редактировалось: rezorustavi (2021-12-26 08:15), всего редактировалось 2 раз(а)

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
Добавлена функция, которая получает иконку ассоциации, например если в качестве запускаемого файла mp3-файл или bmp-файл, то раньше для них не было иконки, теперь она берётся из ассоциаций (только x32 скомпилирована).
Ранее "icon= " также была сигналом использовать иконку или нет, теперь это тупо берёт иконку постоянно из exe-файла. Может надо сделать "icon= -" как сигнал отключить иконку?

[Цитировать]

    Akkar1s
  • 15293
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 65
  • Репутация:0

    [+] [-]
Можно опцию убрать свернуть и развернуть оставив только закрыть? На мелком окне слишком много места занимает свернуть развернуть, на заголовок мало места.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
90973я думаю в jpg тоже можно добиться тех же результатов при сжати
тут по виду можно понять какой вариант лучше. Если у вас красивое фото или переливающийся градиентами рисунок, то его лучше жать в jpg и даст наименьший результат при наилучшем качестве. А если видно что на рисунке 4 цвета синий, красный, белый и чёрный, то gif даст наилучший результат, во первых 16 миллионов цветов и 4 цвета это коэффициент уменьшения числа знаков на кодирование, то есть при 4 цветах кодировать можно 2-мя битами 11 (00, 01, 10, 11), а чтобы закодировать 16 миллионный цветовой рисунок с FFFFFF,то один F это 16, это 1111, а 6 раз F это 6 раз по 1111, то есть 111111111111111111111111. То есть если сжать такой рисунок в jpg стараясь повысить коэффициент сжатая, то добившись того же размера получим офигенный мусор на контрастных границах.
Akkar1s, можно только не понял для чего? Чтобы маленькое окно было шириной 100 и при этом уместился заголовок? Могу только флагом это сделать так как на постоянку такое не катит.
Остальные эксперименты только завтра вечером или послезавтра.

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
rezorustavi, да все верно, но остается просто исходить из того что есть.
90976Добавлена функция, которая получает иконку ассоциации, например если в качестве запускаемого файла mp3-файл или bmp-файл, то раньше для них не было иконки, теперь она берётся из ассоциаций (только x32 скомпилирована).
Ранее "icon= " также была сигналом использовать иконку или нет, теперь это тупо берёт иконку постоянно из exe-файла. Может надо сделать "icon= -" как сигнал отключить иконку?
Для тех кто хочет просто надпись без иконки, можно сделать отключение иконки, можно так "icon=0", вроде более логично
Добавлено через 3 минуты 50 секунд:
AZJIO, я думал в jpg тоже можно количество цветов уменьшить, оказывается нет, там мало вариантов
Добавлено через 5 минут 22 секунды:
В шапке не упомянут параметр "arg=" - ключи запускаемой программы
Добавлено через 8 минут 46 секунд:
Может это излишний перфекционизм, извините, но если Wow64=1 - отключает перенаправление в SysWOW64 для 32-битной программы на ОС x64, может правильнее чтобы было Wow64= 0, если отключает.

[Цитировать]

    Valerkan
  • 14556
  • Стаж: 8 лет 2 месяца
  • Сообщений: 77
  • Репутация:7

    [+] [-]
Можно ли сделать, чтобы всплывающую подсказку переносить по словам? Чтобы подсказка отображалась не на весь экран:
.
а настроить, например вот так:

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1322
  • Репутация:127

    [+] [-]
Valerkan, тестируйте (перезалил, x32), у меня уже была там закоментированная функция, я на неё переключил вывод, работает у меня. Можно только стиль продумать...

[Цитировать]

    rezorustavi
  • 2337
  • Стаж: 8 лет 10 месяцев
  • Сообщений: 918
  • Репутация:55

    [+] [-]
  • Откуда: Грузия, город Рустави
90969Твой Re.bmp 770 Kb.
Благодарю. ay az
AZJIO,
aa
При запуске отображается - промелькивает сперва картинка для фона, а после содержимое:
Видео
Launcher на данный момент самый последний.
Если получится, добавьте пожалуйста поддержку отображения символа & ( тот, что в стандартной клавиатуре, в цифре 7 ).
BtnMinW= - минимальная ширина кнопки
BtnMinH= - минимальная высота кнопки
И ещё пожелание, пожалуйста добавьте возможность задавать размеры для длины и ширины для каждой кнопки произвольно, тогда появится возможность устанавливать кнопки разного размера в одном окне. Пример:

[Цитировать]

    Akkar1s
  • 15293
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 65
  • Репутация:0

    [+] [-]
Добавьте смену цвета кнопки при нажатии, до нажатия белая с черным текстом после к примеру становится черная с белым текстом и изменение названия к примеры было "notepad" после нажатия "запуск notepad..." это чисто как пример.
Икону в gui для самого приложения из dll не умеет брать, только формат ico?

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
90983Добавьте смену цвета кнопки при нажатии, до нажатия белая с черным текстом после к прмиеру становится черная с белым текстом и изменение названия к примеры было "!notepad" после нажатия "запуск notepad..." это чисто как пример.
Икону в gui для самого приложения из dll не умеет брать, только формат ico?
Зачем это нужно, для увеличения размера бинарника и кода?
Иконка берется из dll, можно даже указать номер иконки, если в dll их несколько

[Цитировать]

    Akkar1s
  • 15293
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 65
  • Репутация:0

    [+] [-]
Иконки для кнопки да работает с dll , а для самой программы иконку не в какую не берет с dll только с ico.

Страница 6 из 32


Показать сообщения:    

Текущее время: 25-Ноя 14:13

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы