I am not familiar with delphi syntax, please refer to C:) #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF)) #define LOWORD( l) ((WORD) (l))