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

    AZJIO
  • 17953
  • Стаж: 7 лет 1 месяц
  • Сообщений: 1321
  • Репутация: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
  • Стаж: 10 лет
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
91440140 кб это много?
Разница в том что ты всё меришь гигабайтами, а многие ещё килобайтами.
91440А универсальность лишней не будет.
Но не надо доводить универсальность до абсурда. al

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91442Но не надо доводить универсальность до абсурда.
aa А абсурд в 140 кб? Вроде дискетами не пользуемся, 21 век на дворе. az Как говорится, в ногу со временем.
Да и я вроде просил сделать универсальным, пусть и отдельным Лаунчером. А пользователю решать, какой душе, по своему усмотрению. На вкус и цвет, а о вкусах не спорят. az

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

    SergeyZV
  • 528
  • Стаж: 10 лет
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
91443Вроде дискетами не пользуемся, 21 век на дворе.
А зачем тогда ты старый лаунчер размером в 700 Kb заменил новым в 70 Kb!? Будь последователен.
Не надо смотреть только со своей колокольни.
91443А пользователю решать
Да нет. Автору решать.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91446А зачем тогда ты старый лаунчер размером в 700 Kb заменил новым в 70 Kb!?
aa В ногу со временем, дорогой друг. Я на размер и не обращал внимание, так как в новом появляются больше возможностей. Зачем с XP переходят на Windows 7, 8.1, 10? Обновляют железо? Нафига покупают иномарки, когда полно дряхлых, убитых и неудобных в управлении Жигулей за 150 - 200 долларов... az А комфорт, гибкость, удобство с наворотками имеет значения.


Последний раз редактировалось: rezorustavi (2022-01-06 21:28), всего редактировалось 3 раз(а)

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

    SergeyZV
  • 528
  • Стаж: 10 лет
  • Сообщений: 1259
  • Репутация:34

    [+] [-]
rezorustavi, Если ты внимательно читал эту тему, то должен знать что одна из задач AZJIO это сделать лаунчер минимального размера.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
SergeyZV,
aa Я не просил сделать именно один лаунчер со всеми наваротками, а остальные удалять. Пусть будет выбор, один со всеми наворотками, другие как есть. Что тут плохого, дорогой друг. Давайте закончим спорить, каждый из нас имеет право на рекомендации и просьбы, а автору решать, что и как делать. Всех соучастников форума с Наступающим Рождеством! az

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

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

    [+] [-]
91408Я понимаю,человек старается,добавляет хотелки. Но есть жеЯпонец,в котором 100500 опций и памяти жрёт в 3 раза меньше.Не в обиду.
А размер что не в счет? Одна только дополнительная dll рус весит больше чем лаунчерPB с поддержкой jpg am ao
Добавлено через 2 минуты 24 секунды:
91443
91442Но не надо доводить универсальность до абсурда.
aa А абсурд в 140 кб? Вроде дискетами не пользуемся, 21 век на дворе. az Как говорится, в ногу со временем.
Да и я вроде просил сделать универсальным, пусть и отдельным Лаунчером. А пользователю решать, какой душе, по своему усмотрению. На вкус и цвет, а о вкусах не спорят. az
А кто то может и пользуется ah

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

    AZJIO
  • 17953
  • Стаж: 7 лет 1 месяц
  • Сообщений: 1321
  • Репутация:127

    [+] [-]
rezorustavi, добавил LauncherXYWH_Uni - 336 кб. Добавлен ещё TGA (+3,5 кб) до кучи. Кстати, там ещё есть модуль TIFF (+564 кб).
И у меня в архив затесался тестовый вариант Launcher.exe (основной 73,5 кб) с экспериментом дефолтной кнопки, она синим подсвечена, первая, вернул правильный exe-файл, перекачайте.
Ещё перезалил, добавлен Launcher-Next-Prev.exe - поддерживает перемещение активной кнопки стрелками и нажатие с помощью Enter. По умолчанию для этого ранее использовался только родной способ системы: выбор Tab и Shift+Tab, а нажатие пробелом.
Могу сделать фичу: для флага warn=1 добавить параметр warntext=, что позволяет самому написать текст предупреждения, какое либо напутствие перед запускам чего либо, совет и т.д. Память жрать не должно, в памяти будет загружен для warntext только имя группы, а во время нажатия кнопки текст будет прочитан из ini-файла в указанной секции. Проверяется лишь что warntext не пуст и имеет имя секции это ключ к тому чтобы обратится к ini-файлe и и взять текст для вывода в сообщении.

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

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

    [+] [-]
