Иногда требуется собрать какое то количество программ в оболочку, для удобного запуска. Программ AutoPlay, имеется множество, но если по каким то критериям, они не устраивают, можно написать свою. В данной теме, покажу (напишу и выложу исходник) как создать оболочку в PureBasic (если у пользователей появится интерес к данной теме) Как то давно, пытался понять, принципы написания программ на PureBasic... Но язык не в какую не поддавался осмыслению. Хотелось написать лаунчер, нарисовал окно в редакторе форм и... завис... Долго думал, как навесить события на нажатие клавиш, как подправить дизайн созданного окна, так как в редакторе форм, нет возможности изменять все свойства элементов... Но так и не справился... Теперь чуть накопил знаний, могу научить и вас. В чем же преимущество данного Лаунчера: Малый размер файла Можно создать как х86 так и х64 Можно добавить любой функционал, ограниченный лишь вашими знаниями языка. Познакомитесь с PureBasic и возможно возьмете его на вооружение. Минусы: Сам язык платный, но не дорогой... (в интернете можно найти, полные, свежие версии) Рисовать интерфейс лучше вручную, указывая позицию и размер элементов Ну или в редакторе форм, набросать интерфейс, а потом перенести код, в основной... Набросал тестовый проект, прошу протестировать правильное отображение кнопок (сверить с картинкой) (в PureBasic изначально нет функции показа картинки с текстом на кнопке, поэтому сделана отдельная процедура на API)
Last edited by Joker-2013 on 2019-03-03 16:32; edited 2 times in total
В вообще, по поводу Лаунчера с 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, продолжение тут, а то я там дописываю обновы, а ветка не поднимается в топ. Вроде всё сделал.
Current time is: 03-Dec 01:36
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum