Einzelnen Beitrag anzeigen

RaSoWa1

Registriert seit: 1. Jun 2006
Ort: Halle/Saale
140 Beiträge
 
Delphi 2010 Professional
 
#1

TaskIcon wird unter Vista nicht gelöscht.

  Alt 25. Mai 2009, 10:29
Hallo,

mit folgendem Code generiere und entferne ich in der Taskbar ein Icon:
Delphi-Quellcode:
procedure TaskBarAddIcon(Hnd: HWnd; CallbackMsg: UINT; Icon: TIcon; Cap: string);
var NIData: TNotifyIconData;
begin
  Fillchar(NIData,Sizeof(NIData),0);
  NIData.cbSize := Sizeof(NIData);
  NIData.Wnd := Hnd;
  NIData.uID := 1;
  NIData.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP;
  NIData.uCallbackMessage := CallbackMsg;
  NIData.hIcon := Icon.Handle;
  strcopy(NIData.szTip, PChar(Cap));
  Shell_NotifyIcon(NIM_ADD, @NIData);
end;

procedure TaskBarFreeIcon(Hnd: HWnd);
var NIData: TNotifyIconData;
begin
  FillChar(NIData,Sizeof(NIData),0);
  NIData.cbSize := Sizeof(NotifyIconData);
  NIData.Wnd := Hnd;
  NIData.uID := 1;
  Shell_NotifyIcon(NIM_DELETE, @NIData);
end;
Problem:
Nach der Freigabe wird das Icon in der Taskbar nicht gelöscht. Es verschwindet erst wenn ich mit der Maus darüber fahre. Unter XP kannte ich dieses Verhalten nicht.
Liegt es am Vista?
Wie kann ich Vista dazu bringen die Icon zu aktualisieren?

Gruß Klaus
Klaus
  Mit Zitat antworten Zitat