📄 windows.h
字号:
#define ERR_CREATEDC 0x0080
#define ERR_CREATEMETA 0x0081
#define ERR_DELOBJSELECTED 0x0082
#define ERR_SELBITMAP 0x0083
/* Debugging support (DEBUG SYSTEM ONLY) */
typedef struct tagWINDEBUGINFO
{
UINT flags;
DWORD dwOptions;
DWORD dwFilter;
char achAllocModule[8];
DWORD dwAllocBreak;
DWORD dwAllocCount;
} WINDEBUGINFO;
BOOL WINAPI GetWinDebugInfo(WINDEBUGINFO FAR* lpwdi, UINT flags);
BOOL WINAPI SetWinDebugInfo(const WINDEBUGINFO FAR* lpwdi);
void FAR _cdecl DebugOutput(UINT flags, LPCSTR lpsz, ...);
void WINAPI DebugFillBuffer(void FAR* lpb, UINT cb); /* ;Internal */
/* WINDEBUGINFO flags values */
#define WDI_OPTIONS 0x0001
#define WDI_FILTER 0x0002
#define WDI_ALLOCBREAK 0x0004
#define WDI_VALID 0x0007 /* ;Internal */
/* dwOptions values */
#define DBO_CHECKHEAP 0x0001
#define DBO_BUFFERFILL 0x0004
#define DBO_DISABLEGPTRAPPING 0x0010
#define DBO_CHECKFREE 0x0020
#define DBO_SILENT 0x8000
#define DBO_TRACEBREAK 0x2000
#define DBO_WARNINGBREAK 0x1000
#define DBO_NOERRORBREAK 0x0800
#define DBO_NOFATALBREAK 0x0400
#define DBO_INT3BREAK 0x0100
/* DebugOutput flags values */
#define DBF_TRACE 0x0000
#define DBF_WARNING 0x4000
#define DBF_ERROR 0x8000
#define DBF_FATAL 0xc000
#define DBF_SEVMASK 0xc000 /* ;Internal */
#define DBF_FILTERMASK 0x3fff /* ;Internal */
/* dwFilter values */
#define DBF_KERNEL 0x1000
#define DBF_KRN_MEMMAN 0x0001
#define DBF_KRN_LOADMODULE 0x0002
#define DBF_KRN_SEGMENTLOAD 0x0004
#define DBF_USER 0x0800
#define DBF_GDI 0x0400
#define DBF_MMSYSTEM 0x0040
#define DBF_PENWIN 0x0020
#define DBF_APPLICATION 0x0008
#define DBF_DRIVER 0x0010
#endif /* NOLOGERROR */
#endif /* WINVER >= 0x030a */
void WINAPI FatalExit(int);
void WINAPI FatalAppExit(UINT, LPCSTR);
BOOL WINAPI ExitWindows(DWORD dwReturnCode, UINT wReserved);
#define EW_RESTARTWINDOWS 0x42
#if (WINVER >= 0x030a)
#define EW_REBOOTSYSTEM 0x43
#define EW_EXITANDEXECAPP 0x44 /* ;Internal */
BOOL WINAPI ExitWindowsExec(LPCSTR, LPCSTR);
#endif /* WINVER >= 0x030a */
void WINAPI DebugBreak(void);
void WINAPI OutputDebugString(LPCSTR);
/* SetErrorMode() constants */
#define SEM_FAILCRITICALERRORS 0x0001
#define SEM_NOGPFAULTERRORBOX 0x0002
#define SEM_NOOPENFILEERRORBOX 0x8000
UINT WINAPI SetErrorMode(UINT);
/****** Pointer validation **************************************************/
#if (WINVER >= 0x030a)
BOOL WINAPI IsBadReadPtr(const void FAR* lp, UINT cb);
BOOL WINAPI IsBadWritePtr(void FAR* lp, UINT cb);
BOOL WINAPI IsBadHugeReadPtr(const void _huge* lp, DWORD cb);
BOOL WINAPI IsBadHugeWritePtr(void _huge* lp, DWORD cb);
BOOL WINAPI IsBadCodePtr(FARPROC lpfn);
BOOL WINAPI IsBadStringPtr(const void FAR* lpsz, UINT cchMax);
#endif /* WINVER >= 0x030a */
/****** Profiling support ***************************************************/
#ifndef NOPROFILER
int WINAPI ProfInsChk(void);
void WINAPI ProfSetup(int,int);
void WINAPI ProfSampRate(int,int);
void WINAPI ProfStart(void);
void WINAPI ProfStop(void);
void WINAPI ProfClear(void);
void WINAPI ProfFlush(void);
void WINAPI ProfFinish(void);
#endif /* NOPROFILER */
/****** Catch/Throw and stack management ************************************/
typedef int CATCHBUF[9];
typedef int FAR* LPCATCHBUF;
int WINAPI Catch(int FAR*);
void WINAPI Throw(const int FAR*, int);
void WINAPI SwitchStackBack(void);
void WINAPI SwitchStackTo(UINT, UINT, UINT);
/****** Module Management ***************************************************/
#define HINSTANCE_ERROR ((HINSTANCE)32)
LONG WINAPI GetExpWinVer(HINSTANCE); /* ;Internal */
HINSTANCE WINAPI LoadModule(LPCSTR, LPVOID);
BOOL WINAPI FreeModule(HINSTANCE);
HINSTANCE WINAPI LoadLibrary(LPCSTR);
void WINAPI FreeLibrary(HINSTANCE);
UINT WINAPI WinExec(LPCSTR, UINT);
HMODULE WINAPI GetModuleHandle(LPCSTR);
int WINAPI GetModuleUsage(HINSTANCE);
int WINAPI GetModuleFileName(HINSTANCE, LPSTR, int);
FARPROC WINAPI GetProcAddress(HINSTANCE, LPCSTR);
int WINAPI GetInstanceData(HINSTANCE, BYTE*, int);
HGLOBAL WINAPI GetCodeHandle(FARPROC);
typedef struct tagSEGINFO
{
UINT offSegment;
UINT cbSegment;
UINT flags;
UINT cbAlloc;
HGLOBAL h;
UINT alignShift;
UINT reserved[2];
} SEGINFO;
typedef SEGINFO FAR* LPSEGINFO;
void WINAPI GetCodeInfo(FARPROC lpProc, SEGINFO FAR* lpSegInfo);
FARPROC WINAPI MakeProcInstance(FARPROC, HINSTANCE);
void WINAPI FreeProcInstance(FARPROC);
LONG WINAPI SetSwapAreaSize(UINT);
void WINAPI SwapRecording(UINT);
void WINAPI ValidateCodeSegments(void);
/* Windows Exit Procedure flag values */
#define WEP_SYSTEM_EXIT 1
#define WEP_FREE_DLL 0
/****** Task Management *****************************************************/
#endif /* NOKERNEL */
DECLARE_HANDLE(HTASK);
#ifndef NOKERNEL
UINT WINAPI GetNumTasks(void);
#if (WINVER >= 0x030a)
BOOL WINAPI IsTask(HTASK);
#endif /* WINVER >= 0x030a */
HTASK WINAPI GetCurrentTask(void);
int WINAPI SetPriority(HTASK, int); /* ;Internal */
void WINAPI Yield(void);
void WINAPI DirectedYield(HTASK);
DWORD WINAPI GetAppCompatFlags(HTASK); /* ;Internal */
/* ;Internal */
/* GetAppCompatFlags flag values */ /* ;Internal */
#define GACF_IGNORENODISCARD 0x0001 /* ;Internal */
#define GACF_FORCETEXTBAND 0x0002 /* ;Internal */
#define GACF_ONELANDGRXBAND 0x0004 /* ;Internal */
#define GACF_IGNORETOPMOST 0x0008 /* ;Internal */
#define GACF_CALLTTDEVICE 0x0010 /* ;Internal */
#define GACF_MULTIPLEBANDS 0x0020 /* ;Internal */
#define GACF_ALWAYSSENDNCPAINT 0x0040 /* ;Internal */
#define GACF_EDITSETTEXTMUNGE 0x0080 /* ;Internal */
#define GACF_MOREEXTRAWNDWORDS 0x0100 /* ;Internal */
#define GACF_TTIGNORERASTERDUPE 0x0200 /* ;Internal */
#define GACF_HACKWINFLAGS 0x0400 /* ;Internal */
#define GACF_DELAYHWHNDSHAKECHK 0x0800 /* ;Internal */
#define GACF_ENUMHELVNTMSRMN 0x1000 /* ;Internal */
#define GACF_ENUMTTNOTDEVICE 0x2000 /* ;Internal */
#define GACF_SUBTRACTCLIPSIBS 0x4000 /* ;Internal */
#define GACF_FORCETTGRAPHICS 0x8000 /* ;Internal */
#define GACF_NOHRGN1 0x00010000 /* ;Internal */
#define GACF_NCCALCSIZEONMOVE 0x00020000 /* ;Internal */
#define GACF_SENDMENUDBLCLK 0x00040000 /* ;Internal */
#define GACF_30AVGWIDTH 0x00080000 /* ;Internal */
/****** 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);
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);
/* Low system memory notification message */
#define WM_COMPACTING 0x0041
/***** 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 */
#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);
/* 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;
/* 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -