WinDef.nsh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. !ifndef __WIN_WINDEF__INC
  2. !define __WIN_WINDEF__INC
  3. !verbose push
  4. !verbose 3
  5. !ifndef __WIN_NOINC_WINDEF
  6. !define /ifndef MAX_PATH 260
  7. #define NULL 0
  8. !macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b
  9. ${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2}
  10. StrCpy ${_outvar} "${_a}"
  11. goto +2
  12. StrCpy ${_outvar} "${_b}"
  13. !macroend
  14. !ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u
  15. !define min "!insertmacro _Win_MINMAX IntCmp +1 +3 "
  16. !define max "!insertmacro _Win_MINMAX IntCmp +3 +1 "
  17. !define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 "
  18. !define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 "
  19. !endif
  20. !macro _Win_LOBYTE _outvar _in
  21. IntOp ${_outvar} "${_in}" & 0xFF
  22. !macroend
  23. !define LOBYTE "!insertmacro _Win_LOBYTE "
  24. !macro _Win_HIBYTE _outvar _in
  25. IntOp ${_outvar} "${_in}" >> 8
  26. ${LOBYTE} ${_outvar} ${_outvar}
  27. !macroend
  28. !define HIBYTE "!insertmacro _Win_HIBYTE "
  29. !macro _Win_LOWORD _outvar _in
  30. IntOp ${_outvar} "${_in}" & 0xFFFF
  31. !macroend
  32. !define LOWORD "!insertmacro _Win_LOWORD "
  33. !macro _Win_HIWORD _outvar _in
  34. IntOp ${_outvar} "${_in}" >>> 16
  35. !macroend
  36. !define HIWORD "!insertmacro _Win_HIWORD "
  37. !macro _Win_MAKEWORD _outvar _tmpvar _lo _hi
  38. ${LOBYTE} ${_outvar} "${_hi}"
  39. ${LOBYTE} ${_tmpvar} "${_lo}"
  40. IntOp ${_outvar} ${_outvar} << 8
  41. IntOp ${_outvar} ${_outvar} | ${_tmpvar}
  42. !macroend
  43. !define MAKEWORD "!insertmacro _Win_MAKEWORD "
  44. !macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi
  45. ${LOWORD} ${_outvar} "${_wlo}"
  46. IntOp ${_tmpvar} "${_whi}" << 16
  47. IntOp ${_outvar} ${_outvar} | ${_tmpvar}
  48. !macroend
  49. !define MAKELONG "!insertmacro _Win_MAKELONG32 "
  50. !define MAKEWPARAM "${MAKELONG}"
  51. !define MAKELPARAM "${MAKELONG}"
  52. !define MAKELRESULT "${MAKELONG}"
  53. !endif /* __WIN_NOINC_WINDEF */
  54. !verbose pop
  55. !endif /* __WIN_WINDEF__INC */