Вторник, 23 Апреля 2024, 12:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Pascal Лаунчер (Подскажите как написать на Pascal свой лаунчер)
Pascal Лаунчер
Razar3dДата: Воскресенье, 29 Апреля 2012, 13:30 | Сообщение # 1
был не раз
Сейчас нет на сайте
Я решил написать свой лаунчер на Pascal для игры. Знаю основы паскаля но с объектно ориентированным работал всего один раз. Подскажите как сделать так что при нажатии кнопки у меня запускался exe файл.
AGENTX001Дата: Воскресенье, 29 Апреля 2012, 13:51 | Сообщение # 2
почётный гцупер
Сейчас нет на сайте
Quote (Razar3d)
бъектно ориентированным работал всего один раз

Quote (Razar3d)
как сделать так что при нажатии кнопки у меня запускался exe файл

Где связь? Почему не гуглил?
Quote (Razar3d)
Знаю основы паскаля

Врать нехорошо!
TimKruzДата: Воскресенье, 29 Апреля 2012, 15:47 | Сообщение # 3
старожил
Сейчас нет на сайте
Quote (Razar3d)
Подскажите как сделать так что при нажатии кнопки у меня запускался exe файл.

Какой именно у тебя Паскаль?..

Turbo Pascal:
Code
uses dos; //модуль дополнительных функций MS-DOS
//...код...
exec('путь к программе','параметры запуска'); //собственно запуск программы
//...код...

Ошибки при запуске - функция DOSError, в случае успеха - ноль.
При выполнении этой команды программа выделяет часть своей памяти под внешнюю программу. Поэтому нужно использовать директиву {$M} для освобождения лишней памяти.

PascalABC.NET:
Та же самая команда exec('путь к программе','параметры запуска'). Можно использовать WinAPI, как в Delphi (читай ниже).

Delphi:
а.) Подключаешь модуль Windows и вызываешь команду:
Code
WinExec(Команда:PAnsiChar, Параметр_отображения:Cardinal);

В первом параметре указываешь строку с командой (команда в том же формате, что вводится в окно "Выполнить" в Windows или командную строку), а во вторую - как отобразить новое окно (обычно используют константу SW_SHOW).
Если не ошибаюсь, WinExec устарел. Она нужна для совместимости с 16-битными Windows.
б.) Подключаешь модуль ShellAPI и вызываешь команду:
Code
ShellExecute(указатель_на_окно:HWND, операция:PAnsiChar, имя_файла:PAnsiChar, параметры:PAnsiChar, папка:PAnsiChar, команда_отображения:integer);

в.) Есть ещё CreateProcess, он создаёт новый процесс, но там много писать... wacko

Для Lazarus можно сделать как в Delphi.

Quote (AGENTX001)
Где связь? Почему не гуглил?

Он, наверное, думает, что запуск внешнего приложения как-то связано с ООП... Нет, Razar3d, ООП тут совсем нет.
Quote (AGENTX001)
Quote (Razar3d)
Знаю основы паскаля

Врать нехорошо!

AGENTX001, почему ты думаешь, что он не знает основ Паскаля? Основы - это основы. Он же не сказал, что он крутой профессионал на Паскале, но не может запустить внешнюю программу - тогда да, это было бы если не ложью, то сильным преувеличением.

P.S.
Quote (Razar3d)
Я решил написать свой лаунчер на Pascal для игры.

Какой игры? Просто если хочешь сделать лаунчер для чего-то типа GTA IV - Pascal тебе не поможет, бери сразу Delphi или Lazarus. Я уж молчу о том, что чтобы запустить чужую (вероятно "крякнутую") игру, обычно нужно не просто запустить процесс с игрой, а ещё и изменить кучу данных внутри её кода/файлов (для отключения её самозащиты или изменения настроек). Ведь просто так запустить - это проще сделать с помощью ярлыка.




Сообщение отредактировал TimKruz - Воскресенье, 29 Апреля 2012, 15:52
Razar3dДата: Воскресенье, 29 Апреля 2012, 16:03 | Сообщение # 4
был не раз
Сейчас нет на сайте
Quote (TimKruz)
Какой игры? Просто если хочешь сделать лаунчер для чего-то типа GTA IV - Pascal тебе не поможет, бери сразу Delphi или Lazarus. Я уж молчу о том, что чтобы запустить чужую (вероятно "крякнутую") игру, обычно нужно не просто запустить процесс с игрой, а ещё и изменить кучу данных внутри её кода/файлов (для отключения её самозащиты или изменения настроек). Ведь просто так запустить - это проще сделать с помощью ярлыка.


Делаю я свою игру на Cube 2: Saurbraten, я посмотрел немного как делать лаунчер на ютубе. Сделал но проблема в том до этого я запускал игру через BAT файл, и там было к exe написано -r. А без этого игра не работает что делать?
TimKruzДата: Воскресенье, 29 Апреля 2012, 16:15 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote (Razar3d)
А без этого игра не работает что делать?

Там, где "параметры запуска" - укажи '-r'. Или в WinExec команда будет выглядеть как 'диск://.../файл.exe -r'. Ну и так далее. Поэкспериментируй.


Razar3dДата: Воскресенье, 29 Апреля 2012, 17:13 | Сообщение # 6
был не раз
Сейчас нет на сайте
Quote (TimKruz)
Там, где "параметры запуска" - укажи '-r'. Или в WinExec команда будет выглядеть как 'диск://.../файл.exe -r'. Ну и так далее. Поэкспериментируй.


Вот так все это выглядит в Launcher пробывал не помогла через бат все нормально.


Сообщение отредактировал Razar3d - Среда, 02 Мая 2012, 21:03
JSentДата: Среда, 02 Мая 2012, 13:05 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Razar3d, для непросветлённых есть программы для создания лаунчеров.

Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
Razar3dДата: Среда, 02 Мая 2012, 19:11 | Сообщение # 8
был не раз
Сейчас нет на сайте
Quote (JSent)
для непросветлённых есть программы для создания лаунчеров.

О великий скажи мне какая!
reyzorДата: Среда, 02 Мая 2012, 19:47 | Сообщение # 9
Проггер в законе
Сейчас нет на сайте
Quote (Razar3d)
О великий скажи мне какая!

Quick Batch File Compiler

И под спойлер загони изображение.


Юзаю Unity3d +C#
Мой твиттер
Помог - ставь +, Ответил на вопрос - ставь +.
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Pascal Лаунчер (Подскажите как написать на Pascal свой лаунчер)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг