Код | var ht: THandle; nid, oldnid, oldnid2: TNotifyIconData; begin oldnid.hIcon := nid.hIcon; ht:= FindWindow(nil,'сапер'); if ht <> 0 then //если окно найдено то остальное выполняется begin i.Handle := LoadIcon(hInstance,'CARRY');//первая иконка oldnid2.hIcon := I.Handle; if oldnid.HIcon <> oldnid2.HIcon then begin //ShowWindow(ht, sw_hide); with nid do begin Wnd := Form1.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; hIcon := I.Handle; end;
Shell_NotifyIcon(NIM_MODIFY,@nid); end;
end else//если не найдено окно begin I:=TIcon.Create; I.Handle := LoadIcon(hInstance,'CARRYNO');//вторая иконка with nid do begin Wnd := Form1.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; hIcon := I.Handle; end; Shell_NotifyIcon(NIM_MODIFY,@nid); end; end;
|
Вот такой вот участок кода, иконка в трее становится не доступной и ввместо ToolTip кракозябры... если убрать участок кода with nid do ............... end; то иконка доступна но естественно не меняется... |