📄 windows.h
字号:
#define GACF_WINVER31 0x00200000 // ;Internal
#define GACF_INCREASESTACK 0x00400000 // ;Internal
#define GACF_HEAPSLACK 0x00400000 // ;Internal
#define GACF_FAFORCEDRAWBG 0x00400000 // ;Internal Used in FE only
#define GACF_FORCEWIN31DEVMODESIZE 0x00800000 // ;Internal (replaces PEEKMESSAGEIDLE)
#define GACF_31VALIDMASK 0xFFE484AF // ;Internal
#define GACF_DISABLEFONTASSOC 0x01000000 // ;Internal Used in FE only
#define GACF_JAPANESCAPEMENT 0x01000000 // ;Internal Used in FE only
#define GACF_NOINCREASESTACK 0x01000000 // ;Internal Used in FE only
#define GACF_IGNOREFAULTS 0x02000000 // ;Internal
#define GACF_DEQUOTIFYCMDLINE 0x02000000 // ;Internal
#define GACF_ENABLEFONTASSOC 0x02000000 // ;Internal Used in FE only
#define GACF_NOEMFSPOOLING 0x04000000 // ;Internal
#define GACF_RANDOM3XUI 0x08000000 // ;Internal
#define GACF_USEPRINTINGESCAPES 0x00000004 // ;Internal re-use GACF_ONELANDGRXBAND
#define GACF_FORCERASTERMODE 0x00008000 // ;Internal re-use GACF_FORCETTGRAPHICS
#define GACF_FORCEREGPASSTHRU 0x00008000 // ;Internal re-use GACF_FORCERASTERMODE
#define GACF_DONTJOURNALATTACH 0x10000000 // ;Internal
#define GACF_DISABLEDBCSPROPTT 0x20000000 // ;Internal Used in FE only
#define GACF_NOBRUSHCACHE 0x20000000 // ;Internal re-use GACF_DISABLEDBCSPROPTT
#define GACF_55MSSYSTEMTIMER 0x20000000 // ;Internal re-use GACF_NOBRUSHCACHE since this is just used for some games and is system wide too
#define GACF_MIRRORREGFONTS 0x40000000 // ;Internal
#define GACF_WINVER40 0x80000000 // ;Internal fake version 4.00 for these apps.
#define GACF_USEOLDSFWBEHAVIOR 0x00000002 // ;Internal re-use GACF_FORCETEXTBAND
#define GACF_WINVER41 0x00080000 // ;Internal re-use GACF_30AVGWIDTH
#define GACF_INCREASESTACK32 0x00100000 // ;Internal re-use GACF_GETDEVCAPSNUMLIE
/* Module Compatibility flag values */ // ;Internal
#define MCF_FIXEDSEGLOW 0x0001 // ;Internal Win31 behaviour for FIXED segs
#define MCF_MODPATCH 0x0002 // ;Internal has module patches
#define MCF_NODISCARD 0x0004 // ;Internal make all segments in the module not discardable
/****** Global memory management ********************************************/
#ifndef NOMEMMGR
/* Global Memory Flags */
#define GMEM_FIXED 0x0000
#define GMEM_MOVEABLE 0x0002
#define GMEM_NOCOMPACT 0x0010
#define GMEM_NODISCARD 0x0020
#define GMEM_ZEROINIT 0x0040
#define GMEM_MODIFY 0x0080
#define GMEM_DISCARDABLE 0x0100
#define GMEM_NOT_BANKED 0x1000
#define GMEM_SHARE 0x2000
#define GMEM_DDESHARE 0x2000
#define GMEM_NOTIFY 0x4000
#define GMEM_LOWER GMEM_NOT_BANKED
#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
#define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
#define GlobalDiscard(h) GlobalReAlloc(h, 0L, GMEM_MOVEABLE)
HGLOBAL WINAPI GlobalAlloc(UINT, DWORD);
HGLOBAL WINAPI GlobalReAlloc(HGLOBAL, DWORD, UINT);
HGLOBAL WINAPI GlobalFree(HGLOBAL);
DWORD WINAPI GlobalDosAlloc(DWORD);
UINT WINAPI GlobalDosFree(UINT);
#ifdef STRICT
void FAR* WINAPI GlobalLock(HGLOBAL);
#else
char FAR* WINAPI GlobalLock(HGLOBAL);
#endif
BOOL WINAPI GlobalUnlock(HGLOBAL);
DWORD WINAPI GlobalSize(HGLOBAL);
DWORD WINAPI GlobalHandle(UINT);
/* GlobalFlags return flags (in addition to GMEM_DISCARDABLE) */
#define GMEM_DISCARDED 0x4000
#define GMEM_LOCKCOUNT 0x00FF
UINT WINAPI GlobalFlags(HGLOBAL);
#ifdef STRICT
void FAR* WINAPI GlobalWire(HGLOBAL);
#else
char FAR* WINAPI GlobalWire(HGLOBAL);
#endif
BOOL WINAPI GlobalUnWire(HGLOBAL);
UINT WINAPI GlobalPageLock(HGLOBAL);
UINT WINAPI GlobalPageUnlock(HGLOBAL);
#if (WINVER >= 0x0400)
UINT WINAPI GlobalSmartPageLock(HGLOBAL);
UINT WINAPI GlobalSmartPageUnlock(HGLOBAL);
#endif /* WINVER >= 0x0400 */
void WINAPI GlobalFix(HGLOBAL);
void WINAPI GlobalUnfix(HGLOBAL);
HGLOBAL WINAPI GlobalLRUNewest(HGLOBAL);
HGLOBAL WINAPI GlobalLRUOldest(HGLOBAL);
DWORD WINAPI GlobalCompact(DWORD);
#ifdef STRICT
typedef BOOL (CALLBACK* GNOTIFYPROC)(HGLOBAL);
#else
typedef FARPROC GNOTIFYPROC;
#endif
void WINAPI GlobalNotify(GNOTIFYPROC);
HGLOBAL WINAPI LockSegment(UINT);
void WINAPI UnlockSegment(UINT);
#define LockData(dummy) LockSegment((UINT)-1)
#define UnlockData(dummy) UnlockSegment((UINT)-1)
UINT WINAPI AllocSelector(UINT);
UINT WINAPI FreeSelector(UINT);
UINT WINAPI AllocDStoCSAlias(UINT);
UINT WINAPI PrestoChangoSelector(UINT sourceSel, UINT destSel);
DWORD WINAPI GetSelectorBase(UINT);
UINT WINAPI SetSelectorBase(UINT, DWORD);
DWORD WINAPI GetSelectorLimit(UINT);
UINT WINAPI SetSelectorLimit(UINT, DWORD);
void WINAPI LimitEmsPages(DWORD);
void WINAPI ValidateFreeSpaces(void);
/***** Local Memory Management */
/* Local Memory Flags */
#define LMEM_FIXED 0x0000
#define LMEM_MOVEABLE 0x0002
#define LMEM_NOCOMPACT 0x0010
#define LMEM_NODISCARD 0x0020
#define LMEM_ZEROINIT 0x0040
#define LMEM_MODIFY 0x0080
#define LMEM_DISCARDABLE 0x0F00
#define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
#define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
#define NONZEROLHND (LMEM_MOVEABLE)
#define NONZEROLPTR (LMEM_FIXED)
extern UINT NEAR* PASCAL pLocalHeap; /* ;Internal */
#define LocalFreeze(dummy) (*(pLocalHeap+1) += 1) /* ;Internal */
#define LocalMelt(dummy) (*(pLocalHeap+1) -= 1) /* ;Internal */
/* ;Internal */
#define LocalDiscard(h) LocalReAlloc(h, 0, LMEM_MOVEABLE)
HLOCAL WINAPI LocalAlloc(UINT, UINT);
HLOCAL WINAPI LocalReAlloc(HLOCAL, UINT, UINT);
HLOCAL WINAPI LocalFree(HLOCAL);
#ifdef STRICT
void NEAR* WINAPI LocalLock(HLOCAL);
#else
char NEAR* WINAPI LocalLock(HLOCAL);
#endif
BOOL WINAPI LocalUnlock(HLOCAL);
UINT WINAPI LocalSize(HLOCAL);
#ifdef STRICT
HLOCAL WINAPI LocalHandle(void NEAR*);
#else
HLOCAL WINAPI LocalHandle(UINT);
#endif
UINT WINAPI LocalHandleDelta(UINT); /* ;Internal */
/* LocalFlags return flags (in addition to LMEM_DISCARDABLE) */
#define LMEM_DISCARDED 0x4000
#define LMEM_LOCKCOUNT 0x00FF
UINT WINAPI LocalFlags(HLOCAL);
BOOL WINAPI LocalInit(UINT, UINT, UINT);
UINT WINAPI LocalCompact(UINT);
UINT WINAPI LocalShrink(HLOCAL, UINT);
/* ;Internal */
/* LocalNotify callback */ /* ;Internal */
#ifdef STRICT /* ;Internal */
typedef BOOL (CALLBACK* LNOTIFYPROC)(UINT, HLOCAL, void NEAR*); /* ;Internal */
#else /* ;Internal */
typedef FARPROC LNOTIFYPROC; /* ;Internal */
#endif /* ;Internal */
/* ;Internal */
#define LNOTIFY_OUTOFMEM 0 /* ;Internal */
#define LNOTIFY_MOVE 1 /* ;Internal */
#define LNOTIFY_DISCARD 2 /* ;Internal */
/* ;Internal */
LNOTIFYPROC WINAPI LocalNotify(LNOTIFYPROC); /* ;Internal */
/* ;Internal */
#endif /* NOMEMMGR */
/****** File I/O ************************************************************/
#ifndef NOLFILEIO
typedef int HFILE; /* Polymorphic with C runtime file handle type */
#define HFILE_ERROR ((HFILE)-1)
#ifndef NOOPENFILE
/* OpenFile() Structure */
typedef struct tagOFSTRUCT
{
BYTE cBytes;
BYTE fFixedDisk;
UINT nErrCode;
BYTE reserved[4];
char szPathName[128];
} OFSTRUCT;
typedef OFSTRUCT* POFSTRUCT;
typedef OFSTRUCT NEAR* NPOFSTRUCT;
typedef OFSTRUCT FAR* LPOFSTRUCT;
#if (WINVER >= 0x0400)
/* OpenFileEx() Structure */
typedef struct tagOFSTRUCTEX
{
WORD nBytes;
BYTE fFixedDisk;
UINT nErrCode;
BYTE reserved[4];
char szPathName[260];
} OFSTRUCTEX;
typedef OFSTRUCTEX* POFSTRUCTEX;
typedef OFSTRUCTEX NEAR* NPOFSTRUCTEX;
typedef OFSTRUCTEX FAR* LPOFSTRUCTEX;
#endif /* WINVER >= 0x0400 */
/* OpenFile() Flags */
#define OF_READ 0x0000
#define OF_WRITE 0x0001
#define OF_READWRITE 0x0002
#define OF_SHARE_COMPAT 0x0000
#define OF_SHARE_EXCLUSIVE 0x0010
#define OF_SHARE_DENY_WRITE 0x0020
#define OF_SHARE_DENY_READ 0x0030
#define OF_SHARE_DENY_NONE 0x0040
#define OF_PARSE 0x0100
#define OF_DELETE 0x0200
#define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
#define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
#define OF_CANCEL 0x0800
#define OF_CREATE 0x1000
#define OF_PROMPT 0x2000
#define OF_EXIST 0x4000
#define OF_REOPEN 0x8000
HFILE WINAPI OpenFile(LPCSTR, OFSTRUCT FAR*, UINT);
#if (WINVER >= 0x0400)
HFILE WINAPI OpenFileEx(LPCSTR, OFSTRUCTEX FAR*, UINT);
#endif /* WINVER >= 0x0400 */
#endif /* NOOPENFILE */
/* _lopen() flags */
#define READ 0
#define WRITE 1
#define READ_WRITE 2
HFILE WINAPI _lopen(LPCSTR, int);
HFILE WINAPI _lcreat(LPCSTR, int);
HFILE WINAPI _lclose(HFILE);
LONG WINAPI _llseek(HFILE, LONG, int);
/* _llseek origin values */
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
UINT WINAPI _lread(HFILE, void _huge*, UINT);
UINT WINAPI _lwrite(HFILE, const void _huge*, UINT);
#if (WINVER >= 0x030a)
long WINAPI _hread(HFILE, void _huge*, long);
long WINAPI _hwrite(HFILE, const void _huge*, long);
#endif /* WINVER >= 0x030a */
UINT WINAPI DeletePathname(LPCSTR); /* ;Internal */
/* ;Internal */
#endif /* NOLFILEIO */
#if (WINVER >= 0x0400)
DWORD WINAPI GetCurrentDirectory(DWORD, LPSTR);
BOOL WINAPI SetCurrentDirectory(LPCSTR);
#define MAX_PATH 260
#define _FILETIME_
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME, NEAR *PFILETIME, FAR *LPFILETIME;
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
char cFileName[ MAX_PATH ];
char cAlternateFileName[ 14 ];
} WIN32_FIND_DATA, NEAR *PWIN32_FIND_DATA, FAR *LPWIN32_FIND_DATA;
#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_NORMAL 0x00000080
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
#define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200
#define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400
DECLARE_HANDLE32(HFINDFILE);
#define INVALID_HFINDFILE ((HFINDFILE)-1)
HFINDFILE WINAPI FindFirstFile(LPCSTR, LPWIN32_FIND_DATA);
BOOL WINAPI FindNextFile(HFINDFILE, LPWIN32_FIND_DATA);
BOOL WINAPI FindClose(HFINDFILE);
DWORD WINAPI GetFileAttributes(LPCSTR);
BOOL WINAPI SetFileAttributes(LPCSTR, DWORD);
BOOL WINAPI GetDiskFreeSpace(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
BOOL WINAPI CreateDirectory(LPCSTR, LPVOID);
BOOL WINAPI RemoveDirectory(LPCSTR);
BOOL WINAPI DeleteFile(LPCSTR);
#endif /* WINVER >= 0x0400 */
/* GetTempFileName() Flags */
#define TF_FORCEDRIVE (BYTE)0x80
int WINAPI GetTempFileName(BYTE, LPCSTR, UINT, LPSTR);
BYTE WINAPI GetTempDrive(char);
/* GetDriveType return values */
#define DRIVE_REMOVABLE 2
#define DRIVE_FIXED 3
#define DRIVE_REMOTE 4
UINT WINAPI GetDriveType(int);
UINT WINAPI SetHandleCount(UINT);
/****** Network support *****************************************************/
UINT WINAPI WNetAddConnection(LPSTR, LPSTR, LPSTR);
UINT WINAPI WNetGetConnection(LPSTR, LPSTR, UINT FAR*);
UINT WINAPI WNetCancelConnection(LPSTR, BOOL);
/* Errors */
#define WN_SUCCESS 0x0000
#define WN_NOT_SUPPORTED 0x0001
#define WN_NET_ERROR 0x0002
#define WN_MORE_DATA 0x0003
#define WN_BAD_POINTER 0x0004
#define WN_BAD_VALUE 0x0005
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -