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

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

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

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

    [+] [-]
91248
91246Я честно говоря нифига не понял
Это о многом говорит. Ещё раз разжую. В конкретном случае при использовании SFX модуля smail выскакивает окно
https://usbtor.ru/viewtopic.php?p=91118#91118.
Для этого и нужен безусловный запуск команды останавливающий службу (Служба помощника по совместимости программ) которая ни на что не влияет кроме появления этого окна. Зачем это привязывать к кнопке??? Зачем? Что тут не понятного!?
И о чем это говорит можно узнать? Я знаю что это за служба. Еще с первого появления бэты windows7 я нашел что из за этой службы много проблем с запускам экзешников, с тех пор я ее выключаю везде и всегда. Поэтому мне не понятно почему нужно вешать функцию ее отключения в автозапуск? Ее можно повесить на кнопку как твик, выключить ее, а не просто останавливать, потому что толку в работе этой службы нет. Я понимаю так же что автозапуск вместе с лаунчером может быть не только для реализации остановки этой службы. Но повторюсь все можно повесить на первую кнопку и нажимать на нее после запуска. Мне не понятно зачем нужен автозапуск вместе с лаунчером. Как уже писалось раньше смотря для кого он делается.
Но вообщем это мои мысли и я просто спрашивал зачем это надо, чтобы получить разъяснение. Я не говорил не делайте этого в любом случае, но если это вызывает такой негатив, я не буду у вас ничего спрашивать aa

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91272 с тех пор я ее выключаю везде и всегда.
aa Приветствую. Я вообще её удаляю.
Но некоторым юзерам не докажешь, ( есть огромная категория людей, принцип которых, не трогать службы ) что от этой службы больше вопросов, чем полезностей и остановка, либо её удаление пока не влияет на работоспосбность системы. С другой стороны, не стоит её останавливать автоматом, при запусеке Лаунчера, так как рано или поздно появятся критики... И всю вину свалят на разработчика Лаунчера... Начнут вонять, мол запустил Лаунчер, а он без спроса полез в мои службы... Для всех хорошим не будешь...


Последний раз редактировалось: rezorustavi (2022-01-02 18:25), всего редактировалось 6 раз(а)

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

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

    [+] [-]
91273
91272 с тех пор я ее выключаю везде и всегда.
aa Приветствую. Я вообще её удаляю. Но некоторым юзерам не докажешь, ( есть огромная категория людей, не трогать службы ) что от этой службы больше вопросов, чем полезностей и остановка, либо её удаление пока не влияет на работоспосбность системы. С другой стороны, ради запуска лаунчера не стоит её останавливать, а вдруг появятся критики... И всю вину свалят на разработчика Лаунчера...
ay Согласен с каждым словом. Особенно с "Но некоторым юзерам не докажешь, ( есть огромная категория людей, не трогать службы )"
С другой стороны, ради запуска лаунчера не стоит её останавливать, а вдруг появятся критики... И всю вину свалят на разработчика Лаунчера...
Это вряд ли потому как предложение было только останавливать, а не отключать службу, после перезагрузки она опять запустится. Но в целом речь шла об автозапуске в лаунчере, не обязательно именно остановка этой службы
Добавлено через 10 минут 16 секунд:
Хотя если работа этой службы мешает большинству портабельным программам, то может это и логично останавливать ее при запуске лаунчера если он сделан для запуска портабельных программ. Вопрос и был смотря для кого он делается, если для себя то можно и на кнопку нажимать после запуска (кнопка - остановить службу ...), если для не опытных то автозапуск бы помог в этом случае. Я например хотел в этом лаунчере реализовать настройки windows в одном окне, почти все сделал, завтра выложу может кому пригодится, мне автозапуск для моих целей не нужен

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91274Вопрос и был смотря для кого он делается
aa Я против этой дурацкой службы ( мое мнение, удалять нафиг sc delete имя той службы )
А чайникам докажешь, что от неё нет никакой пользы, только нервы трепит. Ведь лаунчер разлетится по глобалу, мы понимаемаем, а другие... az
А если пошла такая пьянка, то и защитник будет поднимать ложные тревоги на многое, что добавим в оболочку запускатора, как и антивирусы... Юзер должен об этом заботится и понимать. ( вводить в исключения, отключать перед запуском ) Но к сожаленю не каждому это доказать, будут палить и на VirusTotal-е... А после грешить будут на автора оболчки...
Короче, Лаунчер во время запуска не должен трогать службы, по крайней мере без запросов.

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

    rekshd
  • 19892
  • Стаж: 6 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
