📄 windows.h
字号:
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
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)
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);
#ifdef _LAX
#define MakeProcInstance(__F, __H) MakeProcInstance((FARPROC)__F, __H)
#define FreeProcInstance(__F) FreeProcInstance((FARPROC)__F)
#endif /* _LAX */
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);
void WINAPI Yield(void);
void WINAPI DirectedYield(HTASK);
/****** 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)
#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
/* 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);
#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);
#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 */
#endif /* NOLFILEIO */
/* 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
#define WN_BAD_PASSWORD 0x0006
#define WN_ACCESS_DENIED 0x0007
#define WN_FUNCTION_BUSY 0x0008
#define WN_WINDOWS_ERROR 0x0009
#define WN_BAD_USER 0x000A
#define WN_OUT_OF_MEMORY 0x000B
#define WN_CANCEL 0x000C
#define WN_CONTINUE 0x000D
/* Connection errors */
#define WN_NOT_CONNECTED 0x0030
#define WN_OPEN_FILES 0x0031
#define WN_BAD_NETNAME 0x0032
#define WN_BAD_LOCALNAME 0x0033
#define WN_ALREADY_CONNECTED 0x0034
#define WN_DEVICE_ERROR 0x0035
#define WN_CONNECTION_CLOSED 0x0036
/****** Resource Management *************************************************/
DECLARE_HANDLE(HRSRC);
HRSRC WINAPI FindResource(HINSTANCE, LPCSTR, LPCSTR);
HGLOBAL WINAPI LoadResource(HINSTANCE, HRSRC);
BOOL WINAPI FreeResource(HGLOBAL);
#ifdef STRICT
void FAR* WINAPI LockResource(HGLOBAL);
#else
char FAR* WINAPI LockResource(HGLOBAL);
#endif
#define UnlockResource(h) GlobalUnlock(h)
DWORD WINAPI SizeofResource(HINSTANCE, HRSRC);
int WINAPI AccessResource(HINSTANCE, HRSRC);
HGLOBAL WINAPI AllocResource(HINSTANCE, HRSRC, DWORD);
#ifdef STRICT
typedef HGLOBAL (CALLBACK* RSRCHDLRPROC)(HGLOBAL, HINSTANCE, HRSRC);
#else
typedef FARPROC RSRCHDLRPROC;
#endif
RSRCHDLRPROC WINAPI SetResourceHandler(HINSTANCE, LPCSTR, RSRCHDLRPROC);
#if defined(_WIN30_API)
#define MAKEINTRESOURCE(i) ((LPSTR)MAKELP(0, (i)))
#else
#define MAKEINTRESOURCE(i) ((LPCSTR)MAKELP(0, (i)))
#endif
#ifndef NORESOURCE
/* Predefined Resource Types */
#define RT_CURSOR MAKEINTRESOURCE(1)
#define RT_BITMAP MAKEINTRESOURCE(2)
#define RT_ICON MAKEINTRESOURCE(3)
#define RT_MENU MAKEINTRESOURCE(4)
#define RT_DIALOG MAKEINTRESOURCE(5)
#define RT_STRING MAKEINTRESOURCE(6)
#define RT_FONTDIR MAKEINTRESOURCE(7)
#define RT_FONT MAKEINTRESOURCE(8)
#define RT_ACCELERATOR MAKEINTRESOURCE(9)
#define RT_RCDATA MAKEINTRESOURCE(10)
#define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
#define RT_GROUP_ICON MAKEINTRESOURCE(14)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -