Иногда требуется собрать какое то количество программ в оболочку, для удобного запуска. Программ AutoPlay, имеется множество, но если по каким то критериям, они не устраивают, можно написать свою. В данной теме, покажу (напишу и выложу исходник) как создать оболочку в PureBasic (если у пользователей появится интерес к данной теме) Как то давно, пытался понять, принципы написания программ на PureBasic... Но язык не в какую не поддавался осмыслению. Хотелось написать лаунчер, нарисовал окно в редакторе форм и... завис... Долго думал, как навесить события на нажатие клавиш, как подправить дизайн созданного окна, так как в редакторе форм, нет возможности изменять все свойства элементов... Но так и не справился... Теперь чуть накопил знаний, могу научить и вас. В чем же преимущество данного Лаунчера: Малый размер файла Можно создать как х86 так и х64 Можно добавить любой функционал, ограниченный лишь вашими знаниями языка. Познакомитесь с PureBasic и возможно возьмете его на вооружение. Минусы: Сам язык платный, но не дорогой... (в интернете можно найти, полные, свежие версии) Рисовать интерфейс лучше вручную, указывая позицию и размер элементов Ну или в редакторе форм, набросать интерфейс, а потом перенести код, в основной... Набросал тестовый проект, прошу протестировать правильное отображение кнопок (сверить с картинкой) (в PureBasic изначально нет функции показа картинки с текстом на кнопке, поэтому сделана отдельная процедура на API)
Последний раз редактировалось: Joker-2013 (2019-03-03 16:32), всего редактировалось 2 раз(а)
В вообще, по поводу Лаунчера с ini... Если есть время, то можно сделать приложение, без ручной конфигурации файла ini Видел код, когда объекты можно двигать по окну. В итоге, делаем небольшой конструктор, в котором можно создавать объекты, например кнопки, размещать их в окне приложения, растягивать окно итд итп... Или как делфи7 отдельное окно с объектами и рабочее окно... Но нужно много сил и времени.
вот это наверно определяющее, и ещё желание. Я уже делал прогу для создания гуи где можно перемещать элементы и делать доводку до пикселей стрелками, но это в лаунчере лишнее. Я наоборот делал чтобы кнопки сами размещались автоматически. Вариант на AutoIt3 протестирован, можно указать область размещения кнопок, указать число колонок, отступы между кнопками и они сами подстроятся под размеры. Но я пробовал лаунчеры с пропиской координат кнопок, не знаю насколько это удобно, каждому своё, но там проблема допустим втиснуть кнопку, надо все переписывать. LauncherPB - добавил Выход, сворачивание и область в ini
Добавил поддержку иконок. Но в варианте AutoIt3 была функция _WinAPI_PathFindOnPath, то есть найти dll для иконок, я сделал проще, так как скорее всего для иконок и картинок лучше использовать соседнюю папку, то если относительный путь не содержит "\", то ищем в System32. Также остался баг с вычислением колонок, при нечётном, когда не помещаются идеально квадратом, то есть в одной колонке 3 кнопки в другой 2, то не как ожидалось. Скорее всего это связано с тем что в PureBasic интегрер всегда округляется то целого, в AutoIt3 вычисляется в с плавающей точкой, при этом в PureBasic это решается добавлением десятичного к числу, например d*1.0, тогде вычисления будут в типе с плавающей точкой, а округлятся итоговый, но пока не разгадал где нестыковка, надо осмысливать, а я просто конвертировал код.
Насчет запускатора с INI - написан давно. Называется "Menu 4.2.2.56" функционал гибкий, осваивается быстро, работает уже у меня лет 15. Автораны для пиратских игровых CD только на нем и писались. Всё время в сети распространяется с примером и хелпами от автора. P.S. Блин, я такой старый, что вижу снова и снова на форумах одно и то же. Прогеры пишут то, шо давно написано, потом про их труды забывают и новые прогеры пишут то же самое по новой...
да есть уже ланчер давно универсальный, скрин, называется TBLauncher, есть x86 и x64 можно запускать что угодно, настраивается в INI единственная загвоздка - не работает на XP, только на 7 и выше, ну и re\pe соответствующем может и на виста, не проверял.. как пример используется в TBPortable
mat.86, продолжение тут, а то я там дописываю обновы, а ветка не поднимается в топ. Вроде всё сделал.
Текущее время: 13-Дек 03:45
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы