Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Делфи (http://forum.oszone.net/showthread.php?t=29365)

Le Hash 25-09-2004 13:11 203573

Как зделать, чтобы прога сворачивалась в трей при запуске или вообще не была видна?

Kroc 26-09-2004 00:54 203574

В обработчике формы OnCreate :

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

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

UZER 01-10-2004 11:35 203575

А зачем в 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 203576

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

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

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

и т.д.

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

Добавлено:

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

JCooper 01-10-2004 22:12 203577

Цитата:

Т.е. его не увидишь даже в Диспетчере задач
Ерунда...ха если бы все было так просто....

Kroc 02-10-2004 02:38 203578

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

UZER 02-10-2004 05:43 203579

Цитата:

в OnCreate затем, чтобы приложение не было видно РЕАЛЬНО.
Его и так не будет видно РЕАЛЬНО ;)
Цитата:

А мой код проверен. Действительно в Диспетчере не видно.
Мой код тоже проверен и в списке приложений диспетчера задач программу не видно, но в списке процессов она отображается. Если тебе удалось спрятать свою программу от списка процессов, не будешь ли ты любезен поделиться кодом, т.к. пока это еще никому не удавалось, имхо

Kroc 02-10-2004 17:27 203580


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




Добавлено:

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

UZER 04-10-2004 11:24 203581

Kroc
Ну если не заподлянки, тогда уж Form1.Hide при запуске :)

Kroc 04-10-2004 19:42 203582

UZER
Цитата:

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

UZER 05-10-2004 00:00 203583

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

Le Hash 17-10-2004 07:13 203584

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

Guest 17-10-2004 10:59 203585

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

Le Hash 20-10-2004 12:08 203586

хорошая мысль...
а что делать с одной датой на один день (см. выше)?


Время: 20:00.

Время: 20:00.
© OSzone.net 2001-