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

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

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

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

    [+] [-]
91024а вот полный путь - УВЫ
полный путь чего? %CommonProgramFiles% при раскрытии является полным путём.

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

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

    [+] [-]
91028%CommonProgramFiles% при раскрытии является полным путём
Да нет. Вот полный путь для запуска приложения
exe="%CommonProgramFiles%\Microsoft Shared\Ink\TabTip.exe"
Если переменная не работает в связке, то грош ей цена.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91026А ты пишешь про второй.
aa Какой указан в ini, про тот и пишу az


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

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

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

    [+] [-]
rezorustavi, ab az
91013добавил раскрытие переменных в аргументах, перезалил, работает
Подтверждаю
91015
91013добавил раскрытие переменных в аргументах, перезалил, работает
А этот вариант перестал работать ac
exe=cmd
arg=/k ""%CommonProgramFiles%\Microsoft Shared\Ink\TabTip.exe""
LargeIcon = 1
hide=1
А такой вариант не заработал ac
exe="%CommonProgramFiles%\Microsoft Shared\Ink\TabTip.exe"
LargeIcon = 1
А такой вариант заработал ab
name=Просмотреть Host
exe=notepad.exe
arg=%WinDir%\System32\drivers\etc\hosts
LargeIcon = 1
у меня тоже не все заработало

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

    wadimus
  • 14910
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
91030Если переменная не работает в связке, то грош ей цена.
батничек рисуй:
1.bat
"%CommonProgramFiles%\Microsoft Shared\Ink\TabTip.exe"
exe=1.bat
и, пжлста, автор делает практически все твои хотелки .. а ты ему: грош цена .. ao

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

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

    [+] [-]
91034а ты ему: грош цена
Не надо придумывать. Я написал что грош цена переменной, которая не работает в связке. aq
Я тебя удивлю, что про способ с батником и так знаю. ae
А работа переменных - это пожалуй единственное чего не хватает лаунчеру.

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

    wadimus
  • 14910
  • Стаж: 8 лет 5 месяцев
  • Сообщений: 749
  • Репутация:91

    [+] [-]
91035Я тебя удивлю, что про способ с батником и так знаю.
прими это за фичу .. и никому не рассказывай!
ag

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

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

    [+] [-]
обновил, для теста с приткнутой кнопкой.
rezorustavi, хоть я и нарушил все правила и не хотел делать исключение из правил, чтобы создать неконтролируемый лаунчер, но я всё же попробовал сделать параметр xywh=5,5,155,40 который создаст кнопку хоть где. Во первых такие кнопки должны быть самыми последними, так как при вычислении позиции движком вычисления позиций он налепит кнопки неизвестно где, а если эти кнопки сделать последними, когда движок уже распределит вычисляемый кнопки, то они уже не будут мешать следующим, так как вычисляемых кнопок не осталось. Чтобы они не учитывались при вычислении количества пришлось навтыкать костыли. В общем если захочется создать все кнопки с позициями и ни одной вычисляемой я не знаю как движок себя поведёт, если ему придётся умножать на ноль числа и что то там вычислять, я лишь проверил вариант, что есть кнопки в области кнопок и можно несколько кнопок приткнуть например как будто это вкладки, то есть например сверху 4 кнопки с собственным размером и позициями и нажимая их например переключать конфиги. Иначе не очень удобно если захочется сделать аналоги кнопок-вкладок, и их может оказаться больше чем число рядов. Можно вычисляемую кнопку сделать одну, типа выход в области кнопок где нибудь в углу, а остальные полностью размещать по координатам куда вздумается. Но при таком раскладе проще собственный лаунчер написать на PureBasic в применением стилей, рисунков для кнопок и прочего, а моя задача больше ожидалась чтобы создать простой кнопко-тык сам определяющий координаты по размеру окна без необходимости что-то прописывать, просто указав исполняемый файл.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91037обновил, для теста с приткнутой кнопкой.
aa Спасибо, дорогой друг за внимание, учет пожеланий и труды. az


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

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

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

    [+] [-]
91015А такой вариант не заработал
попробуй без кавычек... PureBasic умеет читать параметры всей строкой и всей строкой вставляет в ячейку параметры функции запуска. Кавычки могут сделать медвежью услугу, он будет искать файл, в имени которого есть кавычка.
Добавлено через 2 минуты 32 секунды:
91039Спасибо
но я думаю развивать лаунчер без этой возможности и в финальной версии сделать индивидуальное ответвление с этой возможностью. Иначе это может всю дорогу мешать обновлять исходник.

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

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

    [+] [-]
91040попробуй без кавычек...
А про кавычки нужно в шапку написать.
Попробовал другой файл запустить по этому пути
exe=%CommonProgramFiles%\Microsoft Shared\Ink\mip.exe
Работает и даже так работает
exe=mip.exe
Будем считать что с переменными всё! az

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

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

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

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

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

    [+] [-]
91040но я думаю развивать лаунчер без этой возможности и в финальной версии сделать индивидуальное ответвление с этой возможностью. Иначе это может всю дорогу мешать обновлять исходник.
От это лучше всего!
91037 Но при таком раскладе проще собственный лаунчер написать на PureBasic в применением стилей, рисунков для кнопок и прочего, а моя задача больше ожидалась чтобы создать простой кнопко-тык сам определяющий координаты по размеру окна без необходимости что-то прописывать, просто указав исполняемый файл.
av Не нужно комбайн очередной, кому нужны стили аналогичные упомянутые программы всегда есть. Простой кнопко-тык, главное стабильный, правильно выполняющий функции и простой в наполнении.
91041
А про кавычки нужно в шапку написать.
В шапке также не упомянут параметр "arg="
91041
91040попробуй без кавычек...
А про кавычки нужно в шапку написать.
Попробовал другой файл запустить по этому пути
exe=%CommonProgramFiles%\Microsoft Shared\Ink\mip.exe
Работает и даже так работает
exe=mip.exe
Будем считать что с переменными всё! az
Ура ay Спасибо AZJIO, за реализацию. Вот если бы еще секцию с номерами убрать, чтоб меньше ini был ah

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

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

    [+] [-]
Добавил флаг FormStyle=
Для эксперимента можно попробовать следующие параметры
13107200 - без кнопки "Свернуть"
13107204 - узкий заголовок, в Win10 может не измениться
2156396544 - без заголовка

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

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

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

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


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

Текущее время: 20-Апр 10:08

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


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