![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как убрать иконку из системного трея
DSP © (2003-06-20 21:36:00)kol-прога в трее закончила(или ее закончили) работу,а иконка осталась
(убирается если ткнуть в нее мышей).Как убрать иконку программно.
Интенсивная работа коротких прог -и иконок в трее немеряно-нехорошо.
kol170 delphi5,7 win98
dsp (2003-07-12 13:37:00) [1]получилось так
procedure TForm1.Button1Click(Sender: PObj);
var
hWnd : THandle;
R : TRect;
I : Integer;
begin
hWnd := FindWindow( 'Shell_TrayWnd', NIL );
hWnd := FindWindowEx( hWnd, 0, 'TrayNotifyWnd', NIL );
GetWindowRect( hWnd, R );
for I := 1 to R.Right - R.Left do
SendMessage( hWnd, WM_MOUSEMOVE, 0, I + (R.Bottom - R.Top) div 2 shl 16 );
end;
Vladimir Kladov (2003-06-23 21:04:00) [2]Чужой программы? Если сделаете, скажите, как. Мне вот интересена несколько обратная задача: некоторые довольно умные программы не умеет восстанавливать свою иконку в трее при падении проводника.
DSP (2003-06-23 08:50:00) [3]TrayIcon.Activate := False; -это не подходит.
Надо из другого процесса(программы).На этот момент мне известно только какая программа оставила иконку в трее.Согласен что некорректно,но таковы условия.Все с моими сырцами,но не хотелось бы переделывать,надо побыстрее,тем более что прога, оставляющая иконку иногда завершает работу с ран тайм еррор и этот дефект
подчищает другая прога.
Заранее благодарен.
Vladimir Kladov (2003-06-21 14:34:00) [4]Active. Но если остается, значит, на выходе происходит что-то вроде access violation.
BaRToV (2003-06-20 22:20:00) [5]TrayIcon.Activate := False;