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

    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 раз(а)

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

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

    [+] [-]
90952запусти батник через лаунчер
echo %P%
pause
Работает.
90947А на счёт замены в exe-файлах, могу и туда сделать
Туда и надо.
Только что проверил с exe. Работает. ay
Наверно всё-таки лучше %P% заменить на %%P.
И для INI бы тоже добавить
name=Следующий
hint=Новая вкладка
exe=Launcher.exe
arg=Launcher_%%P
icon=Launcher.exe
LargeIcon = 1

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

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

    [+] [-]
SergeyZV, сделал замену %%P в именах exe-файлах на x64 или x86
90954Наверно всё-таки лучше %P% заменить на %%P.
а тут я вообще ничего не меняю в лаунчере я задаю переменную "P" без процентов, а уж как она появляется в других прогах я не в курсе.
Также сделал если не удалось открыть неподдерживаемый формат, то есть jpg, то тоже фон включаем.
90954И для INI бы тоже добавить
для аргументов? сделал, перекачай


Последний раз редактировалось: AZJIO (2021-12-25 21:35), всего редактировалось 1 раз

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
90950если файл не найден то используется цвет фона
aa Дорогой друг, помогите пожалуйста разобраться, почему он не найден, когда он есть, в корне папка Icons, в ней Re.jpg , вроде натравляю на файл фона правильно, для примера в Launcher1.ini - Picture=Icons\Re.jpg
Посмотрите пожалуйста это и ткните меня носом, в чем я допускаю ошибку:
Ссылка ( сборка на новом лаунчере пока не "вылизанная", набросал на скорую руку )
Пароль на архив 123


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

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

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

    [+] [-]
rezorustavi, мы тут долго обсуждаем и для jpg лаунчер отдельно в папке "other" (другие), так как модуль jpg увеличивает исполняемый файл на 120 кб, в итоге 70 кб против 200 кб.
SergeyZV, проблема что %%P может встретися в аргументах и будет использоваться для других целей, а я тут типа ломаю чужие аргументы своей хотелкой. Переменная именно в аргументах должна быть сложнее, например %%Px64x86 чтобы комбинация была маловероятна. В именах файлах вряд ли встретишь %%P, поэтому тут можно, а в аргументах я уже опасаюсь. Или @#P#@, в общем нереальная комбинация... @%#P#%@.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
90957модуль jpg увеличивает исполняемый файл на 120 кб, в итоге 70 кб против 200 кб.
Ужас, какая огромная разница в размере.
Уважаемый, согласитесь, что это не критично считать кб для 2021 года. Не дискетами Floppy пользуемся... ag


Последний раз редактировалось: rezorustavi (2021-12-25 21:53), всего редактировалось 3 раз(а)

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

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

    [+] [-]
90957проблема что %%P
Проверил. Работает.
Оригинально что для ini работает %%P, а для exe %P% .
90957Переменная именно в аргументах должна быть сложнее
Просто использовать с .ini
Launcher.exe Launcher_%%P.ini
И проблем точно не будет.
arg=Launcher_%%P.ini


Последний раз редактировалось: SergeyZV (2021-12-25 21:59), всего редактировалось 2 раз(а)

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

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

    [+] [-]
90958
90957модуль jpg увеличивает исполняемый файл на 120 кб, в итоге 70 кб против 200 кб.
Уважаемый, согласитесь, что это не критично для 2021 года. Не дискетами Floppy то пользуемся... ag
Не согласен, чем меньше тем лучше. Пользуйтесь BMP вместо JPG, если для вас важна картинка. Я вообще картинку не ставлю, зачем она там нужна? Лаунчер для запуска программ и настроек, может туда еще видеопроигрыватель чтоб еще онлайн откуда то видео на фоне играл?

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

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

    [+] [-]
rezorustavi, ну каждый сам выберет какой ему вариант удобней. Тот что не поддерживает jpg поддерживает bmp, но конечно в сумме с bmp это в разы больший размер. Так что если хочется графика наилучший размер это с JPG, 200+10кб, а с bmp 70+270, и то 270 это 16 битный, а полноцветный 430. так что тот что 70 кб он заточен без графики.
90959Оригинально что для ini работает %%P, а для exe %P% .
там суть разная, встройка переменной и замена текста. Для ini я тупо заменяю текст %%P на x64, там можешь придумывать вместо %%P любой текст, хоть абракадабру.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
90960Я вообще картинку не ставлю, зачем она там нужна?
Вам может не нужна, другим нужна, каждому своё.
90960может туда еще видеопроигрыватель чтоб еще онлайн откуда то видео на фоне играл?
ay Хорошая идея, как в AutoPlay Media Studio. az

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

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

    [+] [-]
Пользовался AutoPlay Media Studio давно, ещё где нибудь в 2003-2004 годах, делал там и плеер и запуск прог. Кстати в PureBasic встроить плеер запросто, например определить область и запустить проигрывание без кнопок управления. Но я конечно это не буду делать ради того чтобы показать что это возможно.

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

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

    [+] [-]
AZJIO, а возможно сделать так если не указана секция "icon= " то иконка берется, если это возможно из секции "exe= " ? Чтоб не указывать лишний раз, если это не слишком сложно.
В шапке не упомянут параметр "arg=" - ключи запускаемой программы

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
Вот сейчас сконвертировал файл .jpg в .bmp с помощью сайта Ссылка
.jpg размером 87,2 КБ в .bmp - получил 2,25 МБ

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

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

    [+] [-]
90962Вам может не нужна, другим нужна, каждому своё.
Используй BMP к твоим 1,4 Gb разница точно будет не заметна.

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

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

    [+] [-]
90964не указана секция "icon= " то иконка берется, если это возможно из секции "exe= "
сделал перекачай, теперь будем другой глюк ловить, прога будет пытаться из txt-файла вытащить иконку.
SergeyZV, mat.86, вы не учитываете LiveCD, такую запускалку можно и в wim засунуть и стартовать в автозагрузке. Я именно в первых LiveCD так делал. Хотя потом отказался, на рабочем столе можно было наделать ярлыков.


Последний раз редактировалось: AZJIO (2021-12-25 22:17), всего редактировалось 1 раз

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

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

    [+] [-]
rezorustavi, Твой Re.bmp 770 Kb.
А в сжатом виде с помощью 7-zip размер равен 4,6 Kb.


Последний раз редактировалось: SergeyZV (2021-12-25 22:22), всего редактировалось 1 раз

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


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

Текущее время: 25-Ноя 15:07

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


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