Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Убираем окно с глаз долой


Автор: MacTep 27.10.2004, 17:43
Подскажите, пожалуйста, как сделать так, чтобы после того, как иконка программы появилась в трее, само окно программы в панели управления скрыть. Т.е. нужно не только окно с экрана скрывать (это я делаю так ShowWindow(Handle,SW_HIDE)), но и из панели зада все убрать. Информация о программе должна быть видна только из значка в трее, а больше на экране ничего похожего на мою программу не долюно быть. Как это провернуть? Заранее спасибо!

Автор: <Spawn> 27.10.2004, 17:57
Ты забыл еще:
Код
ShowWindow(Application.Handle, SW_HIDE);

Автор: MacTep 27.10.2004, 20:11
<Spawn>, как же это я забыл? Я ничего не забыл, прочитай внимательно мое сообщение. Там даже строчка такая есть. :) А вообще пришла в голову мысля, что приложение должно быть резидентным, т.е. оно не должно быть запущенным в какой-то определенный момент, оно должно быть всегда, но только в виде иконки в трее. Как это сделать?

Автор: <Spawn> 27.10.2004, 20:20
MacTep Если ты не можешь нормально прочитать, что тебе пишут, то я помочь ни чем не могу. Пойми, что Application.Handle и Form.Handle это разные вещи. А если быть более точным разные окна.

То есть, если дальше разжевывать, то код должен быть таким:
Код
 ShowWindow(Handle, SW_HIDE);
 ShowWindow(Application.Handle, SW_HIDE);



PS. То что Application есть другое окно тебе поможет убедиться вот этот код:

Код
 ShowWindow(Application.Handle, SW_SHOW);
 MoveWindow(Application.Handle, 0, 0, 300, 300, True);

Автор: MacTep 27.10.2004, 21:43
А вот теперь благодарю. А такое маленькое пояснение надо быдо сразу дать, а то в такой не существенной вещи как раз и могла быть неразбериха. Спасибо за ответ! :)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)