|
#1
|
|||
|
|||
Независимая форма
Подскажите. Без злого умысла пытаюсь сделать программу, которая после запуска оставляет в автозагрузке системы форму. Не пойму, объясните: могу ли я сделать в одном проекте две формы таким образом, чтобы одна форма была как бы основной, которую использует пользователь, а вторая - техническая, которая при запуске первой формы запускается и прячется в автозагрузке, и что самое главное - после запуска системы загружается уже только вторая форма.
Разъясните пожалуйста логику создания таких форм, спасибо. |
#2
|
||||
|
||||
Цитата:
Вот в этом примере если запустить приложение с параметром "autostart", то будет создана вторая форма, иначе первая: Код:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; if (ParamCount > 0) and (ParamStr(1) = 'autostart') then Application.CreateForm(TForm2, Form2) else Application.CreateForm(TForm1, Form1); Application.Run; end. |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
Fakov (28.05.2014)
|
#3
|
|||
|
|||
А где этот параметр указывать в программе?
Еще какие-то варианты есть? Вообще может можно делать хайд формы если программа запущена не пользователем, а через автозапуск??? |
#4
|
||||
|
||||
Цитата:
Цитата:
p.s. Кстати тот вариант, что я предложил, это сокращённая версия первоначального варианта, я его сократил прямо в редакторе сообщений перед отправкой на форум не проверив его на работоспособность и он оказался неработоспособным - Delphi не всегда адекватно реагирует на правки в dpr-файле. Вот первоначальная, рабочая версия: Код:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; if (ParamCount > 0) and (ParamStr(1) = 'autostart') then begin Application.CreateForm(TForm2, Form2); end else begin Application.CreateForm(TForm1, Form1); end; Application.Run; end. |
#5
|
|||
|
|||
то есть я правильно понимаю, что нельзя сделать "дроп"-форму от приложения, которая была бы как самостоятельная программа? Чтобы сделать скрытое приложение, необходимо делать непосредственно новую application?
Если так, тогда второй вопрос - при запуске приложения, как сделать, чтобы скачивался необходимый exe и запускался? |
#6
|
||||
|
||||
Цитата:
Цитата:
И что значит скрытое? Не видимое на экране что-ли? Для этого не нужно отдельного приложения - достаточно вызвать метод Hide у формы и она скроется. Цитата:
А скачивать откуда? С интернета что-ли? Можешь использовать для этого стандартные компоненты с вкладки "Indy Clients" (компоненты IdHTTP, IdFTP и прочие). Или вот мне ещё нравиться качать с помощью WinINet, или можно ещё через WinHTTP. |
#7
|
||||
|
||||
Что-то мне вопросы автора на этом и другом форумах напоминают подготовку к написанию трояна или какой другой не слишком полезной программы.
Не стоит путать форумы с богадельнями. © Bargest |
#8
|
|||
|
|||
Цитата:
|
#9
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |