⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mywindows.h

📁 nsis是一个流传比较广的程序安装和解安装封装软件
💻 H
字号:
/* * MyWindows.h *  * This file is a part of LZMA compression module for NSIS. *  * Original LZMA SDK Copyright (C) 1999-2006 Igor Pavlov * Modifications Copyright (C) 2003-2006 Amir Szekely <kichik@netvision.net.il> *  * Licensed under the Common Public License version 1.0 (the "License"); * you may not use this file except in compliance with the License. *  * Licence details can be found in the file COPYING. *  * This software is provided 'as-is', without any express or implied * warranty. */#ifndef __MYWINDOWS_H#define __MYWINDOWS_H#include "../../Platform.h"#ifdef _WIN32#include <windows.h>/*#define CHAR_PATH_SEPARATOR '\\'#define WCHAR_PATH_SEPARATOR L'\\'#define STRING_PATH_SEPARATOR "\\"#define WSTRING_PATH_SEPARATOR L"\\"*/#else/*#define CHAR_PATH_SEPARATOR '/'#define WCHAR_PATH_SEPARATOR L'/'#define STRING_PATH_SEPARATOR "/"#define WSTRING_PATH_SEPARATOR L"/"#include <stddef.h> // for wchar_t#include <string.h>*/#include "MyGuidDef.h"/*typedef char CHAR;typedef unsigned char UCHAR;#undef BYTEtypedef unsigned char BYTE;typedef short SHORT;typedef unsigned short USHORT;#undef WORDtypedef unsigned short WORD;typedef short VARIANT_BOOL;typedef int INT;typedef Int32 INT32;typedef unsigned int UINT;typedef UInt32 UINT32;typedef INT32 LONG;   // LONG, ULONG and DWORD must be 32-bittypedef UINT32 ULONG;#undef DWORDtypedef UINT32 DWORD;typedef Int64 LONGLONG;typedef UInt64 ULONGLONG;typedef struct LARGE_INTEGER { LONGLONG QuadPart; }LARGE_INTEGER;typedef struct _ULARGE_INTEGER { ULONGLONG QuadPart;} ULARGE_INTEGER;typedef const CHAR *LPCSTR;typedef CHAR TCHAR;typedef const TCHAR *LPCTSTR;typedef wchar_t WCHAR;typedef WCHAR OLECHAR;typedef const WCHAR *LPCWSTR;typedef OLECHAR *BSTR;typedef const OLECHAR *LPCOLESTR;typedef OLECHAR *LPOLESTR;*/typedef struct _FILETIME{  DWORD dwLowDateTime;  DWORD dwHighDateTime;}FILETIME;#define HRESULT LONG#define FAILED(Status) ((HRESULT)(Status)<0)typedef ULONG PROPID;typedef LONG SCODE;#define S_OK    ((HRESULT)0x00000000L)#define S_FALSE ((HRESULT)0x00000001L)#define E_NOTIMPL ((HRESULT)0x80004001L)#define E_NOINTERFACE ((HRESULT)0x80004002L)#define E_ABORT ((HRESULT)0x80004004L)#define E_FAIL ((HRESULT)0x80004005L)#define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)#define E_OUTOFMEMORY ((HRESULT)0x8007000EL)#define E_INVALIDARG ((HRESULT)0x80070057L)#ifdef _MSC_VER#define STDMETHODCALLTYPE __stdcall #else#define STDMETHODCALLTYPE #endif#define STDMETHOD_(t, f) virtual t STDMETHODCALLTYPE f#define STDMETHOD(f) STDMETHOD_(HRESULT, f)#define STDMETHODIMP_(type) type STDMETHODCALLTYPE#define STDMETHODIMP STDMETHODIMP_(HRESULT)#define PURE = 0#define MIDL_INTERFACE(x) struct struct IUnknown{  STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;  STDMETHOD_(ULONG, AddRef)() PURE;  STDMETHOD_(ULONG, Release)() PURE;};typedef IUnknown *LPUNKNOWN;#define VARIANT_TRUE ((VARIANT_BOOL)-1)#define VARIANT_FALSE ((VARIANT_BOOL)0)enum VARENUM{	  VT_EMPTY	= 0,	VT_NULL	= 1,	VT_I2	= 2,	VT_I4	= 3,	VT_R4	= 4,	VT_R8	= 5,	VT_CY	= 6,	VT_DATE	= 7,	VT_BSTR	= 8,	VT_DISPATCH	= 9,	VT_ERROR	= 10,	VT_BOOL	= 11,	VT_VARIANT	= 12,	VT_UNKNOWN	= 13,	VT_DECIMAL	= 14,	VT_I1	= 16,	VT_UI1	= 17,	VT_UI2	= 18,	VT_UI4	= 19,	VT_I8	= 20,	VT_UI8	= 21,	VT_INT	= 22,	VT_UINT	= 23,	VT_VOID	= 24,	VT_HRESULT	= 25,	VT_FILETIME	= 64};typedef unsigned short VARTYPE;typedef WORD PROPVAR_PAD1;typedef WORD PROPVAR_PAD2;typedef WORD PROPVAR_PAD3;typedef struct tagPROPVARIANT{  VARTYPE vt;  PROPVAR_PAD1 wReserved1;  PROPVAR_PAD2 wReserved2;  PROPVAR_PAD3 wReserved3;  union   {    CHAR cVal;    UCHAR bVal;    SHORT iVal;    USHORT uiVal;    LONG lVal;    ULONG ulVal;    INT intVal;    UINT uintVal;    LARGE_INTEGER hVal;    ULARGE_INTEGER uhVal;    VARIANT_BOOL boolVal;    SCODE scode;    FILETIME filetime;    BSTR bstrVal;  };} PROPVARIANT;typedef PROPVARIANT tagVARIANT;typedef tagVARIANT VARIANT;typedef VARIANT VARIANTARG;MY_EXTERN_C BSTR SysAllocStringByteLen(LPCSTR psz, UINT len);MY_EXTERN_C BSTR SysAllocString(const OLECHAR *sz);MY_EXTERN_C void SysFreeString(BSTR bstr);MY_EXTERN_C UINT SysStringByteLen(BSTR bstr);MY_EXTERN_C UINT SysStringLen(BSTR bstr);MY_EXTERN_C DWORD GetLastError();MY_EXTERN_C HRESULT VariantClear(VARIANTARG *prop);MY_EXTERN_C HRESULT VariantCopy(VARIANTARG *dest, VARIANTARG *src);MY_EXTERN_C LONG CompareFileTime(const FILETIME* ft1, const FILETIME* ft2);#define CP_ACP    0#define CP_OEMCP  1typedef enum tagSTREAM_SEEK{	  STREAM_SEEK_SET	= 0,  STREAM_SEEK_CUR	= 1,  STREAM_SEEK_END	= 2} STREAM_SEEK;#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -