winamp/Src/installer/shared/scripts/syslink.nsh

55 lines
1.8 KiB
Plaintext

!ifndef NULLSOFT_NX_SYSLINK_NSIS_HEADER
!define NULLSOFT_NX_SYSLINK_NSIS_HEADER
!define WC_LINK "SysLink"
!define INVALID_LINK_INDEX -1
!define MAX_LINKID_TEXT 48
!define L_MAX_URL_LENGTH 2083
!define LWS_TRANSPARENT 0x0001
!define LWS_IGNORERETURN 0x0002
!define LWS_NOPREFIX 0x0004
!define LWS_USEVISUALSTYLE 0x0008
!define LWS_USECUSTOMTEXT 0x0010
!define LWS_RIGHT 0x0020
!define LIF_ITEMINDEX 0x00000001
!define LIF_STATE 0x00000002
!define LIF_ITEMID 0x00000004
!define LIF_URL 0x00000008
!define LIS_FOCUSED 0x00000001
!define LIS_ENABLED 0x00000002
!define LIS_VISITED 0x00000004
!define LIS_HOTTRACK 0x00000008
!define LIS_DEFAULTCOLORS 0x00000010
;typedef struct tagLITEM {
; UINT mask;
; int iLink;
; UINT state;
; UINT stateMask;
; WCHAR szID[MAX_LINKID_TEXT];
; WCHAR szUrl[L_MAX_URL_LENGTH];
;} LITEM, *PLITEM;
!define stLITEM '(i, i, i, i, &w${MAX_LINKID_TEXT}, &w${L_MAX_URL_LENGTH}) i'
;typedef struct tagNMLINK
;{
; NMHDR hdr;
; LITEM item ;
;} NMLINK, *PNMLINK;
!define stNMLINK '(i, i, i, i, i, i, i, &w${MAX_LINKID_TEXT}, &w${L_MAX_URL_LENGTH}) i'
; SysLink notifications
; NM_CLICK ;wParam: control ID, lParam: PNMLINK, ret: ignored.
; LinkWindow messages
!define /math LM_HITTEST ${WM_USER} + 0x300 ;wParam: n/a, lparam: PLHITTESTINFO, ret: BOOL
!define /math LM_GETIDEALHEIGHT ${WM_USER} + 0x301 ;wParam: cxMaxWidth, lparam: n/a, ret: cy
!define /math LM_SETITEM ${WM_USER} + 0x302 ;wParam: n/a, lparam: LITEM*, ret: BOOL
!define /math LM_GETITEM ${WM_USER} + 0x303 ;wParam: n/a, lparam: LITEM*, ret: BOOL
!define LM_GETIDEALSIZE ${LM_GETIDEALHEIGHT} ;wParam: cxMaxWidth, lparam: SIZE*, ret: cy
!endif ; defined(NULLSOFT_NX_SYSLINK_NSIS_HEADER)