|
Вопрос # 852/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
У меня к вам такой вопрос? Есть два проекта:
К первому проекту есть доступ всем.
Второй проект с паролем, тоесть доступ
ограничен, теперь вопрос? Как мне объеденить
эти два проекта, только первым загружатся должен
проект у которого есть доступ всем, а второй
проект, ну пусть будет привязан к кнопке,
открывался бы при нажатии на кнопку, запрашивая
пароль, и если пароль верный открывался, а первый закрывался.
И если можно ещё:
Какой файл запускает exe файлы в Windows, я пробовал
Shell1.Open(\'C:\Program Files\Beetle
Bomp\BeetleBomp.exe\');
но он запускает не все игры. Есть игры взломаные
Патчем trial-защиту в exe-шнике, их он не запускает, но Windows его запускает, как этот файл вставить в Delphi чтобы с моей программы запускались все игры. Как быть?
Заранее благодарен.
 |
Вопрос задал: Толков Геннадий Викторович (статус: Посетитель)
Вопрос отправлен: 14 августа 2007, 01:22
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Цитата:
Как мне объеденить
эти два проекта, только первым загружатся должен
проект у которого есть доступ всем, а второй
проект, ну пусть будет привязан к кнопке,
открывался бы при нажатии на кнопку, запрашивая
пароль, и если пароль верный открывался, а первый закрывался.
В первом приложении на обработчик OnClick кнопки запуска второго приложения пишем, например:
ShellExecute(Handle,
\'open\',
\'Имя_EXE-файла_2й_программы.exe\',
IntToStr(Integer(Handle)), // Передаём в качестве параметра хэндл формы 1-го приложения 2-му приложению
nil,
SW_ShowNormal);
Запустится 2-я программа и спросит пароль. После ввода верного пароля 2-я программа посылает 1-й программе (точнее, окну, хэндл которого - это StrToInt(ParamStr(1))) сообщение, например, WM_USER + 1:
PostMessage(THandle(StrToInt(ParamStr(1))), WM_USER + 1, 0, 0);
На форму 1-го приложения положи компонент AppEvents, а в его обработчик события OnMessage напиши отлов сообщения WM_USER + 1 (его, кстати, можно и без компонента написать, не важно):
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = WM_USER + 1
then Application.Terminate(); // Завершение 1-го приложения.
end;
Цитата:
Какой файл запускает exe файлы в Windows, я пробовал
Запускай ЕХЕшники функциями WInExec(), ShellExecute() или CreateProcess().
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 14 августа 2007, 08:38
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 14 августа 2007, 11:21; участников в обсуждении: 1.
|
Вадим К (статус: Академик), 14 августа 2007, 11:21 [#1]:
Толков Геннадий Викторович: Аккуратно задавайте вопрос. Помните, что обсуждение взломов не разрешено на данном сайте. А ваш вопрос потенциально опасен
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|