[API]
Public DestroyIcon
LoadImageA
GetDC
GetDeviceCaps
ReleaseDC
GetVersion

[DIRECTIVE]
LoadResEx_IconStuff

[DEFINE]
Public Enum LoadResEx_IconOS
  LoadResEx_IconOS_Win95_16Color '16bit, 95NT+
  LoadResEx_IconOS_Win95 'truecolor, 95NT+
  LoadResEx_IconOS_WinNT
  LoadResEx_IconOS_Win98
  LoadResEx_IconOS_Win2000ME_16Color
  LoadResEx_IconOS_Win2000ME
  LoadResEx_IconOS_WinXP
  LoadResEx_IconOS_WinVista
  End Enum

Private LoadResex_Caps_TrayIcon As Long
Private LoadResex_Caps_WinDIcon As Long
Private LoadResEx_IsHighColor As Boolean

[CODE]
Private Function IconIDIsUseable(ByVal xCurIndex As Long, ByVal xOrigIndex As Long) As Boolean
  IconIDIsUseable = (IconIDIs16bit(xCurIndex) Or Not IconIDIs16bit(xOrigIndex))
  End Function

Private Function IconIDIs16bit(ByVal xIndex As Long) As Boolean
  Select Case xIndex
    Case LoadResEx_IconOS_Win95_16Color, LoadResEx_IconOS_Win2000ME_16Color ', LoadResEx_IconOS_WinVista_16Color
      IconIDIs16bit = True
    End Select
  End Function
