Войти

Показать полную графическую версию : Делфи


Le Hash
25-09-2004, 13:11
Как зделать, чтобы прога сворачивалась в трей при запуске или вообще не была видна?

Kroc
26-09-2004, 00:54
В обработчике формы OnCreate :

...
Visible := false;
Application.ShowMainForm := false;
...

Под Win2000 или ХР приложение не будет видно вообще, так что осторожнее при запуске без отладчика!

UZER
01-10-2004, 11:35
А зачем в OnCreate?
Le Hash
Project --> View source...begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.ShowMainForm := False;
 Application.Run;
end.
А если формы вообще не нужны, то вот так: program Project1;

begin
 // Код здесь...
end.
Удачи в написании западлянок :)

Kroc
01-10-2004, 19:30
А в OnCreate затем, чтобы приложение не было видно РЕАЛЬНО.
Т.е. его не увидишь даже в Диспетчере задач. Поэтому и говорю про осторожность.
Но ведь ты же сам говоришь про заподлянки :)
Кстати, есть ещё способ:

Program Project1;
uses
 Forms, Windows,
....

begin
 Application.Initialize;
 SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
...

и т.д.

----
Млин, чтой-то смайлы не вставляются, и цитата не работает :(

Добавлено:

Странно... в онлайне смайлы появились...
А ведь не было. Чё за ....

JCooper
01-10-2004, 22:12
Т.е. его не увидишь даже в Диспетчере задач
Ерунда...ха если бы все было так просто....

Kroc
02-10-2004, 02:38
А в чём проблема? Выявить можно любой процесс, но ведь не каждый знает как. Так ведь и снежного человека не нашли, потому что он на фиг никому не нужен.
А мой код проверен. Действительно в Диспетчере не видно. Правда, не уверен насчёт W98. Но в ХР точно...

UZER
02-10-2004, 05:43
в OnCreate затем, чтобы приложение не было видно РЕАЛЬНО.Его и так не будет видно РЕАЛЬНО ;)
А мой код проверен. Действительно в Диспетчере не видно. Мой код тоже проверен и в списке приложений диспетчера задач программу не видно, но в списке процессов она отображается. Если тебе удалось спрятать свою программу от списка процессов, не будешь ли ты любезен поделиться кодом, т.к. пока это еще никому не удавалось, имхо

Kroc
02-10-2004, 17:27
А я и не говорил, что твой код не работает. Вы посмотрите, что LeHash хочет-то. Он может даже не заподлянку пишет, а что-то полезное... :)
И в списке процессов видны оба варианта. Так и должно быть. Только если я назову свою программку как-нить systm.exe то не каждый сможет её вычислить, и понять, что это за гад.
Вот в последнем ][aker N9(69) есть интересная статья, как использовать потоки *в NTFS. *Можно прилепить свой поток к какому-нибудь ехешнику, и вычислить его обычными методами сложновато.  Посмотри, может пригодится.




Добавлено:

Да почему всё-таки цитата не работает???!!!

UZER
04-10-2004, 11:24
Kroc
Ну если не заподлянки, тогда уж Form1.Hide при запуске :)

Kroc
04-10-2004, 19:42
UZER
Form1.Hide при запуске
Всё равно форму нужно сначала создать. И чем тебе твой или мой варианты не устраивают? К тому же при скрытии формы, она также исчезает из Диспетчера, отображается только процесс.
Кстати, недавно увидел классную вещицу - компоненты trayicon
Можно вытворять в трее что угодно, вплоть до анимации и бегущей строки.:up:  

UZER
05-10-2004, 00:00
Kroc
Да все меня устраивает :)
А trayicon :up:, я давно с ним знаком...

Le Hash
17-10-2004, 07:13
Пасиб за помощь, а я ведь и правда почти не западлянки клепаю :о)
Делаю проги, которые будут записывать дату и время включения и выключения компа.
С включением проблем нет: прога в автозагрузке запустилась, данные в файлик записала и выключилась(причем весь лог в одном файле) .
А вот с выключением траблы: надо чтобы она висела в памяти и каждую минуту перезаписывала в файле дату (и на каждый день по ТХТ-файлу :о(  ).
И получается, что за один день запишется только одно выключение компа, но включения запишутся все.
Вот такая вот загагулина.
З.Ы. может посоветуете ченить насчет оптимизации второй проги (для выключения)

Guest
17-10-2004, 10:59
Обрабатывай событие OnClose... Ведь когда комп выключается прога тоже вырубается, так?..

Le Hash
20-10-2004, 12:08
хорошая мысль...
а что делать с одной датой на один день (см. выше)?




© OSzone.net 2001-2012