From 3ba351b394964986d1e3ed3a269f05a0e55311e3 Mon Sep 17 00:00:00 2001 From: kichik Date: Thu, 5 Feb 2009 01:38:12 +0000 Subject: [PATCH] native eol git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5929 212acab6-be3b-0410-9dea-997c60f758d6 --- Include/Win/WinDef.nsh | 146 +++++++------- Include/Win/WinError.nsh | 126 ++++++------ Include/Win/WinNT.nsh | 416 +++++++++++++++++++------------------- Include/Win/WinUser.nsh | 396 ++++++++++++++++++------------------ Include/WinCore.nsh | 426 +++++++++++++++++++-------------------- 5 files changed, 755 insertions(+), 755 deletions(-) diff --git a/Include/Win/WinDef.nsh b/Include/Win/WinDef.nsh index db7b6c74..14ee768b 100644 --- a/Include/Win/WinDef.nsh +++ b/Include/Win/WinDef.nsh @@ -1,74 +1,74 @@ -!ifndef __WIN_WINDEF__INC -!define __WIN_WINDEF__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINDEF - - -!ifndef MAX_PATH -!define MAX_PATH 260 -!endif -#define NULL 0 - - -!macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b -${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2} -StrCpy ${_outvar} "${_a}" -goto +2 -StrCpy ${_outvar} "${_b}" -!macroend -!ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u -!define min "!insertmacro _Win_MINMAX IntCmp +1 +3 " -!define max "!insertmacro _Win_MINMAX IntCmp +3 +1 " -!define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 " -!define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 " -!endif - -!macro _Win_LOBYTE _outvar _in -IntOp ${_outvar} "${_in}" & 0xFF -!macroend -!define LOBYTE "!insertmacro _Win_LOBYTE " - -!macro _Win_HIBYTE _outvar _in -IntOp ${_outvar} "${_in}" >> 8 -${LOBYTE} ${_outvar} ${_outvar} -!macroend -!define HIBYTE "!insertmacro _Win_HIBYTE " - -!macro _Win_LOWORD _outvar _in -IntOp ${_outvar} "${_in}" & 0xFFFF -!macroend -!define LOWORD "!insertmacro _Win_LOWORD " - -!macro _Win_HIWORD _outvar _in -IntOp ${outvar} "${_in}" >> 16 ;sign extended :( -${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word -!macroend -!define HIWORD "!insertmacro _Win_HIWORD " - -!macro _Win_MAKEWORD _outvar _tmpvar _lo _hi -${LOBYTE} ${_outvar} "${_hi}" -${LOBYTE} ${_tmpvar} "${_lo}" -IntOp ${_outvar} ${_outvar} << 8 -IntOp ${_outvar} ${_outvar} | ${_tmpvar} -!macroend -!define MAKEWORD "!insertmacro _Win_MAKEWORD " - -!macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi -${LOWORD} ${_outvar} "${_wlo}" -IntOp ${_tmpvar} "${_whi}" << 16 -IntOp ${_outvar} ${_outvar} | ${_tmpvar} -!macroend -!define MAKELONG "!insertmacro _Win_MAKELONG32 " -!if "${__WIN_PTRSIZE}" <= 4 -!define MAKEWPARAM "${MAKELONG}" -!define MAKELPARAM "${MAKELONG}" -!define MAKELRESULT "${MAKELONG}" -!else -!error "Missing 64bit imp!" -!endif - - -!endif /* __WIN_NOINC_WINDEF */ -!verbose pop +!ifndef __WIN_WINDEF__INC +!define __WIN_WINDEF__INC +!verbose push +!verbose 3 +!ifndef __WIN_NOINC_WINDEF + + +!ifndef MAX_PATH +!define MAX_PATH 260 +!endif +#define NULL 0 + + +!macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b +${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2} +StrCpy ${_outvar} "${_a}" +goto +2 +StrCpy ${_outvar} "${_b}" +!macroend +!ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u +!define min "!insertmacro _Win_MINMAX IntCmp +1 +3 " +!define max "!insertmacro _Win_MINMAX IntCmp +3 +1 " +!define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 " +!define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 " +!endif + +!macro _Win_LOBYTE _outvar _in +IntOp ${_outvar} "${_in}" & 0xFF +!macroend +!define LOBYTE "!insertmacro _Win_LOBYTE " + +!macro _Win_HIBYTE _outvar _in +IntOp ${_outvar} "${_in}" >> 8 +${LOBYTE} ${_outvar} ${_outvar} +!macroend +!define HIBYTE "!insertmacro _Win_HIBYTE " + +!macro _Win_LOWORD _outvar _in +IntOp ${_outvar} "${_in}" & 0xFFFF +!macroend +!define LOWORD "!insertmacro _Win_LOWORD " + +!macro _Win_HIWORD _outvar _in +IntOp ${outvar} "${_in}" >> 16 ;sign extended :( +${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word +!macroend +!define HIWORD "!insertmacro _Win_HIWORD " + +!macro _Win_MAKEWORD _outvar _tmpvar _lo _hi +${LOBYTE} ${_outvar} "${_hi}" +${LOBYTE} ${_tmpvar} "${_lo}" +IntOp ${_outvar} ${_outvar} << 8 +IntOp ${_outvar} ${_outvar} | ${_tmpvar} +!macroend +!define MAKEWORD "!insertmacro _Win_MAKEWORD " + +!macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi +${LOWORD} ${_outvar} "${_wlo}" +IntOp ${_tmpvar} "${_whi}" << 16 +IntOp ${_outvar} ${_outvar} | ${_tmpvar} +!macroend +!define MAKELONG "!insertmacro _Win_MAKELONG32 " +!if "${__WIN_PTRSIZE}" <= 4 +!define MAKEWPARAM "${MAKELONG}" +!define MAKELPARAM "${MAKELONG}" +!define MAKELRESULT "${MAKELONG}" +!else +!error "Missing 64bit imp!" +!endif + + +!endif /* __WIN_NOINC_WINDEF */ +!verbose pop !endif /* __WIN_WINDEF__INC */ \ No newline at end of file diff --git a/Include/Win/WinError.nsh b/Include/Win/WinError.nsh index 4fec7805..988c9ebd 100644 --- a/Include/Win/WinError.nsh +++ b/Include/Win/WinError.nsh @@ -1,64 +1,64 @@ -!ifndef __WIN_WINERROR__INC -!define __WIN_WINERROR__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINERROR - -#define NO_ERROR 0 -!define ERROR_SUCCESS 0 -!define ERROR_INVALID_FUNCTION 1 -!define ERROR_FILE_NOT_FOUND 2 -!define ERROR_PATH_NOT_FOUND 3 -!define ERROR_TOO_MANY_OPEN_FILES 4 -!define ERROR_ACCESS_DENIED 5 -!define ERROR_INVALID_HANDLE 6 -!define ERROR_ARENA_TRASHED 7 -!define ERROR_NOT_ENOUGH_MEMORY 8 -!define ERROR_INVALID_BLOCK 9 -!define ERROR_BAD_ENVIRONMENT 10 -!define ERROR_BAD_FORMAT 11 -!define ERROR_INVALID_ACCESS 12 -!define ERROR_INVALID_DATA 13 -!define ERROR_OUTOFMEMORY 14 -!define ERROR_INVALID_DRIVE 15 -!define ERROR_CURRENT_DIRECTORY 16 -!define ERROR_NOT_SAME_DEVICE 17 -!define ERROR_NO_MORE_FILES 18 -!define ERROR_WRITE_PROTECT 19 -!define ERROR_BAD_UNIT 20 -!define ERROR_NOT_READY 21 -!define ERROR_BAD_COMMAND 22 -!define ERROR_CRC 23 -!define ERROR_BAD_LENGTH 24 -!define ERROR_SEEK 25 -!define ERROR_NOT_DOS_DISK 26 -!define ERROR_SECTOR_NOT_FOUND 27 -!define ERROR_OUT_OF_PAPER 28 -!define ERROR_WRITE_FAULT 29 -!define ERROR_READ_FAULT 30 -!define ERROR_GEN_FAILURE 31 -!define ERROR_SHARING_VIOLATION 32 -!define ERROR_LOCK_VIOLATION 33 -!define ERROR_WRONG_DISK 34 -!define ERROR_SHARING_BUFFER_EXCEEDED 36 -!define ERROR_HANDLE_EOF 38 -!define ERROR_HANDLE_DISK_FULL 39 -!define ERROR_NOT_SUPPORTED 50 - -!define SEVERITY_SUCCESS 0 -!define SEVERITY_ERROR 1 -!define E_UNEXPECTED 0x8000FFFF -!define E_NOTIMPL 0x80004001 -!define E_OUTOFMEMORY 0x8007000E -!define E_INVALIDARG 0x80070057 -!define E_NOINTERFACE 0x80004002 -!define E_POINTER 0x80004003 -!define E_HANDLE 0x80070006 -!define E_ABORT 0x80004004 -!define E_FAIL 0x80004005 -!define E_ACCESSDENIED 0x80070005 -!define E_PENDING 0x8000000A - -!endif /* __WIN_NOINC_WINERROR */ -!verbose pop +!ifndef __WIN_WINERROR__INC +!define __WIN_WINERROR__INC +!verbose push +!verbose 3 +!ifndef __WIN_NOINC_WINERROR + +#define NO_ERROR 0 +!define ERROR_SUCCESS 0 +!define ERROR_INVALID_FUNCTION 1 +!define ERROR_FILE_NOT_FOUND 2 +!define ERROR_PATH_NOT_FOUND 3 +!define ERROR_TOO_MANY_OPEN_FILES 4 +!define ERROR_ACCESS_DENIED 5 +!define ERROR_INVALID_HANDLE 6 +!define ERROR_ARENA_TRASHED 7 +!define ERROR_NOT_ENOUGH_MEMORY 8 +!define ERROR_INVALID_BLOCK 9 +!define ERROR_BAD_ENVIRONMENT 10 +!define ERROR_BAD_FORMAT 11 +!define ERROR_INVALID_ACCESS 12 +!define ERROR_INVALID_DATA 13 +!define ERROR_OUTOFMEMORY 14 +!define ERROR_INVALID_DRIVE 15 +!define ERROR_CURRENT_DIRECTORY 16 +!define ERROR_NOT_SAME_DEVICE 17 +!define ERROR_NO_MORE_FILES 18 +!define ERROR_WRITE_PROTECT 19 +!define ERROR_BAD_UNIT 20 +!define ERROR_NOT_READY 21 +!define ERROR_BAD_COMMAND 22 +!define ERROR_CRC 23 +!define ERROR_BAD_LENGTH 24 +!define ERROR_SEEK 25 +!define ERROR_NOT_DOS_DISK 26 +!define ERROR_SECTOR_NOT_FOUND 27 +!define ERROR_OUT_OF_PAPER 28 +!define ERROR_WRITE_FAULT 29 +!define ERROR_READ_FAULT 30 +!define ERROR_GEN_FAILURE 31 +!define ERROR_SHARING_VIOLATION 32 +!define ERROR_LOCK_VIOLATION 33 +!define ERROR_WRONG_DISK 34 +!define ERROR_SHARING_BUFFER_EXCEEDED 36 +!define ERROR_HANDLE_EOF 38 +!define ERROR_HANDLE_DISK_FULL 39 +!define ERROR_NOT_SUPPORTED 50 + +!define SEVERITY_SUCCESS 0 +!define SEVERITY_ERROR 1 +!define E_UNEXPECTED 0x8000FFFF +!define E_NOTIMPL 0x80004001 +!define E_OUTOFMEMORY 0x8007000E +!define E_INVALIDARG 0x80070057 +!define E_NOINTERFACE 0x80004002 +!define E_POINTER 0x80004003 +!define E_HANDLE 0x80070006 +!define E_ABORT 0x80004004 +!define E_FAIL 0x80004005 +!define E_ACCESSDENIED 0x80070005 +!define E_PENDING 0x8000000A + +!endif /* __WIN_NOINC_WINERROR */ +!verbose pop !endif /* __WIN_WINERROR__INC */ \ No newline at end of file diff --git a/Include/Win/WinNT.nsh b/Include/Win/WinNT.nsh index bec1c144..629b32f9 100644 --- a/Include/Win/WinNT.nsh +++ b/Include/Win/WinNT.nsh @@ -1,209 +1,209 @@ -!ifndef __WIN_WINNT__INC -!define __WIN_WINNT__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINNT - - -#define MINCHAR 0x80 -#define MAXCHAR 0x7f -!define MINSHORT 0x8000 -!define MAXSHORT 0x7fff -!define MINLONG 0x80000000 -!define MAXLONG 0x7fffffff -!define MAXBYTE 0xff -!define MAXWORD 0xffff -!define MAXDWORD 0xffffffff - -!ifndef WIN32_NO_STATUS -!define STATUS_WAIT_0 0x00000000 -!define STATUS_ABANDONED_WAIT_0 0x00000080 -!define STATUS_USER_APC 0x000000C0 -!define STATUS_TIMEOUT 0x00000102 -!define STATUS_PENDING 0x00000103 -!define DBG_EXCEPTION_HANDLED 0x00010001 -!define DBG_CONTINUE 0x00010002 -!define STATUS_SEGMENT_NOTIFICATION 0x40000005 -!define DBG_TERMINATE_THREAD 0x40010003 -!define DBG_TERMINATE_PROCESS 0x40010004 -!define DBG_CONTROL_C 0x40010005 -!define DBG_CONTROL_BREAK 0x40010008 -!define DBG_COMMAND_EXCEPTION 0x40010009 -!define STATUS_GUARD_PAGE_VIOLATION 0x80000001 -!define STATUS_DATATYPE_MISALIGNMENT 0x80000002 -!define STATUS_BREAKPOINT 0x80000003 -!define STATUS_SINGLE_STEP 0x80000004 -!define DBG_EXCEPTION_NOT_HANDLED 0x80010001 -!define STATUS_ACCESS_VIOLATION 0xC0000005 -!define STATUS_IN_PAGE_ERROR 0xC0000006 -!define STATUS_INVALID_HANDLE 0xC0000008 -!define STATUS_NO_MEMORY 0xC0000017 -!define STATUS_ILLEGAL_INSTRUCTION 0xC000001D -!define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 -!define STATUS_INVALID_DISPOSITION 0xC0000026 -!define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C -!define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D -!define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E -!define STATUS_FLOAT_INEXACT_RESULT 0xC000008F -!define STATUS_FLOAT_INVALID_OPERATION 0xC0000090 -!define STATUS_FLOAT_OVERFLOW 0xC0000091 -!define STATUS_FLOAT_STACK_CHECK 0xC0000092 -!define STATUS_FLOAT_UNDERFLOW 0xC0000093 -!define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094 -!define STATUS_INTEGER_OVERFLOW 0xC0000095 -!define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 -!define STATUS_STACK_OVERFLOW 0xC00000FD -!define STATUS_CONTROL_C_EXIT 0xC000013A -!define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4 -!define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5 -!define STATUS_REG_NAT_CONSUMPTION 0xC00002C9 -!define STATUS_SXS_EARLY_DEACTIVATION 0xC015000F -!define STATUS_SXS_INVALID_DEACTIVATION 0xC0150010 -!endif /*WIN32_NO_STATUS*/ - -#define MAXIMUM_WAIT_OBJECTS 64 - -!define DELETE 0x00010000 -!define READ_CONTROL 0x00020000 -!define WRITE_DAC 0x00040000 -!define WRITE_OWNER 0x00080000 -!define SYNCHRONIZE 0x00100000 -!define STANDARD_RIGHTS_REQUIRED 0x000F0000 -!define STANDARD_RIGHTS_READ ${READ_CONTROL} -!define STANDARD_RIGHTS_WRITE ${READ_CONTROL} -!define STANDARD_RIGHTS_EXECUTE ${READ_CONTROL} -!define STANDARD_RIGHTS_ALL 0x001F0000 -!define SPECIFIC_RIGHTS_ALL 0x0000FFFF -!define ACCESS_SYSTEM_SECURITY 0x01000000 -!define MAXIMUM_ALLOWED 0x02000000 -!define GENERIC_READ 0x80000000 -!define GENERIC_WRITE 0x40000000 -!define GENERIC_EXECUTE 0x20000000 -!define GENERIC_ALL 0x10000000 - -!define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001 -!define SE_PRIVILEGE_ENABLED 0x00000002 -!define SE_PRIVILEGE_REMOVED 0x00000004 -!define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000 - -!define SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege" -!define SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege" -!define SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege" -!define SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege" -!define SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege" -!define SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege" -!define SE_TCB_NAME "SeTcbPrivilege" -!define SE_SECURITY_NAME "SeSecurityPrivilege" -!define SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege" -!define SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege" -!define SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege" -!define SE_SYSTEMTIME_NAME "SeSystemtimePrivilege" -!define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege" -!define SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege" -!define SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege" -!define SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege" -!define SE_BACKUP_NAME "SeBackupPrivilege" -!define SE_RESTORE_NAME "SeRestorePrivilege" -!define SE_SHUTDOWN_NAME "SeShutdownPrivilege" -!define SE_DEBUG_NAME "SeDebugPrivilege" -!define SE_AUDIT_NAME "SeAuditPrivilege" -!define SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege" -!define SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege" -!define SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege" -!define SE_UNDOCK_NAME "SeUndockPrivilege" -!define SE_SYNC_AGENT_NAME "SeSyncAgentPrivilege" -!define SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege" -!define SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege" -!define SE_IMPERSONATE_NAME "SeImpersonatePrivilege" -!define SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege" - -!define TOKEN_ASSIGN_PRIMARY 0x0001 -!define TOKEN_DUPLICATE 0x0002 -!define TOKEN_IMPERSONATE 0x0004 -!define TOKEN_QUERY 0x0008 -!define TOKEN_QUERY_SOURCE 0x0010 -!define TOKEN_ADJUST_PRIVILEGES 0x0020 -!define TOKEN_ADJUST_GROUPS 0x0040 -!define TOKEN_ADJUST_DEFAULT 0x0080 -!define TOKEN_ADJUST_SESSIONID 0x0100 -!define TOKEN_ALL_ACCESS_P 0xF00FF -!define /math TOKEN_ALL_ACCESS ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID} -!define /math TOKEN_READ ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY} -!define TOKEN_WRITE 0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT) -!define TOKEN_EXECUTE ${STANDARD_RIGHTS_EXECUTE} - -!define PROCESS_TERMINATE 0x0001 -!define PROCESS_CREATE_THREAD 0x0002 -!define PROCESS_SET_SESSIONID 0x0004 -!define PROCESS_VM_OPERATION 0x0008 -!define PROCESS_VM_READ 0x0010 -!define PROCESS_VM_WRITE 0x0020 -!define PROCESS_DUP_HANDLE 0x0040 -!define PROCESS_CREATE_PROCESS 0x0080 -!define PROCESS_SET_QUOTA 0x0100 -!define PROCESS_SET_INFORMATION 0x0200 -!define PROCESS_QUERY_INFORMATION 0x0400 -!define PROCESS_SUSPEND_RESUME 0x0800 -!define PROCESS_ALL_ACCESS 0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF) -!define THREAD_TERMINATE 0x0001 -!define THREAD_SUSPEND_RESUME 0x0002 -!define THREAD_GET_CONTEXT 0x0008 -!define THREAD_SET_CONTEXT 0x0010 -!define THREAD_SET_INFORMATION 0x0020 -!define THREAD_QUERY_INFORMATION 0x0040 -!define THREAD_SET_THREAD_TOKEN 0x0080 -!define THREAD_IMPERSONATE 0x0100 -!define THREAD_DIRECT_IMPERSONATION 0x0200 -!define THREAD_ALL_ACCESS 0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF) -!define JOB_OBJECT_ASSIGN_PROCESS 0x0001 -!define JOB_OBJECT_SET_ATTRIBUTES 0x0002 -!define JOB_OBJECT_QUERY 0x0004 -!define JOB_OBJECT_TERMINATE 0x0008 -!define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x0010 -!define JOB_OBJECT_ALL_ACCESS 0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F ) -!define EVENT_MODIFY_STATE 0x0002 -!define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) -!define MUTANT_QUERY_STATE 0x0001 -!define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE) - -!define FILE_SHARE_READ 0x00000001 -!define FILE_SHARE_WRITE 0x00000002 -!define FILE_SHARE_DELETE 0x00000004 -!define FILE_ATTRIBUTE_READONLY 0x00000001 -!define FILE_ATTRIBUTE_HIDDEN 0x00000002 -!define FILE_ATTRIBUTE_SYSTEM 0x00000004 -!define FILE_ATTRIBUTE_DIRECTORY 0x00000010 -!define FILE_ATTRIBUTE_ARCHIVE 0x00000020 -!define FILE_ATTRIBUTE_DEVICE 0x00000040 -!define FILE_ATTRIBUTE_NORMAL 0x00000080 -!define FILE_ATTRIBUTE_TEMPORARY 0x00000100 -!define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 -!define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 -!define FILE_ATTRIBUTE_COMPRESSED 0x00000800 -!define FILE_ATTRIBUTE_OFFLINE 0x00001000 -!define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 -!define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 - -!define DUPLICATE_CLOSE_SOURCE 0x00000001 -!define DUPLICATE_SAME_ACCESS 0x00000002 - -!define VER_PLATFORM_WIN32s 0 -!define VER_PLATFORM_WIN32_WINDOWS 1 -!define VER_PLATFORM_WIN32_NT 2 - -!ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES -!define REG_NONE 0 -!define REG_SZ 1 -!define REG_EXPAND_SZ 2 -!define REG_BINARY 3 -!define REG_DWORD 4 -!define REG_DWORD_LITTLE_ENDIAN 4 -!define REG_DWORD_BIG_ENDIAN 5 -!define REG_LINK 6 -!define REG_MULTI_SZ 7 -!endif - - -!endif /* __WIN_NOINC_WINNT */ -!verbose pop +!ifndef __WIN_WINNT__INC +!define __WIN_WINNT__INC +!verbose push +!verbose 3 +!ifndef __WIN_NOINC_WINNT + + +#define MINCHAR 0x80 +#define MAXCHAR 0x7f +!define MINSHORT 0x8000 +!define MAXSHORT 0x7fff +!define MINLONG 0x80000000 +!define MAXLONG 0x7fffffff +!define MAXBYTE 0xff +!define MAXWORD 0xffff +!define MAXDWORD 0xffffffff + +!ifndef WIN32_NO_STATUS +!define STATUS_WAIT_0 0x00000000 +!define STATUS_ABANDONED_WAIT_0 0x00000080 +!define STATUS_USER_APC 0x000000C0 +!define STATUS_TIMEOUT 0x00000102 +!define STATUS_PENDING 0x00000103 +!define DBG_EXCEPTION_HANDLED 0x00010001 +!define DBG_CONTINUE 0x00010002 +!define STATUS_SEGMENT_NOTIFICATION 0x40000005 +!define DBG_TERMINATE_THREAD 0x40010003 +!define DBG_TERMINATE_PROCESS 0x40010004 +!define DBG_CONTROL_C 0x40010005 +!define DBG_CONTROL_BREAK 0x40010008 +!define DBG_COMMAND_EXCEPTION 0x40010009 +!define STATUS_GUARD_PAGE_VIOLATION 0x80000001 +!define STATUS_DATATYPE_MISALIGNMENT 0x80000002 +!define STATUS_BREAKPOINT 0x80000003 +!define STATUS_SINGLE_STEP 0x80000004 +!define DBG_EXCEPTION_NOT_HANDLED 0x80010001 +!define STATUS_ACCESS_VIOLATION 0xC0000005 +!define STATUS_IN_PAGE_ERROR 0xC0000006 +!define STATUS_INVALID_HANDLE 0xC0000008 +!define STATUS_NO_MEMORY 0xC0000017 +!define STATUS_ILLEGAL_INSTRUCTION 0xC000001D +!define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 +!define STATUS_INVALID_DISPOSITION 0xC0000026 +!define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C +!define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D +!define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E +!define STATUS_FLOAT_INEXACT_RESULT 0xC000008F +!define STATUS_FLOAT_INVALID_OPERATION 0xC0000090 +!define STATUS_FLOAT_OVERFLOW 0xC0000091 +!define STATUS_FLOAT_STACK_CHECK 0xC0000092 +!define STATUS_FLOAT_UNDERFLOW 0xC0000093 +!define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094 +!define STATUS_INTEGER_OVERFLOW 0xC0000095 +!define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 +!define STATUS_STACK_OVERFLOW 0xC00000FD +!define STATUS_CONTROL_C_EXIT 0xC000013A +!define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4 +!define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5 +!define STATUS_REG_NAT_CONSUMPTION 0xC00002C9 +!define STATUS_SXS_EARLY_DEACTIVATION 0xC015000F +!define STATUS_SXS_INVALID_DEACTIVATION 0xC0150010 +!endif /*WIN32_NO_STATUS*/ + +#define MAXIMUM_WAIT_OBJECTS 64 + +!define DELETE 0x00010000 +!define READ_CONTROL 0x00020000 +!define WRITE_DAC 0x00040000 +!define WRITE_OWNER 0x00080000 +!define SYNCHRONIZE 0x00100000 +!define STANDARD_RIGHTS_REQUIRED 0x000F0000 +!define STANDARD_RIGHTS_READ ${READ_CONTROL} +!define STANDARD_RIGHTS_WRITE ${READ_CONTROL} +!define STANDARD_RIGHTS_EXECUTE ${READ_CONTROL} +!define STANDARD_RIGHTS_ALL 0x001F0000 +!define SPECIFIC_RIGHTS_ALL 0x0000FFFF +!define ACCESS_SYSTEM_SECURITY 0x01000000 +!define MAXIMUM_ALLOWED 0x02000000 +!define GENERIC_READ 0x80000000 +!define GENERIC_WRITE 0x40000000 +!define GENERIC_EXECUTE 0x20000000 +!define GENERIC_ALL 0x10000000 + +!define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001 +!define SE_PRIVILEGE_ENABLED 0x00000002 +!define SE_PRIVILEGE_REMOVED 0x00000004 +!define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000 + +!define SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege" +!define SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege" +!define SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege" +!define SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege" +!define SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege" +!define SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege" +!define SE_TCB_NAME "SeTcbPrivilege" +!define SE_SECURITY_NAME "SeSecurityPrivilege" +!define SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege" +!define SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege" +!define SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege" +!define SE_SYSTEMTIME_NAME "SeSystemtimePrivilege" +!define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege" +!define SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege" +!define SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege" +!define SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege" +!define SE_BACKUP_NAME "SeBackupPrivilege" +!define SE_RESTORE_NAME "SeRestorePrivilege" +!define SE_SHUTDOWN_NAME "SeShutdownPrivilege" +!define SE_DEBUG_NAME "SeDebugPrivilege" +!define SE_AUDIT_NAME "SeAuditPrivilege" +!define SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege" +!define SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege" +!define SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege" +!define SE_UNDOCK_NAME "SeUndockPrivilege" +!define SE_SYNC_AGENT_NAME "SeSyncAgentPrivilege" +!define SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege" +!define SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege" +!define SE_IMPERSONATE_NAME "SeImpersonatePrivilege" +!define SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege" + +!define TOKEN_ASSIGN_PRIMARY 0x0001 +!define TOKEN_DUPLICATE 0x0002 +!define TOKEN_IMPERSONATE 0x0004 +!define TOKEN_QUERY 0x0008 +!define TOKEN_QUERY_SOURCE 0x0010 +!define TOKEN_ADJUST_PRIVILEGES 0x0020 +!define TOKEN_ADJUST_GROUPS 0x0040 +!define TOKEN_ADJUST_DEFAULT 0x0080 +!define TOKEN_ADJUST_SESSIONID 0x0100 +!define TOKEN_ALL_ACCESS_P 0xF00FF +!define /math TOKEN_ALL_ACCESS ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID} +!define /math TOKEN_READ ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY} +!define TOKEN_WRITE 0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT) +!define TOKEN_EXECUTE ${STANDARD_RIGHTS_EXECUTE} + +!define PROCESS_TERMINATE 0x0001 +!define PROCESS_CREATE_THREAD 0x0002 +!define PROCESS_SET_SESSIONID 0x0004 +!define PROCESS_VM_OPERATION 0x0008 +!define PROCESS_VM_READ 0x0010 +!define PROCESS_VM_WRITE 0x0020 +!define PROCESS_DUP_HANDLE 0x0040 +!define PROCESS_CREATE_PROCESS 0x0080 +!define PROCESS_SET_QUOTA 0x0100 +!define PROCESS_SET_INFORMATION 0x0200 +!define PROCESS_QUERY_INFORMATION 0x0400 +!define PROCESS_SUSPEND_RESUME 0x0800 +!define PROCESS_ALL_ACCESS 0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF) +!define THREAD_TERMINATE 0x0001 +!define THREAD_SUSPEND_RESUME 0x0002 +!define THREAD_GET_CONTEXT 0x0008 +!define THREAD_SET_CONTEXT 0x0010 +!define THREAD_SET_INFORMATION 0x0020 +!define THREAD_QUERY_INFORMATION 0x0040 +!define THREAD_SET_THREAD_TOKEN 0x0080 +!define THREAD_IMPERSONATE 0x0100 +!define THREAD_DIRECT_IMPERSONATION 0x0200 +!define THREAD_ALL_ACCESS 0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF) +!define JOB_OBJECT_ASSIGN_PROCESS 0x0001 +!define JOB_OBJECT_SET_ATTRIBUTES 0x0002 +!define JOB_OBJECT_QUERY 0x0004 +!define JOB_OBJECT_TERMINATE 0x0008 +!define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x0010 +!define JOB_OBJECT_ALL_ACCESS 0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F ) +!define EVENT_MODIFY_STATE 0x0002 +!define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) +!define MUTANT_QUERY_STATE 0x0001 +!define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE) + +!define FILE_SHARE_READ 0x00000001 +!define FILE_SHARE_WRITE 0x00000002 +!define FILE_SHARE_DELETE 0x00000004 +!define FILE_ATTRIBUTE_READONLY 0x00000001 +!define FILE_ATTRIBUTE_HIDDEN 0x00000002 +!define FILE_ATTRIBUTE_SYSTEM 0x00000004 +!define FILE_ATTRIBUTE_DIRECTORY 0x00000010 +!define FILE_ATTRIBUTE_ARCHIVE 0x00000020 +!define FILE_ATTRIBUTE_DEVICE 0x00000040 +!define FILE_ATTRIBUTE_NORMAL 0x00000080 +!define FILE_ATTRIBUTE_TEMPORARY 0x00000100 +!define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 +!define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 +!define FILE_ATTRIBUTE_COMPRESSED 0x00000800 +!define FILE_ATTRIBUTE_OFFLINE 0x00001000 +!define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 +!define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 + +!define DUPLICATE_CLOSE_SOURCE 0x00000001 +!define DUPLICATE_SAME_ACCESS 0x00000002 + +!define VER_PLATFORM_WIN32s 0 +!define VER_PLATFORM_WIN32_WINDOWS 1 +!define VER_PLATFORM_WIN32_NT 2 + +!ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES +!define REG_NONE 0 +!define REG_SZ 1 +!define REG_EXPAND_SZ 2 +!define REG_BINARY 3 +!define REG_DWORD 4 +!define REG_DWORD_LITTLE_ENDIAN 4 +!define REG_DWORD_BIG_ENDIAN 5 +!define REG_LINK 6 +!define REG_MULTI_SZ 7 +!endif + + +!endif /* __WIN_NOINC_WINNT */ +!verbose pop !endif /* __WIN_WINNT__INC */ \ No newline at end of file diff --git a/Include/Win/WinUser.nsh b/Include/Win/WinUser.nsh index 7a217c27..1092848d 100644 --- a/Include/Win/WinUser.nsh +++ b/Include/Win/WinUser.nsh @@ -1,199 +1,199 @@ -!ifndef __WIN_WINUSER__INC -!define __WIN_WINUSER__INC -!verbose push -!verbose 3 -!ifndef __WIN_MS_NOUSER & __WIN_NOINC_WINUSER - -!ifndef __WIN_MS_NOVIRTUALKEYCODES -!define VK_LBUTTON 0x01 -!define VK_RBUTTON 0x02 -!define VK_CANCEL 0x03 -!define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */ -!define VK_XBUTTON1 0x05 /* NOT contiguous with L & RBUTTON */ -!define VK_XBUTTON2 0x06 /* NOT contiguous with L & RBUTTON */ -!define VK_BACK 0x08 -!define VK_TAB 0x09 -!define VK_CLEAR 0x0C -!define VK_RETURN 0x0D -!define VK_SHIFT 0x10 -!define VK_CONTROL 0x11 -!define VK_MENU 0x12 -!define VK_PAUSE 0x13 -!define VK_CAPITAL 0x14 -!define VK_ESCAPE 0x1B -!define VK_CONVERT 0x1C -!define VK_NONCONVERT 0x1D -!define VK_ACCEPT 0x1E -!define VK_MODECHANGE 0x1F -!define VK_SPACE 0x20 -!define VK_PRIOR 0x21 -!define VK_NEXT 0x22 -!define VK_END 0x23 -!define VK_HOME 0x24 -!define VK_LEFT 0x25 -!define VK_UP 0x26 -!define VK_RIGHT 0x27 -!define VK_DOWN 0x28 -!define VK_SELECT 0x29 -!define VK_PRINT 0x2A -!define VK_EXECUTE 0x2B -!define VK_SNAPSHOT 0x2C -!define VK_INSERT 0x2D -!define VK_DELETE 0x2E -!define VK_HELP 0x2F -; VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) -; VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) -!define VK_LWIN 0x5B -!define VK_RWIN 0x5C -!define VK_APPS 0x5D -!define VK_SLEEP 0x5F -!define VK_NUMPAD0 0x60 -!define VK_NUMPAD1 0x61 -!define VK_NUMPAD2 0x62 -!define VK_NUMPAD3 0x63 -!define VK_NUMPAD4 0x64 -!define VK_NUMPAD5 0x65 -!define VK_NUMPAD6 0x66 -!define VK_NUMPAD7 0x67 -!define VK_NUMPAD8 0x68 -!define VK_NUMPAD9 0x69 -!define VK_MULTIPLY 0x6A -!define VK_ADD 0x6B -!define VK_SEPARATOR 0x6C -!define VK_SUBTRACT 0x6D -!define VK_DECIMAL 0x6E -!define VK_DIVIDE 0x6F -!define VK_F1 0x70 -!define VK_F2 0x71 -!define VK_F3 0x72 -!define VK_F4 0x73 -!define VK_F5 0x74 -!define VK_F6 0x75 -!define VK_F7 0x76 -!define VK_F8 0x77 -!define VK_F9 0x78 -!define VK_F10 0x79 -!define VK_F11 0x7A -!define VK_F12 0x7B -!define VK_NUMLOCK 0x90 -!define VK_SCROLL 0x91 -!define VK_OEM_NEC_EQUAL 0x92 ; '=' key on numpad -!define VK_LSHIFT 0xA0 -!define VK_RSHIFT 0xA1 -!define VK_LCONTROL 0xA2 -!define VK_RCONTROL 0xA3 -!define VK_LMENU 0xA4 -!define VK_RMENU 0xA5 -!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 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) -!endif - -!ifndef __WIN_MS_NONCMESSAGES -!define HTERROR -2 -!define HTTRANSPARENT -1 -!define HTNOWHERE 0 -!define HTCLIENT 1 -!define HTCAPTION 2 -!define HTSYSMENU 3 -!define HTGROWBOX 4 -!define HTSIZE ${HTGROWBOX} -!define HTMENU 5 -!define HTHSCROLL 6 -!define HTVSCROLL 7 -!define HTMINBUTTON 8 -!define HTMAXBUTTON 9 -!define HTLEFT 10 -!define HTRIGHT 11 -!define HTTOP 12 -!define HTTOPLEFT 13 -!define HTTOPRIGHT 14 -!define HTBOTTOM 15 -!define HTBOTTOMLEFT 16 -!define HTBOTTOMRIGHT 17 -!define HTBORDER 18 -!define HTREDUCE ${HTMINBUTTON} -!define HTZOOM ${HTMAXBUTTON} -!define HTSIZEFIRST ${HTLEFT} -!define HTSIZELAST ${HTBOTTOMRIGHT} -!define HTOBJECT 19 -!define HTCLOSE 20 -!define HTHELP 21 -!endif - -!ifndef __WIN_MS_NOSYSCOMMANDS -!define SC_SIZE 0xF000 -!define SC_MOVE 0xF010 -!define SC_MINIMIZE 0xF020 -!define SC_MAXIMIZE 0xF030 -!define SC_NEXTWINDOW 0xF040 -!define SC_PREVWINDOW 0xF050 -!define SC_CLOSE 0xF060 -!define SC_VSCROLL 0xF070 -!define SC_HSCROLL 0xF080 -!define SC_MOUSEMENU 0xF090 -!define SC_KEYMENU 0xF100 -!define SC_ARRANGE 0xF110 -!define SC_RESTORE 0xF120 -!define SC_TASKLIST 0xF130 -!define SC_SCREENSAVE 0xF140 -!define SC_HOTKEY 0xF150 -!define SC_DEFAULT 0xF160 -!define SC_MONITORPOWER 0xF170 -!define SC_CONTEXTHELP 0xF180 -!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 - -/* in nsDialogs.nsh... -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2*/ - -/* 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 GA_PARENT 1 -!define GA_ROOT 2 -!define GA_ROOTOWNER 3 - -!endif /* __WIN_MS_NOUSER & __WIN_NOINC_WINUSER */ -!verbose pop +!ifndef __WIN_WINUSER__INC +!define __WIN_WINUSER__INC +!verbose push +!verbose 3 +!ifndef __WIN_MS_NOUSER & __WIN_NOINC_WINUSER + +!ifndef __WIN_MS_NOVIRTUALKEYCODES +!define VK_LBUTTON 0x01 +!define VK_RBUTTON 0x02 +!define VK_CANCEL 0x03 +!define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */ +!define VK_XBUTTON1 0x05 /* NOT contiguous with L & RBUTTON */ +!define VK_XBUTTON2 0x06 /* NOT contiguous with L & RBUTTON */ +!define VK_BACK 0x08 +!define VK_TAB 0x09 +!define VK_CLEAR 0x0C +!define VK_RETURN 0x0D +!define VK_SHIFT 0x10 +!define VK_CONTROL 0x11 +!define VK_MENU 0x12 +!define VK_PAUSE 0x13 +!define VK_CAPITAL 0x14 +!define VK_ESCAPE 0x1B +!define VK_CONVERT 0x1C +!define VK_NONCONVERT 0x1D +!define VK_ACCEPT 0x1E +!define VK_MODECHANGE 0x1F +!define VK_SPACE 0x20 +!define VK_PRIOR 0x21 +!define VK_NEXT 0x22 +!define VK_END 0x23 +!define VK_HOME 0x24 +!define VK_LEFT 0x25 +!define VK_UP 0x26 +!define VK_RIGHT 0x27 +!define VK_DOWN 0x28 +!define VK_SELECT 0x29 +!define VK_PRINT 0x2A +!define VK_EXECUTE 0x2B +!define VK_SNAPSHOT 0x2C +!define VK_INSERT 0x2D +!define VK_DELETE 0x2E +!define VK_HELP 0x2F +; VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) +; VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) +!define VK_LWIN 0x5B +!define VK_RWIN 0x5C +!define VK_APPS 0x5D +!define VK_SLEEP 0x5F +!define VK_NUMPAD0 0x60 +!define VK_NUMPAD1 0x61 +!define VK_NUMPAD2 0x62 +!define VK_NUMPAD3 0x63 +!define VK_NUMPAD4 0x64 +!define VK_NUMPAD5 0x65 +!define VK_NUMPAD6 0x66 +!define VK_NUMPAD7 0x67 +!define VK_NUMPAD8 0x68 +!define VK_NUMPAD9 0x69 +!define VK_MULTIPLY 0x6A +!define VK_ADD 0x6B +!define VK_SEPARATOR 0x6C +!define VK_SUBTRACT 0x6D +!define VK_DECIMAL 0x6E +!define VK_DIVIDE 0x6F +!define VK_F1 0x70 +!define VK_F2 0x71 +!define VK_F3 0x72 +!define VK_F4 0x73 +!define VK_F5 0x74 +!define VK_F6 0x75 +!define VK_F7 0x76 +!define VK_F8 0x77 +!define VK_F9 0x78 +!define VK_F10 0x79 +!define VK_F11 0x7A +!define VK_F12 0x7B +!define VK_NUMLOCK 0x90 +!define VK_SCROLL 0x91 +!define VK_OEM_NEC_EQUAL 0x92 ; '=' key on numpad +!define VK_LSHIFT 0xA0 +!define VK_RSHIFT 0xA1 +!define VK_LCONTROL 0xA2 +!define VK_RCONTROL 0xA3 +!define VK_LMENU 0xA4 +!define VK_RMENU 0xA5 +!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 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) +!endif + +!ifndef __WIN_MS_NONCMESSAGES +!define HTERROR -2 +!define HTTRANSPARENT -1 +!define HTNOWHERE 0 +!define HTCLIENT 1 +!define HTCAPTION 2 +!define HTSYSMENU 3 +!define HTGROWBOX 4 +!define HTSIZE ${HTGROWBOX} +!define HTMENU 5 +!define HTHSCROLL 6 +!define HTVSCROLL 7 +!define HTMINBUTTON 8 +!define HTMAXBUTTON 9 +!define HTLEFT 10 +!define HTRIGHT 11 +!define HTTOP 12 +!define HTTOPLEFT 13 +!define HTTOPRIGHT 14 +!define HTBOTTOM 15 +!define HTBOTTOMLEFT 16 +!define HTBOTTOMRIGHT 17 +!define HTBORDER 18 +!define HTREDUCE ${HTMINBUTTON} +!define HTZOOM ${HTMAXBUTTON} +!define HTSIZEFIRST ${HTLEFT} +!define HTSIZELAST ${HTBOTTOMRIGHT} +!define HTOBJECT 19 +!define HTCLOSE 20 +!define HTHELP 21 +!endif + +!ifndef __WIN_MS_NOSYSCOMMANDS +!define SC_SIZE 0xF000 +!define SC_MOVE 0xF010 +!define SC_MINIMIZE 0xF020 +!define SC_MAXIMIZE 0xF030 +!define SC_NEXTWINDOW 0xF040 +!define SC_PREVWINDOW 0xF050 +!define SC_CLOSE 0xF060 +!define SC_VSCROLL 0xF070 +!define SC_HSCROLL 0xF080 +!define SC_MOUSEMENU 0xF090 +!define SC_KEYMENU 0xF100 +!define SC_ARRANGE 0xF110 +!define SC_RESTORE 0xF120 +!define SC_TASKLIST 0xF130 +!define SC_SCREENSAVE 0xF140 +!define SC_HOTKEY 0xF150 +!define SC_DEFAULT 0xF160 +!define SC_MONITORPOWER 0xF170 +!define SC_CONTEXTHELP 0xF180 +!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 + +/* in nsDialogs.nsh... +!define IMAGE_BITMAP 0 +!define IMAGE_ICON 1 +!define IMAGE_CURSOR 2*/ + +/* 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 GA_PARENT 1 +!define GA_ROOT 2 +!define GA_ROOTOWNER 3 + +!endif /* __WIN_MS_NOUSER & __WIN_NOINC_WINUSER */ +!verbose pop !endif /* __WIN_WINUSER__INC */ \ No newline at end of file diff --git a/Include/WinCore.nsh b/Include/WinCore.nsh index aac73aa5..0aa5ab04 100644 --- a/Include/WinCore.nsh +++ b/Include/WinCore.nsh @@ -1,214 +1,214 @@ -/* - -WinCore.nsh & Win\*.nsh - Collection of common windows defines - -!define __WIN_NOINC_xxx to exclude a windows header file -!define __WIN_MS_xxx to exclude specific things (The original #ifdef xxx checks can be found in the official Microsoft headers) - -*/ - -!ifndef __WIN_WINDOWS__INC -!define __WIN_WINDOWS__INC -!verbose push -!verbose 3 - - -!define __WIN_PTRSIZE 4 ;will we ever see a 64 bit version? - - -!include Win\WinDef.nsh -!include Win\WinError.nsh -!include Win\WinNT.nsh -!include Win\WinUser.nsh - -!ifndef __WIN_MS_NOWINMESSAGES -!include WinMessages.nsh -!endif - - - - - -/************************************************** -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 WAIT_FAILED 0xFFFFFFFF -!define WAIT_OBJECT_0 0 ;((STATUS_WAIT_0 ) + 0 ) - -!define WAIT_ABANDONED 0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 ) -!define WAIT_ABANDONED_0 0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 ) - -!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 - -!define FILE_TYPE_UNKNOWN 0x0000 -!define FILE_TYPE_DISK 0x0001 -!define FILE_TYPE_CHAR 0x0002 -!define FILE_TYPE_PIPE 0x0003 -!define FILE_TYPE_REMOTE 0x8000 - -!define STD_INPUT_HANDLE -10 -!define STD_OUTPUT_HANDLE -11 -!define STD_ERROR_HANDLE -12 - -#define IGNORE 0 ; Ignore signal -!define INFINITE 0xFFFFFFFF ; Infinite timeout - -!endif /* __WIN_NOINC_WINBASE */ - - - - - -/************************************************** -WinGDI.h -**************************************************/ -!ifndef __WIN_MS_NOGDI & __WIN_NOINC_WINGDI -!define HORZRES 8 -!define VERTRES 10 -!define BITSPIXEL 12 -!define LOGPIXELSX 88 -!define LOGPIXELSY 90 -!define COLORRES 108 -!define VREFRESH 116 -!define DESKTOPVERTRES 117 -!define DESKTOPHORZRES 118 -!endif /* __WIN_MS_NOGDI & __WIN_NOINC_WINGDI */ - - - - - -/************************************************** -WinReg.h -**************************************************/ -!ifndef __WIN_NOINC_WINREG -!ifndef __WIN_NOHKEY & HKEY_CLASSES_ROOT & HKEY_CURRENT_USER & HKEY_LOCAL_MACHINE & HKEY_USERS -!define HKEY_CLASSES_ROOT 0x80000000 -!define HKEY_CURRENT_USER 0x80000001 -!define HKEY_LOCAL_MACHINE 0x80000002 -!define HKEY_USERS 0x80000003 -!define HKEY_PERFORMANCE_DATA 0x80000004 -!define HKEY_PERFORMANCE_TEXT 0x80000050 -!define HKEY_PERFORMANCE_NLSTEXT 0x80000060 -!define HKEY_CURRENT_CONFIG 0x80000005 -!define HKEY_DYN_DATA 0x80000006 -!ifndef __WIN_NOSHORTHKEY & HKCR & HKCU & HKLM -!define HKCR ${HKEY_CLASSES_ROOT} -!define HKCU ${HKEY_CURRENT_USER} -!define HKLM ${HKEY_LOCAL_MACHINE} -!endif -!endif -!endif /* __WIN_NOINC_WINREG */ - - - - - -/************************************************** -WindowsX.h -**************************************************/ -!ifndef __WIN_NOINC_WINDOWSX -!ifndef GET_X_LPARAM & GET_Y_LPARAM -!macro _Win_GET_X_LPARAM _outvar _in -IntOp ${_outvar} "${_in}" << 16 ;We can't just use LOWORD, we need to keep the sign, -IntOp ${_outvar} ${_outvar} >> 16 ;so we let NSIS sign extend for us -!macroend -!define GET_X_LPARAM "!insertmacro _Win_GET_X_LPARAM " -!macro _Win_GET_Y_LPARAM _outvar _in -IntOp ${_outvar} "${_in}" >> 16 -!macroend -!define GET_Y_LPARAM "!insertmacro _Win_GET_Y_LPARAM " -!endif -!endif /* __WIN_NOINC_WINDOWSX */ - - - - - -/************************************************** -ShlObj.h -**************************************************/ -!ifndef __WIN_NOINC_SHLOBJ -!ifndef __WIN_NOSHELLFOLDERCSIDL -!define CSIDL_DESKTOP 0x0000 -!define CSIDL_INTERNET 0x0001 ;Internet Explorer (icon on desktop) -!define CSIDL_PROGRAMS 0x0002 ;Start Menu\Programs -!define CSIDL_CONTROLS 0x0003 ;My Computer\Control Panel -!define CSIDL_PRINTERS 0x0004 ;My Computer\Printers -!define CSIDL_PERSONAL 0x0005 ;My Documents -!define CSIDL_FAVORITES 0x0006 ;\Favorites -!define CSIDL_STARTUP 0x0007 ;Start Menu\Programs\Startup -!define CSIDL_RECENT 0x0008 ;\Recent -!define CSIDL_SENDTO 0x0009 ;\SendTo -!define CSIDL_BITBUCKET 0x000a ;\Recycle Bin -!define CSIDL_STARTMENU 0x000b ;\Start Menu -!define CSIDL_MYDOCUMENTS 0x000c ;logical "My Documents" desktop icon -!define CSIDL_MYMUSIC 0x000d ;"My Music" folder -!define CSIDL_MYVIDEO 0x000e ;"My Videos" folder -!define CSIDL_DESKTOPDIRECTORY 0x0010 ;\Desktop -!define CSIDL_DRIVES 0x0011 ;My Computer -!define CSIDL_NETWORK 0x0012 ;Network Neighborhood -!define CSIDL_NETHOOD 0x0013 ;\nethood -!define CSIDL_FONTS 0x0014 ;windows\fonts -!define CSIDL_TEMPLATES 0x0015 -!define CSIDL_COMMON_STARTMENU 0x0016 ;All Users\Start Menu -!define CSIDL_COMMON_PROGRAMS 0x0017 ;All Users\Start Menu\Programs -!define CSIDL_COMMON_STARTUP 0x0018 ;All Users\Startup -!define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 ;All Users\Desktop -!define CSIDL_APPDATA 0x001a ;\Application Data -!define CSIDL_PRINTHOOD 0x001b ;\PrintHood -!define CSIDL_LOCAL_APPDATA 0x001c ;\Local Settings\Applicaiton Data (non roaming) -!define CSIDL_ALTSTARTUP 0x001d ;non localized startup -!define CSIDL_COMMON_ALTSTARTUP 0x001e ;non localized common startup -!define CSIDL_COMMON_FAVORITES 0x001f -!define CSIDL_INTERNET_CACHE 0x0020 -!define CSIDL_COOKIES 0x0021 -!define CSIDL_HISTORY 0x0022 -!define CSIDL_COMMON_APPDATA 0x0023 ;All Users\Application Data -!define CSIDL_WINDOWS 0x0024 ;GetWindowsDirectory -!define CSIDL_SYSTEM 0x0025 ;GetSystemDirectory -!define CSIDL_PROGRAM_FILES 0x0026 ;C:\Program Files -!define CSIDL_MYPICTURES 0x0027 -!define CSIDL_PROFILE 0x0028 ;USERPROFILE -!define CSIDL_SYSTEMX86 0x0029 ;x86 system directory on RISC -!define CSIDL_PROGRAM_FILESX86 0x002a ;x86 C:\Program Files on RISC -!define CSIDL_PROGRAM_FILES_COMMON 0x002b ;C:\Program Files\Common -!define CSIDL_PROGRAM_FILES_COMMONX86 0x002c ;x86 Program Files\Common on RISC -!define CSIDL_COMMON_TEMPLATES 0x002d ;All Users\Templates -!define CSIDL_COMMON_DOCUMENTS 0x002e ;All Users\Documents -!define CSIDL_COMMON_ADMINTOOLS 0x002f ;All Users\Start Menu\Programs\Administrative Tools -!define CSIDL_ADMINTOOLS 0x0030 ;\Start Menu\Programs\Administrative Tools -!define CSIDL_CONNECTIONS 0x0031 ;Network and Dial-up Connections -!define CSIDL_COMMON_MUSIC 0x0035 ;All Users\My Music -!define CSIDL_COMMON_PICTURES 0x0036 ;All Users\My Pictures -!define CSIDL_COMMON_VIDEO 0x0037 ;All Users\My Video -!define CSIDL_RESOURCES 0x0038 ;Resource Direcotry -!define CSIDL_RESOURCES_LOCALIZED 0x0039 ;Localized Resource Direcotry -!define CSIDL_COMMON_OEM_LINKS 0x003a ;Links to All Users OEM specific apps -!define CSIDL_CDBURN_AREA 0x003b ;USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning -!define CSIDL_COMPUTERSNEARME 0x003d ;Computers Near Me (computered from Workgroup membership) -!define CSIDL_FLAG_CREATE 0x8000 ;combine with CSIDL_ value to force folder creation in SHGetFolderPath() -!define CSIDL_FLAG_DONT_VERIFY 0x4000 ;combine with CSIDL_ value to return an unverified folder path -!define CSIDL_FLAG_NO_ALIAS 0x1000 ;combine with CSIDL_ value to insure non-alias versions of the pidl -!define CSIDL_FLAG_PER_USER_INIT 0x0800 ;combine with CSIDL_ value to indicate per-user init (eg. upgrade) -!define CSIDL_FLAG_MASK 0xFF00 -!endif /* __WIN_NOSHELLFOLDERCSIDL */ -!endif /* __WIN_NOINC_SHLOBJ */ - - - - -!verbose pop +/* + +WinCore.nsh & Win\*.nsh - Collection of common windows defines + +!define __WIN_NOINC_xxx to exclude a windows header file +!define __WIN_MS_xxx to exclude specific things (The original #ifdef xxx checks can be found in the official Microsoft headers) + +*/ + +!ifndef __WIN_WINDOWS__INC +!define __WIN_WINDOWS__INC +!verbose push +!verbose 3 + + +!define __WIN_PTRSIZE 4 ;will we ever see a 64 bit version? + + +!include Win\WinDef.nsh +!include Win\WinError.nsh +!include Win\WinNT.nsh +!include Win\WinUser.nsh + +!ifndef __WIN_MS_NOWINMESSAGES +!include WinMessages.nsh +!endif + + + + + +/************************************************** +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 WAIT_FAILED 0xFFFFFFFF +!define WAIT_OBJECT_0 0 ;((STATUS_WAIT_0 ) + 0 ) + +!define WAIT_ABANDONED 0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 ) +!define WAIT_ABANDONED_0 0x80 ;((STATUS_ABANDONED_WAIT_0 ) + 0 ) + +!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 + +!define FILE_TYPE_UNKNOWN 0x0000 +!define FILE_TYPE_DISK 0x0001 +!define FILE_TYPE_CHAR 0x0002 +!define FILE_TYPE_PIPE 0x0003 +!define FILE_TYPE_REMOTE 0x8000 + +!define STD_INPUT_HANDLE -10 +!define STD_OUTPUT_HANDLE -11 +!define STD_ERROR_HANDLE -12 + +#define IGNORE 0 ; Ignore signal +!define INFINITE 0xFFFFFFFF ; Infinite timeout + +!endif /* __WIN_NOINC_WINBASE */ + + + + + +/************************************************** +WinGDI.h +**************************************************/ +!ifndef __WIN_MS_NOGDI & __WIN_NOINC_WINGDI +!define HORZRES 8 +!define VERTRES 10 +!define BITSPIXEL 12 +!define LOGPIXELSX 88 +!define LOGPIXELSY 90 +!define COLORRES 108 +!define VREFRESH 116 +!define DESKTOPVERTRES 117 +!define DESKTOPHORZRES 118 +!endif /* __WIN_MS_NOGDI & __WIN_NOINC_WINGDI */ + + + + + +/************************************************** +WinReg.h +**************************************************/ +!ifndef __WIN_NOINC_WINREG +!ifndef __WIN_NOHKEY & HKEY_CLASSES_ROOT & HKEY_CURRENT_USER & HKEY_LOCAL_MACHINE & HKEY_USERS +!define HKEY_CLASSES_ROOT 0x80000000 +!define HKEY_CURRENT_USER 0x80000001 +!define HKEY_LOCAL_MACHINE 0x80000002 +!define HKEY_USERS 0x80000003 +!define HKEY_PERFORMANCE_DATA 0x80000004 +!define HKEY_PERFORMANCE_TEXT 0x80000050 +!define HKEY_PERFORMANCE_NLSTEXT 0x80000060 +!define HKEY_CURRENT_CONFIG 0x80000005 +!define HKEY_DYN_DATA 0x80000006 +!ifndef __WIN_NOSHORTHKEY & HKCR & HKCU & HKLM +!define HKCR ${HKEY_CLASSES_ROOT} +!define HKCU ${HKEY_CURRENT_USER} +!define HKLM ${HKEY_LOCAL_MACHINE} +!endif +!endif +!endif /* __WIN_NOINC_WINREG */ + + + + + +/************************************************** +WindowsX.h +**************************************************/ +!ifndef __WIN_NOINC_WINDOWSX +!ifndef GET_X_LPARAM & GET_Y_LPARAM +!macro _Win_GET_X_LPARAM _outvar _in +IntOp ${_outvar} "${_in}" << 16 ;We can't just use LOWORD, we need to keep the sign, +IntOp ${_outvar} ${_outvar} >> 16 ;so we let NSIS sign extend for us +!macroend +!define GET_X_LPARAM "!insertmacro _Win_GET_X_LPARAM " +!macro _Win_GET_Y_LPARAM _outvar _in +IntOp ${_outvar} "${_in}" >> 16 +!macroend +!define GET_Y_LPARAM "!insertmacro _Win_GET_Y_LPARAM " +!endif +!endif /* __WIN_NOINC_WINDOWSX */ + + + + + +/************************************************** +ShlObj.h +**************************************************/ +!ifndef __WIN_NOINC_SHLOBJ +!ifndef __WIN_NOSHELLFOLDERCSIDL +!define CSIDL_DESKTOP 0x0000 +!define CSIDL_INTERNET 0x0001 ;Internet Explorer (icon on desktop) +!define CSIDL_PROGRAMS 0x0002 ;Start Menu\Programs +!define CSIDL_CONTROLS 0x0003 ;My Computer\Control Panel +!define CSIDL_PRINTERS 0x0004 ;My Computer\Printers +!define CSIDL_PERSONAL 0x0005 ;My Documents +!define CSIDL_FAVORITES 0x0006 ;\Favorites +!define CSIDL_STARTUP 0x0007 ;Start Menu\Programs\Startup +!define CSIDL_RECENT 0x0008 ;\Recent +!define CSIDL_SENDTO 0x0009 ;\SendTo +!define CSIDL_BITBUCKET 0x000a ;\Recycle Bin +!define CSIDL_STARTMENU 0x000b ;\Start Menu +!define CSIDL_MYDOCUMENTS 0x000c ;logical "My Documents" desktop icon +!define CSIDL_MYMUSIC 0x000d ;"My Music" folder +!define CSIDL_MYVIDEO 0x000e ;"My Videos" folder +!define CSIDL_DESKTOPDIRECTORY 0x0010 ;\Desktop +!define CSIDL_DRIVES 0x0011 ;My Computer +!define CSIDL_NETWORK 0x0012 ;Network Neighborhood +!define CSIDL_NETHOOD 0x0013 ;\nethood +!define CSIDL_FONTS 0x0014 ;windows\fonts +!define CSIDL_TEMPLATES 0x0015 +!define CSIDL_COMMON_STARTMENU 0x0016 ;All Users\Start Menu +!define CSIDL_COMMON_PROGRAMS 0x0017 ;All Users\Start Menu\Programs +!define CSIDL_COMMON_STARTUP 0x0018 ;All Users\Startup +!define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019 ;All Users\Desktop +!define CSIDL_APPDATA 0x001a ;\Application Data +!define CSIDL_PRINTHOOD 0x001b ;\PrintHood +!define CSIDL_LOCAL_APPDATA 0x001c ;\Local Settings\Applicaiton Data (non roaming) +!define CSIDL_ALTSTARTUP 0x001d ;non localized startup +!define CSIDL_COMMON_ALTSTARTUP 0x001e ;non localized common startup +!define CSIDL_COMMON_FAVORITES 0x001f +!define CSIDL_INTERNET_CACHE 0x0020 +!define CSIDL_COOKIES 0x0021 +!define CSIDL_HISTORY 0x0022 +!define CSIDL_COMMON_APPDATA 0x0023 ;All Users\Application Data +!define CSIDL_WINDOWS 0x0024 ;GetWindowsDirectory +!define CSIDL_SYSTEM 0x0025 ;GetSystemDirectory +!define CSIDL_PROGRAM_FILES 0x0026 ;C:\Program Files +!define CSIDL_MYPICTURES 0x0027 +!define CSIDL_PROFILE 0x0028 ;USERPROFILE +!define CSIDL_SYSTEMX86 0x0029 ;x86 system directory on RISC +!define CSIDL_PROGRAM_FILESX86 0x002a ;x86 C:\Program Files on RISC +!define CSIDL_PROGRAM_FILES_COMMON 0x002b ;C:\Program Files\Common +!define CSIDL_PROGRAM_FILES_COMMONX86 0x002c ;x86 Program Files\Common on RISC +!define CSIDL_COMMON_TEMPLATES 0x002d ;All Users\Templates +!define CSIDL_COMMON_DOCUMENTS 0x002e ;All Users\Documents +!define CSIDL_COMMON_ADMINTOOLS 0x002f ;All Users\Start Menu\Programs\Administrative Tools +!define CSIDL_ADMINTOOLS 0x0030 ;\Start Menu\Programs\Administrative Tools +!define CSIDL_CONNECTIONS 0x0031 ;Network and Dial-up Connections +!define CSIDL_COMMON_MUSIC 0x0035 ;All Users\My Music +!define CSIDL_COMMON_PICTURES 0x0036 ;All Users\My Pictures +!define CSIDL_COMMON_VIDEO 0x0037 ;All Users\My Video +!define CSIDL_RESOURCES 0x0038 ;Resource Direcotry +!define CSIDL_RESOURCES_LOCALIZED 0x0039 ;Localized Resource Direcotry +!define CSIDL_COMMON_OEM_LINKS 0x003a ;Links to All Users OEM specific apps +!define CSIDL_CDBURN_AREA 0x003b ;USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning +!define CSIDL_COMPUTERSNEARME 0x003d ;Computers Near Me (computered from Workgroup membership) +!define CSIDL_FLAG_CREATE 0x8000 ;combine with CSIDL_ value to force folder creation in SHGetFolderPath() +!define CSIDL_FLAG_DONT_VERIFY 0x4000 ;combine with CSIDL_ value to return an unverified folder path +!define CSIDL_FLAG_NO_ALIAS 0x1000 ;combine with CSIDL_ value to insure non-alias versions of the pidl +!define CSIDL_FLAG_PER_USER_INIT 0x0800 ;combine with CSIDL_ value to indicate per-user init (eg. upgrade) +!define CSIDL_FLAG_MASK 0xFF00 +!endif /* __WIN_NOSHELLFOLDERCSIDL */ +!endif /* __WIN_NOINC_SHLOBJ */ + + + + +!verbose pop !endif /* __WIN_WINDOWS__INC */ \ No newline at end of file