91273Но некоторым юзерам не докажешь, ( есть огромная категория людей, принцип которых, не трогать службы )
Некоторые пользователи исчо системы обновления и восстановления не выключают. И дефендер с UAC оставляют включенным.
Я же эти 4 системы считаю вредительством со стороны MS и всегда отключаю на любой машине в первую очередь.
Я со своими конечными потребителями не церемонюсь. Всегда делаю так, как считаю нужным.
Политика проста. Если не нравится, не обращайтесь ко мне. Но ведь почему то всем нравится af
PS 1 Да, я Всегда до конечного потребителя довожу инфу о том, что выключено.
PS 2 Недавно узрел на вирустотал, что наконец то родную Службу платформы защиты программного обеспечения Майкрософт - sppsvc.exe - стали признавать вирусом ! Во как
ar

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

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

    [+] [-]
rekshd, UAC, обновления, защитник не являются спорными вещами, кто-то вообще не поймёт были ли у них эти вещи, разве что вздохнут свободно от пропажи UAC. Но в моих случаях важный критерий: одинарный/двойной клик на файле, фон рабочего стола, чёрная тема, чаще это бескомпромиссные вещи. Знакомые обычно сразу говорят "чёрное мне не делай", хотя я и никогда ни кому не делал, просто панель задач как то оставил чёрную. Фон долго объясняю что на нём хорошо видны ярлыки и текст, нет, нам не нужна мрачность давай позитивную картинку, там что лучше оставить старое семейное фото, надёжно. Двойной клик, ну раз уж профессионалы не могут от него отказаться, как я могу это продавливать, палец то не казённый 2 раза кликать. Ну и ещё стараюсь разрешение экрана вернуть, если драйвер позволяет, так как не раз замечал, что люди оставляют например вместо родного 1366 ... стоит 1280 ... вроде как и шрифт крупнее, а то что он размытый, неважно, хотя я могу шрифт просто увеличить до нужного. Линукс кстати автоматом ставит родное разрешение экрана.

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

    rekshd
  • 19892
  • Стаж: 6 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
AZJIO, Оринтируетесь тока на свои вкусы, потребности и задачи.
Усё равно невозможно подобрать тот вариант, который будет устраивать всех.
Я бы ориентировался тока на свои задачи и потребности при создании программы...
Самого иногда "Заносит" - хочу сделать какой-нибудь проект идеальным.
Приходится в определённый момент самому себя останавливать.

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

    rekshd
  • 19892
  • Стаж: 6 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Ну а включение специализированныx, редко используемыx или спорныx функций вынести в ini
(кому надо тот найдёт, покурив хелп) И по умолчанию делать их отключенными ...

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
91288
Ну а включение специализированныx, редко используемыx или спорныx функций вынести в ini
(кому надо тот найдёт, покурив хелп) И по умолчанию делать их отключенными ...
aa Приветствую. Вполне согласен. Хорошая идея, чтобы не лишать навороток продвинутых юзеров. az

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

    korsak7
  • 107
  • Стаж: 10 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
91288Ну а включение специализированныx, редко используемыx или спорныx функций вынести в ini
(кому надо тот найдёт, покурив хелп) И по умолчанию делать их отключенными ...
И спорность сразу исчезнет? ai Ну вот эта же сабжевая вирусоподобная функция.
И смысл подобного запихивания, усложняя непонятно для кого?
Ведь по сути речь идет о доверии конечного пользователя автору программы

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

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

    [+] [-]