свое предупреждение лучше конечно, тем более если не ест памяти

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

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

    [+] [-]
91369А что конвертировать слабо?
SergeyZV, конвертировать не слабо, я думал, что будет использоваться фишка полупрозрачности.
91372Его фишка полупрозрачность не используется.
AZJIO, ak Спасибо за LauncherXYWH_Uni - 336 кб, с *.png-файлами работает.

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

    sergeysvirid
  • 104
  • Стаж: 10 лет
  • Сообщений: 2638
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
91458Ещё перезалил, добавлен Launcher-Next-Prev.exe - поддерживает перемещение активной кнопки стрелками и нажатие с помощью Enter.
AZJIO,
Приветствую! aa
Спасибо! ay А по какой причине не добавили эти функции в основные лаунчеры (Launcher.exe и Launcher_x64.exe) ?

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

    AZJIO
  • 17953
  • Стаж: 7 лет 1 месяц
  • Сообщений: 1321
  • Репутация:127

    [+] [-]
sergeysvirid, таб и шивт-таб и пробел делают тоже самое. А усложнять не хотелось бы до того как будет встроен более приоритетные вещи. Эта версия начнет конфликтовать с xywh - вариантом. Желаемая фишка переставлять курсор-фокус между столбцами будет иметь проблему с приткнутыми кнопками по координатам, надо продумывать поведение, переход к следующему блоку. Ну и фича присутствует просто другими кнопками, а более полезно сделать как в автоит версии с подсветкой границ сине-голубой границей, по цвету темы или задавать в ини.
Добавлено через 8 минут 3 секунды:
Обновления ждать вечером или завтра.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91458Могу сделать фичу: для флага warn=1 добавить параметр warntext=, что позволяет самому написать текст предупреждения
aa Приветствую, благодарю за труды. Да, очень хотелось бы этой функции, я как-то даже думал попросить у Вас, но после с головы вылетело...

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

    vovan1982
  • 214
  • Стаж: 10 лет
  • Сообщений: 1141
  • Репутация:78

    [+] [-]
  • Откуда: Ростов-на-Дону
rekshd, rezorustavi, wadimus, продолжите флудить, получите РО.

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

    AZJIO
  • 17953
  • Стаж: 7 лет 1 месяц
  • Сообщений: 1321
  • Репутация:127

    [+] [-]
Обновил 2 файла: стандартный Launcher, который x32 и LauncherXYWH_Uni
добавлено
warn=2
warntext=ваш текст
warn=1 не пытается обратится к warntext даже если он есть, а warn=2 провоцирует чтение warntext, а если не найдёт то выдаст стандартный диалог. Можно было и без warn=2, но с ним экономичнее, не кеширует имена группы чтобы делать по нему проверку и не обращается к ini-файлу.
Ранее Undeground упомянул что другая прога меньше память потребляет, и учитывая что я сделал чтение текста warntext не в момент генерации кнопок, а в момент клика по кнопке, то возникла идея, а зачем считывать все значения ini-файла на момент генерации кнопок, когда можно их считывать в момент клика на кнопке, тогда данные ini-файла не будут хранится в памяти. Если взять Launcher5.ini - 18 кб и сохранить в UTF-16, то получаем 50 кб. В памяти это может варьироваться, стоит ли ради этого переписывать программу? Что если захочется подключить ещё фичу - отображать значения ini для кнопки, например выводить в подсказку или через конт. меню, тогда снова придётся запихивать эти данные в память.
Перезалил
Для Launcher, который x32 и LauncherXYWH_Uni: Перед нажатием кнопки нажмите F1 (не удерживая), включится режим вывода информации о кнопке 1 раз.
Добавил в них же в секцию [gui] флаг TipStyle=1 - по умолчанию 1 и включает стиль с заголовком и иконкой, 0 - только текст.

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


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

Текущее время: 20-Апр 19:14

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


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