Wieso, er kann es doch mit Compilerschalter realisieren :
Delphi-Quellcode:
{$DEFINE VISTA}
{ ... }
TNewNotifyIconData = record
cbSize : DWORD;
Wnd : HWND;
uID : UINT;
uFlags : UINT;
uCallbackMessage: UINT;
hIcon : HICON;
szTip : array [0..max_Tip] of Char;
dwState : DWORD; //Version 5.0
dwStateMask : DWORD; //Version 5.0
szInfo : array [0..max_Info] of Char; //Version 5.0
DUMMYUNIONNAME : TDUMMYUNIONNAME;
szInfoTitle : array [0..max_Title] of Char; //Version 5.0
dwInfoFlags : DWORD; //Version 5.0
{$IFDEF VISTA}
guidItem : TGUID;
hBalloonIcon : HICON;
{$ENDIF}
end;
So kann man das Programm jetzt für VISTA oder höher kompilieren. Wenn man es für XP kompilieren will, so entfernt man einfach einfach die DEFINE-Zeile.