91278rekshd, UAC, обновления, защитник не являются спорными вещами, кто-то вообще не поймёт были ли у них эти вещи, разве что вздохнут свободно от пропажи UAC. Но в моих случаях важный критерий: одинарный/двойной клик на файле, фон рабочего стола, чёрная тема, чаще это бескомпромиссные вещи. Знакомые обычно сразу говорят "чёрное мне не делай", хотя я и никогда ни кому не делал, просто панель задач как то оставил чёрную. Фон долго объясняю что на нём хорошо видны ярлыки и текст, нет, нам не нужна мрачность давай позитивную картинку, там что лучше оставить старое семейное фото, надёжно. Двойной клик, ну раз уж профессионалы не могут от него отказаться, как я могу это продавливать, палец то не казённый 2 раза кликать. Ну и ещё стараюсь разрешение экрана вернуть, если драйвер позволяет, так как не раз замечал, что люди оставляют например вместо родного 1366 ... стоит 1280 ... вроде как и шрифт крупнее, а то что он размытый, неважно, хотя я могу шрифт просто увеличить до нужного. Линукс кстати автоматом ставит родное разрешение экрана.
Все делаю также, на клик пока не жаловались, но зачастую недоумение первое время, картинку обычно стандартную. Еще стал делать крупный указатель мыши (настраиваешь и через реестр ветку сохраняешь, работает на всех) и почти все ярлыки кроме браузера, мой компьютер, панель управления, корзина и диск Д - удалять. 95% все равно только браузером и пользуются остальное ищите в пуске, зато нет нагромождения, минимализм и глазу приятней. Uac наоборот стал оставлять включенным, чтобы пользователь с интернета exe вместо pdf не запустил (хотя все равно скорее всего запустят) иногда пароль администратора даже ставлю специально, лучше всяких антивирусов.
Добавлено через 6 минут 45 секунд:
Тогда такой компромисс. Если лаунчер будет использоваться для запуска портабельных программ, а нормальная их работа зависит от названной ранее службы, можно сделать автотключение этой службы, но без прописки других автозапусков, только отключение этой службы (не удаление) и по умолчанию выключить эту функцию. Если это все не повлечет за собой приписывание лаунчеру потенцеально опасного по конечно.
Если нет то своими силами, через батник, который сначала остановит службу, потом запустит лаунчер

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

    rekshd
  • 19892
  • Стаж: 6 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
91291Ведь по сути речь идет о доверии конечного пользователя автору программы
Доверие очень относительная вещь. Тем более если доверие частично зависит от "экспертного" мнения вирустотала.
Которое со временем тоже может меняться ...
Специалист при желании проанализирует действия программы и поймёт, что она безопасна.
Обычный пользователь запустит её на вирустотал и будет смотреть на мнение "экспертов" оттуда.
А ведь эти "эксперты"- антивирусы тоже могут ошибаться ...
Например, китайский антивирус Байда считает российский антивирус DrWeb
(точнее, монитор дохтура веба) вирусом ...
На всех мил не будешь ar
Короче, возвращаюсь к начальному моему посту - надо определиться для кого создана эта программа:
Если для спецов, то оставить как есть
Если для массового пользователя, то спорные\подозрительные для вирустотала функционал убрать в ini
или вообще вывести в внешние подключаемые модули

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

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

    [+] [-]
Обновил
Все обновления связаны с "LauncherXYWH".
1. Так как я заранее предупреждал что не знаю каким боком вылезет специфические ситуации, решил проверить ситуацию, когда автозаполняемые кнопки отсутствуют, и вместо них используются только кнопки имеющие заданные координаты и размеры. Как и предполагалась при делении на 0 (0 кнопок) программа даёт сбой. Сделал отключение вычисления если кнопок 0.
2. Для LauncherXYWH сделал отдельную папку и 3 конфига в виде кнопок-вкладок, то есть имитация переключения между вкладками
3. Наполнил лаунчер (LauncherXYWH) более содержательными кнопками. То есть это и в качестве примера уже более интересный вариант.
Можно было бы более продвинуто настроить, например вкладки могли бы содержать иконки по смыслу содержания конфига, например иконка панели управления, для папок иконка папок. Так же и в заголовке можно было бы менять иконку и текст. Можно было бы вкладки сделать без текста, просто квадратные кнопки с иконками, было бы красиво.
Кстати поступало предложение не перезапускать программу, а перезапускать распределение кнопок, это было бы быстрее, то есть при выборе условной вкладки не было бы мигание окна, но это тяжело переписывать всю программу.
Ещё хотел добавить функцию GetFullPathName, она раскрывает относительные пути, например "C:\Windows\System32\drivers\..\..\Fonts" станет "C:\Windows\Fonts". Но в параметрах и аргументах это работает в родной PureBasic функции RunProgram, причём не как ожидалось, а только для exe-файлов или если в аргументах передаётся относительный путь для exe-файла.

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

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

    [+] [-]
91327Если переименовать LauncherXYWH.exe, то перестает функционировать.
Всё прекрасно работает. Внимательно изучи все INI.

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

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

    [+] [-]
  • Откуда: Грузия, город Рустави
SergeyZV,
aa Приветствую, Вы правы. ay

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


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

Текущее время: 20-Апр 22:21

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


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