![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запустить программу в свернутом в трей виде (невидимо)? [D5, Win95/98, WinME, Win2k, WinXP]
lipskiy © (2003-02-02 20:22:00)Использую TRXTrayIcon. Когда программа запущена, то все работает верно - Hide - гашу окно, Show - показываю. Но никак не получается запустить программу в состоянии "свернутости" в трей, то есть чтоб окно не было видно ни на рабочем столе ни на панели задач. Окно всегда отображается.
Строчка ShowWindow(Application.Handle, SW_HIDE); не помогает.
Как запустить программу так, чтоб только иконка в трее и светилась, а больше чтоб ничего не было видно?
lipskiy (2003-02-04 20:33:00) [1]Романов Р.В. © (02.02.03 21:09)
keymaster © (02.02.03 21:42)
Юрий Зотов © (03.02.03 00:29)
Вы совершенно правы! Спасибо!
Юрий Зотов (2003-02-03 00:29:00) [2]Красивый код. Но он станет еще красивее, если его полностью выкинуть. А вместо всего этого вставить в OnCreate одну-единственную строку. Ту самую, о которой говорил Романов Р.В. © (02.02.03 21:09).
И будет так же работать.
Sorry...
lipskiy (2003-02-02 21:51:00) [3]Вопрос решен. Спасибо VID.
Кому интересно, вот код.
Procedure TForm1.HideMainForm;
VAR WNHND:INTEGER;
begin
Application.ShowMainForm := false;
ShowWindow(Application.Handle, SW_HIDE);
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
end;
procedure Form1.FormCreate(...);
begin
hidemainform;
end;
keymaster (2003-02-02 21:42:00) [4]
Application.ShowMainForm := False;
Можно написать это в самом DPR,
передApplication.run;
Романов Р.В. (2003-02-02 21:09:00) [5]В OnCreate главной формы
Application.ShowMainForm := False;
lipskiy (2003-02-02 21:05:00) [6]Может как то влиять, что я под XP?
mrcat (2003-02-02 20:44:00) [7]х.з. ничего не светится...
lipskiy (2003-02-02 20:39:00) [8]Делал я по всякому - на ОнАтивэйт тоже. Либо кнопка на панели задач светится, либо окно, но все вместе не погасить! Экспериментирую на пустой форме - так что ничто мешать не может. Не выходит!
lipskiy (2003-02-02 20:34:00) [9]Это я пробовал - окно свернуто, но зажигается кнопка на панели задач, и ее никак не погасить при запуске :(
mrcat (2003-02-02 20:32:00) [10]ну, если очень хочется, ShowWindow(Application.Handle, SW_HIDE), так делайте - OnActivate;
Eugene1501 (2003-02-02 20:27:00) [11]Попробуй у главной формы WindowState сделать равным Minimized.