syslink.nsh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. !ifndef NULLSOFT_NX_SYSLINK_NSIS_HEADER
  2. !define NULLSOFT_NX_SYSLINK_NSIS_HEADER
  3. !define WC_LINK "SysLink"
  4. !define INVALID_LINK_INDEX -1
  5. !define MAX_LINKID_TEXT 48
  6. !define L_MAX_URL_LENGTH 2083
  7. !define LWS_TRANSPARENT 0x0001
  8. !define LWS_IGNORERETURN 0x0002
  9. !define LWS_NOPREFIX 0x0004
  10. !define LWS_USEVISUALSTYLE 0x0008
  11. !define LWS_USECUSTOMTEXT 0x0010
  12. !define LWS_RIGHT 0x0020
  13. !define LIF_ITEMINDEX 0x00000001
  14. !define LIF_STATE 0x00000002
  15. !define LIF_ITEMID 0x00000004
  16. !define LIF_URL 0x00000008
  17. !define LIS_FOCUSED 0x00000001
  18. !define LIS_ENABLED 0x00000002
  19. !define LIS_VISITED 0x00000004
  20. !define LIS_HOTTRACK 0x00000008
  21. !define LIS_DEFAULTCOLORS 0x00000010
  22. ;typedef struct tagLITEM {
  23. ; UINT mask;
  24. ; int iLink;
  25. ; UINT state;
  26. ; UINT stateMask;
  27. ; WCHAR szID[MAX_LINKID_TEXT];
  28. ; WCHAR szUrl[L_MAX_URL_LENGTH];
  29. ;} LITEM, *PLITEM;
  30. !define stLITEM '(i, i, i, i, &w${MAX_LINKID_TEXT}, &w${L_MAX_URL_LENGTH}) i'
  31. ;typedef struct tagNMLINK
  32. ;{
  33. ; NMHDR hdr;
  34. ; LITEM item ;
  35. ;} NMLINK, *PNMLINK;
  36. !define stNMLINK '(i, i, i, i, i, i, i, &w${MAX_LINKID_TEXT}, &w${L_MAX_URL_LENGTH}) i'
  37. ; SysLink notifications
  38. ; NM_CLICK ;wParam: control ID, lParam: PNMLINK, ret: ignored.
  39. ; LinkWindow messages
  40. !define /math LM_HITTEST ${WM_USER} + 0x300 ;wParam: n/a, lparam: PLHITTESTINFO, ret: BOOL
  41. !define /math LM_GETIDEALHEIGHT ${WM_USER} + 0x301 ;wParam: cxMaxWidth, lparam: n/a, ret: cy
  42. !define /math LM_SETITEM ${WM_USER} + 0x302 ;wParam: n/a, lparam: LITEM*, ret: BOOL
  43. !define /math LM_GETITEM ${WM_USER} + 0x303 ;wParam: n/a, lparam: LITEM*, ret: BOOL
  44. !define LM_GETIDEALSIZE ${LM_GETIDEALHEIGHT} ;wParam: cxMaxWidth, lparam: SIZE*, ret: cy
  45. !endif ; defined(NULLSOFT_NX_SYSLINK_NSIS_HEADER)