Попал в руки самописный компиллятор PHP:
Решил его переделать в конвертор dos программ, в программы для windows.
В результате получил не большую утилиту, но не смог изменить текст на окнах.
Результат:
ctv писал(а):Попал в руки самописный компиллятор PHP:
EXE-P.zip
KPG писал(а):P.S. Нет большого смысла упаковывать DosBox в файл вместе с программой для запуска Dos программ
shchtema писал(а):Будет на Old-DOS?
ctv писал(а):Я тут от скуки dosbox доработал
Если кому интересно
uav писал(а):Что-то такое сильно сомнительное.
На XP выдаёт кучу Exception (No disk).
На 7-ке что-то пытается, но после себя оставляет кучу запущенных процессов CMD и CONHOST.
И зачем расширение COM, если это по факту EXE?
uav писал(а):Если кому интересно
Что-то такое сильно сомнительное.
На XP выдаёт кучу Exception (No disk).
На 7-ке что-то пытается, но после себя оставляет кучу запущенных процессов CMD и CONHOST.
И зачем расширение COM, если это по факту EXE?
Vladislav писал(а):uav писал(а):Что-то такое сильно сомнительное.
На XP выдаёт кучу Exception (No disk).
На 7-ке что-то пытается, но после себя оставляет кучу запущенных процессов CMD и CONHOST.
И зачем расширение COM, если это по факту EXE?
Софт CTV он такой...
// RPTEC.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL,"Russian");
system("title SementsulWeb");
string argv_str = argv[1];
string argv_strw = argv[2];
string argv_strx = argv[3];
string base = argv_str.substr(0, argv_str.find_last_of("\\"));
string basew = argv_strw.substr(0, argv_strw.find_last_of("\\"));
string basex = argv_strx.substr(0, argv_strx.find_last_of("\\"));
ofstream fout("temp.bat");
fout << "if exist "<< base<<"\\main.php" <<" del /q "<< base<<"\\main.php" << endl;
fout << "type " << argv[1] <<" >>"<< base<<"\\main.php" << endl;
fout << "type %~dp0body.arc >"<< "temp.zip" << endl;
fout << "if not exist %SystemDrive%\\tempw\\ md %SystemDrive%\\tempw\\" << endl;
fout << "if exist %SystemDrive%\\tempw\\content\\ rmdir /s /q %SystemDrive%\\tempw\\content" << endl;
fout << "if not exist %SystemDrive%\\tempw\\content\\ md %SystemDrive%\\tempw\\content\\" << endl;
fout << "xcopy /s "<< base<<" %SystemDrive%\\tempw\\content" << endl;
fout << "if exist %SystemDrive%\\tempw\\res\\ rmdir /s /q %SystemDrive%\\tempw\\res" << endl;
fout << "if not exist %SystemDrive%\\tempw\\res\\ md %SystemDrive%\\tempw\\res\\" << endl;
fout << "type "<< argv[2]<<" >> %SystemDrive%\\tempw\\res\\icon.png" << endl;
fout << "%~dp07z a %~dp0temp.zip %SystemDrive%\\tempw\\*" << endl;
fout << "if exist temp.dll del temp.dll /q" << endl;
fout << "type %~dp0sfx.sys >> temp.dll" << endl;
fout << "type %~dp0temp.zip >> temp.dll" << endl;
fout << "%~dp0upx.exe %~dp0temp.dll" << endl;
fout << "%~dp0gsar -s""PK"" -r""ZEROZIP"" -f %~dp0temp.dll %~dp0data.dll" << endl;
fout << "if exist "<< basex<<"\\data.dll" <<" del /q "<< basex<<"\\data.dll" << endl;
fout << "type %~dp0data.dll" <<" >>"<< basex<<"\\data.dll" << endl;
fout << "if exist "<< basex<<"\\gsar.exe" <<" del /q "<< basex<<"\\gsar.exe" << endl;
fout << "type %~dp0gsar.exe" <<" >>"<< basex<<"\\gsar.exe" << endl;
fout << "if exist "<< argv[3] <<" del /q "<< argv[3] << endl;
fout << "type %~dp0Run.exe" <<" >>"<< argv[3] << endl;
fout.close();
system("temp.bat");
cout << "Удаление временых файлов" << endl;
system("del /q temp.zip");
system("del /q temp.dll");
system("del /q temp.bat");
system("del /q data.dll");
return 0;
}
ctv писал(а):Я уже чучуть научился писать на C++, он оказывается намного легче чем C#.
Ты же говори что на bat'никах не пишут .
Vladislav писал(а):ctv писал(а):Я уже чучуть научился писать на C++, он оказывается намного легче чем C#.
Ты же говори что на bat'никах не пишут .
Сэр, разрешите запульнуть в вас... массой цвета грязи, говоря мягче.
Переплюнуть самого Бабушкина... надо уметь...
Тот хоть тупо на BATниках писал. А тут, черт возьми, BatC++ какой-то...
Ни шиша же ты, голубчик, не научился даже элементарно писать на плюсах. Это же всего то немного скопипасченного кода (форматирование поехало в разные стороны), да все тот же BAT, ха-ха-ха
Но такой изысканной перегонки из BAT в прогу на C++ я действительно не видел, снимаю шляпу
Итак... 200 рублей за лицензию на эту пакость, именуeмую конвертером из PHP в EXE. Не стоит и ломанного гроша, на самом деле...
CONVERTOR (орф. сохр.) этот упихивает содержимое указанной папочки в архив с готовой сборкой из node-webkit и PHP сервера.
Прифигачивает к архиву SFX модуль, давит UPXом, и махинирует GSARом, заменяя все PK в файле на ZEROZIP (наверное, чтобы в архиваторе не открывался, хотя это наивная и глупая защита...).
Выходит откровенно жирный EXEшник (47MB).
При запуске "лаунчер" демахинирует действия GSARа, запускает SFX архив, тот распаковывается в TEMP, запускаются PHP сервер и node-webkit.
После закрытия последнего прибивается PHP сервер, и производится очистка временной папки (хреновая, половину не убирает, ибо пытается стереть файлы, которые еще не перестали использоваться, да и вообще, нахрена ты сразу весь TEMP удалить пытаешься, е мое).
Короче идея шлак и реализация (идеи) тоже шлак
Ну и если что, на классическое "сделай лучше" у меня ответ есть заранее.
Собсно, переделанная мной реализация (сама идея все тот же шлак, но чисто как пример, как ХОТЯ БЫ нужно уметь делать) на C (С++ для такой мелочи ИМХО нинуЖон).
GUI тот же AutoIt-овский с изменениями (можно было и намного лучше, но я AutoIt не знаю и особо не парился, оно все равно того не стоит).
На все ушел денек свободного времени, которого некуда было деть. Исходники прилагаются (в коммерческих целях без разрешения использовать не дозволяю ).
Как говорится, "Учись, студент!"
https://disk.yandex.ru/d/zWfB_PVa5HZ5qg
Ну и полученный им пример.
https://disk.yandex.ru/d/YKU3kI426jkF_g
ctv писал(а):PHP TO EXE - это очередной провальный, коммерческий проект. Если MS-DOS FOR WINDOWS приносит около 3-4тр в месяц и быстро набрал аудиторию, закрепился в поиске, то PHP TO EXE вообще не продается. Я пытаюсь повторить опыт с MS-DOS FOR WINDOWS, который сам оплатил себе доменное имя, но не выходит.
Vladislav писал(а):
Да неужели, этот "Доместос" так уж прям продается???
ctv писал(а):Вот отрывок отчёта продаж: https://disk.yandex.ru/i/WUiS28sDEhNHEA
Вернуться в Программы для Windows
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4