diff --git a/Contrib/System/System.nsh b/Contrib/System/System.nsh index 7add36a9..86df4734 100644 --- a/Contrib/System/System.nsh +++ b/Contrib/System/System.nsh @@ -9,6 +9,8 @@ !verbose 3 +!include WinCore.nsh + ; ------------- Functions -------------- ; LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); @@ -223,7 +225,7 @@ !define stSYSTEMTIME '(&i2, &i2, &i2, &i2, &i2, &i2, &i2, &i2) i' ; Maximal windows path -!define MAX_PATH 260 +!define /ifndef MAX_PATH 260 ; typedef struct _WIN32_FIND_DATA { ; DWORD dwFileAttributes; @@ -242,47 +244,7 @@ ; ------------- Constants -------------- ; == Other == -!define INVALID_HANDLE_VALUE -1 - -; == Cursors == - -!define IDC_ARROW 32512 -!define IDC_IBEAM 32513 -!define IDC_WAIT 32514 -!define IDC_CROSS 32515 -!define IDC_UPARROW 32516 -!define IDC_SIZE 32640 -!define IDC_ICON 32641 -!define IDC_SIZENWSE 32642 -!define IDC_SIZENESW 32643 -!define IDC_SIZEWE 32644 -!define IDC_SIZENS 32645 -!define IDC_SIZEALL 32646 -!define IDC_NO 32648 -!define IDC_HAND 32649 -!define IDC_APPSTARTING 32650 -!define IDC_HELP 32651 - -; == Images == - -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2 -!define IMAGE_ENHMETAFILE 3 - -!define LR_DEFAULTCOLOR 0x0000 -!define LR_MONOCHROME 0x0001 -!define LR_COLOR 0x0002 -!define LR_COPYRETURNORG 0x0004 -!define LR_COPYDELETEORG 0x0008 -!define LR_LOADFROMFILE 0x0010 -!define LR_LOADTRANSPARENT 0x0020 -!define LR_DEFAULTSIZE 0x0040 -!define LR_VGACOLOR 0x0080 -!define LR_LOADMAP3DCOLORS 0x1000 -!define LR_CREATEDIBSECTION 0x2000 -!define LR_COPYFROMRESOURCE 0x4000 -!define LR_SHARED 0x8000 +!define /ifndef INVALID_HANDLE_VALUE -1 ; == Sounds == @@ -303,75 +265,65 @@ ; == Windows == -!define WS_OVERLAPPED 0x00000000 -!define WS_POPUP 0x80000000 -!define WS_CHILD 0x40000000 -!define WS_MINIMIZE 0x20000000 -!define WS_VISIBLE 0x10000000 -!define WS_DISABLED 0x08000000 -!define WS_CLIPSIBLINGS 0x04000000 -!define WS_CLIPCHILDREN 0x02000000 -!define WS_MAXIMIZE 0x01000000 -!define WS_CAPTION 0x00C00000 -!define WS_BORDER 0x00800000 -!define WS_DLGFRAME 0x00400000 -!define WS_VSCROLL 0x00200000 -!define WS_HSCROLL 0x00100000 -!define WS_SYSMENU 0x00080000 -!define WS_THICKFRAME 0x00040000 -!define WS_GROUP 0x00020000 -!define WS_TABSTOP 0x00010000 -!define WS_MINIMIZEBOX 0x00020000 -!define WS_MAXIMIZEBOX 0x00010000 -!define WS_TILED ${WS_OVERLAPPED} -!define WS_ICONIC ${WS_MINIMIZE} -!define WS_SIZEBOX ${WS_THICKFRAME} -!define WS_OVERLAPPEDWINDOW 0x00CF0000 -!define WS_TILEDWINDOW ${WS_OVERLAPPEDWINDOW} -!define WS_POPUPWINDOW 0x80880000 -!define WS_CHILDWINDOW ${WS_CHILD} -!define WS_EX_DLGMODALFRAME 0x00000001 -!define WS_EX_NOPARENTNOTIFY 0x00000004 -!define WS_EX_TOPMOST 0x00000008 -!define WS_EX_ACCEPTFILES 0x00000010 -!define WS_EX_TRANSPARENT 0x00000020 -!define WS_EX_MDICHILD 0x00000040 -!define WS_EX_TOOLWINDOW 0x00000080 -!define WS_EX_WINDOWEDGE 0x00000100 -!define WS_EX_CLIENTEDGE 0x00000200 -!define WS_EX_CONTEXTHELP 0x00000400 -!define WS_EX_RIGHT 0x00001000 -!define WS_EX_LEFT 0x00000000 -!define WS_EX_RTLREADING 0x00002000 -!define WS_EX_LTRREADING 0x00000000 -!define WS_EX_LEFTSCROLLBAR 0x00004000 -!define WS_EX_RIGHTSCROLLBAR 0x00000000 -!define WS_EX_CONTROLPARENT 0x00010000 -!define WS_EX_STATICEDGE 0x00020000 -!define WS_EX_APPWINDOW 0x00040000 -!define WS_EX_OVERLAPPEDWINDOW 0x00000300 -!define WS_EX_PALETTEWINDOW 0x00000188 -!define WS_EX_LAYERED 0x00080000 -!define WS_EX_NOINHERITLAYOUT 0x00100000 -!define WS_EX_LAYOUTRTL 0x00400000 -!define WS_EX_COMPOSITED 0x02000000 -!define WS_EX_NOACTIVATE 0x08000000 +!define /ifndef WS_OVERLAPPED 0x00000000 +!define /ifndef WS_POPUP 0x80000000 +!define /ifndef WS_CHILD 0x40000000 +!define /ifndef WS_MINIMIZE 0x20000000 +!define /ifndef WS_VISIBLE 0x10000000 +!define /ifndef WS_DISABLED 0x08000000 +!define /ifndef WS_CLIPSIBLINGS 0x04000000 +!define /ifndef WS_CLIPCHILDREN 0x02000000 +!define /ifndef WS_MAXIMIZE 0x01000000 +!define /ifndef WS_CAPTION 0x00C00000 +!define /ifndef WS_BORDER 0x00800000 +!define /ifndef WS_DLGFRAME 0x00400000 +!define /ifndef WS_VSCROLL 0x00200000 +!define /ifndef WS_HSCROLL 0x00100000 +!define /ifndef WS_SYSMENU 0x00080000 +!define /ifndef WS_THICKFRAME 0x00040000 +!define /ifndef WS_GROUP 0x00020000 +!define /ifndef WS_TABSTOP 0x00010000 +!define /ifndef WS_MINIMIZEBOX 0x00020000 +!define /ifndef WS_MAXIMIZEBOX 0x00010000 +!define /ifndef WS_TILED ${WS_OVERLAPPED} +!define /ifndef WS_ICONIC ${WS_MINIMIZE} +!define /ifndef WS_SIZEBOX ${WS_THICKFRAME} +!define /ifndef WS_OVERLAPPEDWINDOW 0x00CF0000 +!define /ifndef WS_TILEDWINDOW ${WS_OVERLAPPEDWINDOW} +!define /ifndef WS_POPUPWINDOW 0x80880000 +!define /ifndef WS_CHILDWINDOW ${WS_CHILD} +!define /ifndef WS_EX_DLGMODALFRAME 0x00000001 +!define /ifndef WS_EX_NOPARENTNOTIFY 0x00000004 +!define /ifndef WS_EX_TOPMOST 0x00000008 +!define /ifndef WS_EX_ACCEPTFILES 0x00000010 +!define /ifndef WS_EX_TRANSPARENT 0x00000020 +!define /ifndef WS_EX_MDICHILD 0x00000040 +!define /ifndef WS_EX_TOOLWINDOW 0x00000080 +!define /ifndef WS_EX_WINDOWEDGE 0x00000100 +!define /ifndef WS_EX_CLIENTEDGE 0x00000200 +!define /ifndef WS_EX_CONTEXTHELP 0x00000400 +!define /ifndef WS_EX_RIGHT 0x00001000 +!define /ifndef WS_EX_LEFT 0x00000000 +!define /ifndef WS_EX_RTLREADING 0x00002000 +!define /ifndef WS_EX_LTRREADING 0x00000000 +!define /ifndef WS_EX_LEFTSCROLLBAR 0x00004000 +!define /ifndef WS_EX_RIGHTSCROLLBAR 0x00000000 +!define /ifndef WS_EX_CONTROLPARENT 0x00010000 +!define /ifndef WS_EX_STATICEDGE 0x00020000 +!define /ifndef WS_EX_APPWINDOW 0x00040000 +!define /ifndef WS_EX_OVERLAPPEDWINDOW 0x00000300 +!define /ifndef WS_EX_PALETTEWINDOW 0x00000188 +!define /ifndef WS_EX_LAYERED 0x00080000 +!define /ifndef WS_EX_NOINHERITLAYOUT 0x00100000 +!define /ifndef WS_EX_LAYOUTRTL 0x00400000 +!define /ifndef WS_EX_COMPOSITED 0x02000000 +!define /ifndef WS_EX_NOACTIVATE 0x08000000 ; == System Parameters Info == !define SPI_GETWORKAREA 0x0030 -; == Window Long Offsets == - -!define GWL_WNDPROC -4 -!define GWL_HINSTANCE -6 -!define GWL_HWNDPARENT -8 -!define GWL_STYLE -16 -!define GWL_EXSTYLE -20 -!define GWL_USERDATA -21 -!define GWL_ID -12 - ; == Window swap == !define SWP_NOSIZE 0x0001 @@ -447,15 +399,6 @@ !define MB_RIGHT 0x00080000 !define MB_RTLREADING 0x00100000 -; == Drive type constants == - -!define DRIVE_UNKNOWN 0 -!define DRIVE_NO_ROOT_DIR 1 -!define DRIVE_REMOVABLE 2 -!define DRIVE_FIXED 3 -!define DRIVE_REMOTE 4 -!define DRIVE_CDROM 5 -!define DRIVE_RAMDISK 6 ; == Callbacks == diff --git a/Contrib/nsDialogs/nsDialogs.nsh b/Contrib/nsDialogs/nsDialogs.nsh index ccd70498..68c64875 100644 --- a/Contrib/nsDialogs/nsDialogs.nsh +++ b/Contrib/nsDialogs/nsDialogs.nsh @@ -13,36 +13,36 @@ Header file for creating custom installer pages with nsDialogs !include LogicLib.nsh !include WinMessages.nsh -!define WS_EX_DLGMODALFRAME 0x00000001 -!define WS_EX_NOPARENTNOTIFY 0x00000004 -!define WS_EX_TOPMOST 0x00000008 -!define WS_EX_ACCEPTFILES 0x00000010 -!define WS_EX_TRANSPARENT 0x00000020 -!define WS_EX_MDICHILD 0x00000040 -!define WS_EX_TOOLWINDOW 0x00000080 -!define WS_EX_WINDOWEDGE 0x00000100 -!define WS_EX_CLIENTEDGE 0x00000200 -!define WS_EX_CONTEXTHELP 0x00000400 -!define WS_EX_RIGHT 0x00001000 -!define WS_EX_LEFT 0x00000000 -!define WS_EX_RTLREADING 0x00002000 -!define WS_EX_LTRREADING 0x00000000 -!define WS_EX_LEFTSCROLLBAR 0x00004000 -!define WS_EX_RIGHTSCROLLBAR 0x00000000 -!define WS_EX_CONTROLPARENT 0x00010000 -!define WS_EX_STATICEDGE 0x00020000 -!define WS_EX_APPWINDOW 0x00040000 +!define /ifndef WS_EX_DLGMODALFRAME 0x00000001 +!define /ifndef WS_EX_NOPARENTNOTIFY 0x00000004 +!define /ifndef WS_EX_TOPMOST 0x00000008 +!define /ifndef WS_EX_ACCEPTFILES 0x00000010 +!define /ifndef WS_EX_TRANSPARENT 0x00000020 +!define /ifndef WS_EX_MDICHILD 0x00000040 +!define /ifndef WS_EX_TOOLWINDOW 0x00000080 +!define /ifndef WS_EX_WINDOWEDGE 0x00000100 +!define /ifndef WS_EX_CLIENTEDGE 0x00000200 +!define /ifndef WS_EX_CONTEXTHELP 0x00000400 +!define /ifndef WS_EX_RIGHT 0x00001000 +!define /ifndef WS_EX_LEFT 0x00000000 +!define /ifndef WS_EX_RTLREADING 0x00002000 +!define /ifndef WS_EX_LTRREADING 0x00000000 +!define /ifndef WS_EX_LEFTSCROLLBAR 0x00004000 +!define /ifndef WS_EX_RIGHTSCROLLBAR 0x00000000 +!define /ifndef WS_EX_CONTROLPARENT 0x00010000 +!define /ifndef WS_EX_STATICEDGE 0x00020000 +!define /ifndef WS_EX_APPWINDOW 0x00040000 -!define WS_CHILD 0x40000000 -!define WS_VISIBLE 0x10000000 -!define WS_DISABLED 0x08000000 -!define WS_CLIPSIBLINGS 0x04000000 -!define WS_CLIPCHILDREN 0x02000000 -!define WS_MAXIMIZE 0x01000000 -!define WS_VSCROLL 0x00200000 -!define WS_HSCROLL 0x00100000 -!define WS_GROUP 0x00020000 -!define WS_TABSTOP 0x00010000 +!define /ifndef WS_CHILD 0x40000000 +!define /ifndef WS_VISIBLE 0x10000000 +!define /ifndef WS_DISABLED 0x08000000 +!define /ifndef WS_CLIPSIBLINGS 0x04000000 +!define /ifndef WS_CLIPCHILDREN 0x02000000 +!define /ifndef WS_MAXIMIZE 0x01000000 +!define /ifndef WS_VSCROLL 0x00200000 +!define /ifndef WS_HSCROLL 0x00100000 +!define /ifndef WS_GROUP 0x00020000 +!define /ifndef WS_TABSTOP 0x00010000 !define ES_LEFT 0x00000000 !define ES_CENTER 0x00000001 @@ -152,27 +152,27 @@ Header file for creating custom installer pages with nsDialogs !define LBS_NOSEL 0x4000 !define LBS_COMBOBOX 0x8000 -!define LR_DEFAULTCOLOR 0x0000 -!define LR_MONOCHROME 0x0001 -!define LR_COLOR 0x0002 -!define LR_COPYRETURNORG 0x0004 -!define LR_COPYDELETEORG 0x0008 -!define LR_LOADFROMFILE 0x0010 -!define LR_LOADTRANSPARENT 0x0020 -!define LR_DEFAULTSIZE 0x0040 -!define LR_VGACOLOR 0x0080 -!define LR_LOADMAP3DCOLORS 0x1000 -!define LR_CREATEDIBSECTION 0x2000 -!define LR_COPYFROMRESOURCE 0x4000 -!define LR_SHARED 0x8000 +!define /ifndef LR_DEFAULTCOLOR 0x0000 +!define /ifndef LR_MONOCHROME 0x0001 +!define /ifndef LR_COLOR 0x0002 +!define /ifndef LR_COPYRETURNORG 0x0004 +!define /ifndef LR_COPYDELETEORG 0x0008 +!define /ifndef LR_LOADFROMFILE 0x0010 +!define /ifndef LR_LOADTRANSPARENT 0x0020 +!define /ifndef LR_DEFAULTSIZE 0x0040 +!define /ifndef LR_VGACOLOR 0x0080 +!define /ifndef LR_LOADMAP3DCOLORS 0x1000 +!define /ifndef LR_CREATEDIBSECTION 0x2000 +!define /ifndef LR_COPYFROMRESOURCE 0x4000 +!define /ifndef LR_SHARED 0x8000 -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2 -!define IMAGE_ENHMETAFILE 3 +!define /ifndef IMAGE_BITMAP 0 +!define /ifndef IMAGE_ICON 1 +!define /ifndef IMAGE_CURSOR 2 +!define /ifndef IMAGE_ENHMETAFILE 3 -!define GWL_STYLE -16 -!define GWL_EXSTYLE -20 +!define /ifndef GWL_STYLE -16 +!define /ifndef GWL_EXSTYLE -20 !define DEFAULT_STYLES ${WS_CHILD}|${WS_VISIBLE}|${WS_CLIPSIBLINGS} diff --git a/Include/Win/WinDef.nsh b/Include/Win/WinDef.nsh index 8e23f6a5..4333e505 100644 --- a/Include/Win/WinDef.nsh +++ b/Include/Win/WinDef.nsh @@ -5,9 +5,7 @@ !ifndef __WIN_NOINC_WINDEF -!ifndef MAX_PATH -!define MAX_PATH 260 -!endif +!define /ifndef MAX_PATH 260 #define NULL 0 diff --git a/Include/Win/WinUser.nsh b/Include/Win/WinUser.nsh index 1092848d..c1bc1e81 100644 --- a/Include/Win/WinUser.nsh +++ b/Include/Win/WinUser.nsh @@ -87,17 +87,16 @@ !endif !ifndef __WIN_MS_NOWINOFFSETS -/* in nsDialogs.nsh... -!define GWL_STYLE -16 -!define GWL_EXSTYLE -20 */ -!define GWLP_WNDPROC -4 -!define GWLP_HINSTANCE -6 -!define GWLP_HWNDPARENT -8 -!define GWLP_USERDATA -21 -!define GWLP_ID -12 +!define /ifndef GWL_STYLE -16 +!define /ifndef GWL_EXSTYLE -20 +!define /ifndef GWLP_WNDPROC -4 +!define /ifndef GWLP_HINSTANCE -6 +!define /ifndef GWLP_HWNDPARENT -8 +!define /ifndef GWLP_USERDATA -21 +!define /ifndef GWLP_ID -12 !define DWLP_MSGRESULT 0 -!define /math DWLP_DLGPROC ${DWLP_MSGRESULT} + ${__WIN_PTRSIZE} ;DWLP_MSGRESULT + sizeof(LRESULT) -!define /math DWLP_USER ${DWLP_DLGPROC} + ${__WIN_PTRSIZE} ;DWLP_DLGPROC + sizeof(DLGPROC) +!define /math DWLP_DLGPROC ${DWLP_MSGRESULT} + ${__WIN_PTRSIZE} ;DWLP_MSGRESULT + sizeof(LRESULT) +!define /math DWLP_USER ${DWLP_DLGPROC} + ${__WIN_PTRSIZE} ;DWLP_DLGPROC + sizeof(DLGPROC) !endif !ifndef __WIN_MS_NONCMESSAGES @@ -155,40 +154,41 @@ !define SC_SEPARATOR 0xF00F !endif -!define IDC_ARROW 32512 -!define IDC_IBEAM 32513 -!define IDC_WAIT 32514 -!define IDC_CROSS 32515 -!define IDC_UPARROW 32516 -!define IDC_SIZENWSE 32642 -!define IDC_SIZENESW 32643 -!define IDC_SIZEWE 32644 -!define IDC_SIZENS 32645 -!define IDC_SIZEALL 32646 -!define IDC_NO 32648 -!define IDC_HAND 32649 -!define IDC_APPSTARTING 32650 -!define IDC_HELP 32651 +!define /ifndef IDC_ARROW 32512 +!define /ifndef IDC_IBEAM 32513 +!define /ifndef IDC_WAIT 32514 +!define /ifndef IDC_CROSS 32515 +!define /ifndef IDC_UPARROW 32516 +!define /ifndef IDC_SIZE 32640 +!define /ifndef IDC_ICON 32641 +!define /ifndef IDC_SIZENWSE 32642 +!define /ifndef IDC_SIZENESW 32643 +!define /ifndef IDC_SIZEWE 32644 +!define /ifndef IDC_SIZENS 32645 +!define /ifndef IDC_SIZEALL 32646 +!define /ifndef IDC_NO 32648 +!define /ifndef IDC_HAND 32649 +!define /ifndef IDC_APPSTARTING 32650 +!define /ifndef IDC_HELP 32651 -/* in nsDialogs.nsh... -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2*/ +!define /ifndef IMAGE_BITMAP 0 +!define /ifndef IMAGE_ICON 1 +!define /ifndef IMAGE_CURSOR 2 +!define /ifndef IMAGE_ENHMETAFILE 3 -/* in nsDialogs.nsh... -!define LR_DEFAULTCOLOR 0x0000 -!define LR_MONOCHROME 0x0001 -!define LR_COLOR 0x0002 -!define LR_COPYRETURNORG 0x0004 -!define LR_COPYDELETEORG 0x0008 -!define LR_LOADFROMFILE 0x0010 -!define LR_LOADTRANSPARENT 0x0020 -!define LR_DEFAULTSIZE 0x0040 -!define LR_VGACOLOR 0x0080 -!define LR_LOADMAP3DCOLORS 0x1000 -!define LR_CREATEDIBSECTION 0x2000 -!define LR_COPYFROMRESOURCE 0x4000 -!define LR_SHARED 0x8000*/ +!define /ifndef LR_DEFAULTCOLOR 0x0000 +!define /ifndef LR_MONOCHROME 0x0001 +!define /ifndef LR_COLOR 0x0002 +!define /ifndef LR_COPYRETURNORG 0x0004 +!define /ifndef LR_COPYDELETEORG 0x0008 +!define /ifndef LR_LOADFROMFILE 0x0010 +!define /ifndef LR_LOADTRANSPARENT 0x0020 +!define /ifndef LR_DEFAULTSIZE 0x0040 +!define /ifndef LR_VGACOLOR 0x0080 +!define /ifndef LR_LOADMAP3DCOLORS 0x1000 +!define /ifndef LR_CREATEDIBSECTION 0x2000 +!define /ifndef LR_COPYFROMRESOURCE 0x4000 +!define /ifndef LR_SHARED 0x8000 !define GA_PARENT 1 !define GA_ROOT 2 diff --git a/Include/WinCore.nsh b/Include/WinCore.nsh index 4a4f9049..14a9fd53 100644 --- a/Include/WinCore.nsh +++ b/Include/WinCore.nsh @@ -33,10 +33,10 @@ WinCore.nsh & Win\*.nsh - Collection of common windows defines WinBase.h **************************************************/ !ifndef __WIN_NOINC_WINBASE -!define INVALID_HANDLE_VALUE -1 -!define INVALID_FILE_SIZE 0xFFFFFFFF -!define INVALID_SET_FILE_POINTER -1 -!define INVALID_FILE_ATTRIBUTES -1 +!define /ifndef INVALID_HANDLE_VALUE -1 +!define /ifndef INVALID_FILE_SIZE 0xFFFFFFFF +!define /ifndef INVALID_SET_FILE_POINTER -1 +!define /ifndef INVALID_FILE_ATTRIBUTES -1 !define WAIT_FAILED 0xFFFFFFFF !define WAIT_OBJECT_0 0 ;((STATUS_WAIT_0 ) + 0 )