Показать полную графическую версию : Делфи
Как зделать, чтобы прога сворачивалась в трей при запуске или вообще не была видна?
В обработчике формы OnCreate :
...
Visible := false;
Application.ShowMainForm := false;
...
Под Win2000 или ХР приложение не будет видно вообще, так что осторожнее при запуске без отладчика!
А зачем в OnCreate?
Le Hash
Project --> View source...begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := False;
Application.Run;
end.
А если формы вообще не нужны, то вот так: program Project1;
begin
// Код здесь...
end.
Удачи в написании западлянок :)
А в OnCreate затем, чтобы приложение не было видно РЕАЛЬНО.
Т.е. его не увидишь даже в Диспетчере задач. Поэтому и говорю про осторожность.
Но ведь ты же сам говоришь про заподлянки :)
Кстати, есть ещё способ:
Program Project1;
uses
Forms, Windows,
....
begin
Application.Initialize;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
...
и т.д.
----
Млин, чтой-то смайлы не вставляются, и цитата не работает :(
Добавлено:
Странно... в онлайне смайлы появились...
А ведь не было. Чё за ....
Т.е. его не увидишь даже в Диспетчере задач
Ерунда...ха если бы все было так просто....
А в чём проблема? Выявить можно любой процесс, но ведь не каждый знает как. Так ведь и снежного человека не нашли, потому что он на фиг никому не нужен.
А мой код проверен. Действительно в Диспетчере не видно. Правда, не уверен насчёт W98. Но в ХР точно...
в OnCreate затем, чтобы приложение не было видно РЕАЛЬНО.Его и так не будет видно РЕАЛЬНО ;)
А мой код проверен. Действительно в Диспетчере не видно. Мой код тоже проверен и в списке приложений диспетчера задач программу не видно, но в списке процессов она отображается. Если тебе удалось спрятать свою программу от списка процессов, не будешь ли ты любезен поделиться кодом, т.к. пока это еще никому не удавалось, имхо
А я и не говорил, что твой код не работает. Вы посмотрите, что LeHash хочет-то. Он может даже не заподлянку пишет, а что-то полезное... :)
И в списке процессов видны оба варианта. Так и должно быть. Только если я назову свою программку как-нить systm.exe то не каждый сможет её вычислить, и понять, что это за гад.
Вот в последнем ][aker N9(69) есть интересная статья, как использовать потоки *в NTFS. *Можно прилепить свой поток к какому-нибудь ехешнику, и вычислить его обычными методами сложновато. Посмотри, может пригодится.
Добавлено:
Да почему всё-таки цитата не работает???!!!
Kroc
Ну если не заподлянки, тогда уж Form1.Hide при запуске :)
UZER
Form1.Hide при запуске
Всё равно форму нужно сначала создать. И чем тебе твой или мой варианты не устраивают? К тому же при скрытии формы, она также исчезает из Диспетчера, отображается только процесс.
Кстати, недавно увидел классную вещицу - компоненты trayicon
Можно вытворять в трее что угодно, вплоть до анимации и бегущей строки.:up:
Kroc
Да все меня устраивает :)
А trayicon :up:, я давно с ним знаком...
Пасиб за помощь, а я ведь и правда почти не западлянки клепаю :о)
Делаю проги, которые будут записывать дату и время включения и выключения компа.
С включением проблем нет: прога в автозагрузке запустилась, данные в файлик записала и выключилась(причем весь лог в одном файле) .
А вот с выключением траблы: надо чтобы она висела в памяти и каждую минуту перезаписывала в файле дату (и на каждый день по ТХТ-файлу :о( ).
И получается, что за один день запишется только одно выключение компа, но включения запишутся все.
Вот такая вот загагулина.
З.Ы. может посоветуете ченить насчет оптимизации второй проги (для выключения)
Обрабатывай событие OnClose... Ведь когда комп выключается прога тоже вырубается, так?..
хорошая мысль...
а что делать с одной датой на один день (см. выше)?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.