windows.h

windows.h是計算機中的一個頭檔案。

基本介紹

  • 外文名:windows.h
  • (核心)函式:WINBASE.H Kernel
  • WINGDI.H: 圖形設備接口函式
  • 重要部分:Windows檔案中
概述,檔案內容,作用,用法,

概述

Win32程式的開頭都可看到:
#include <windows.h>
Windows.h是一個最重要的頭檔案,它包含了其他Windows頭檔案,這些頭檔案的某些也包含了其他頭檔案。這些頭檔案中最重要的和最基本的是:
Windef.h 基本數據類型定義。
Winnt.h 支持Unicode的類型定義。
Winbase.h Kernel(核心)函式。
Winuser.h 用戶界面函式。
Wingdi.h 圖形設備接口函式
這些頭檔案定義了Windows的所有資料型態、函式調用資料結構和常數識別字,它們是Windows檔案中的一個重要部分。
檔案路徑 Windows 64位系統:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include。[Windows 7 SDK]
C:\Program Files (x86)\Windows Kits\8.0\Include\um [Windows 8 SDK]
C:\Program Files (x86)\Windows Kits\8.1\Include\um [Windows 8.1 SDK]
不同版本的SDK位置不一樣,x86的在C:\Program Files\ 相應的SDK下。

檔案內容

#include <winapifamily.h>/*++ BUILD Version: 0001    Increment this if a change has global effectsCopyright (c) Microsoft Corporation. All rights reserved.Module Name:    windows.hAbstract:    Master include file for Windows applications.--*/#ifndef _WINDOWS_#define _WINDOWS_#include <sdkddkver.h>#ifndef _INC_WINDOWS#define _INC_WINDOWS#if defined (_MSC_VER) && (_MSC_VER >= 1020)#pragma once#endif#pragma region Application Family#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)/*  If defined, the following flags inhibit definition *     of the indicated items. * *  NOGDICAPMASKS     - CC_*, LC_*, PC_*, CP_*, TC_*, RC_ *  NOVIRTUALKEYCODES - VK_* *  NOWINMESSAGES     - WM_*, EM_*, LB_*, CB_* *  NOWINSTYLES       - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_* *  NOSYSMETRICS      - SM_* *  NOMENUS           - MF_* *  NOICONS           - IDI_* *  NOKEYSTATES       - MK_* *  NOSYSCOMMANDS     - SC_* *  NORASTEROPS       - Binary and Tertiary raster ops *  NOSHOWWINDOW      - SW_* *  OEMRESOURCE       - OEM Resource values *  NOATOM            - Atom Manager routines *  NOCLIPBOARD       - Clipboard routines *  NOCOLOR           - Screen colors *  NOCTLMGR          - Control and Dialog routines *  NODRAWTEXT        - DrawText() and DT_* *  NOGDI             - All GDI defines and routines *  NOKERNEL          - All KERNEL defines and routines *  NOUSER            - All USER defines and routines *  NONLS             - All NLS defines and routines *  NOMB              - MB_* and MessageBox() *  NOMEMMGR          - GMEM_*, LMEM_*, GHND, LHND, associated routines *  NOMETAFILE        - typedef METAFILEPICT *  NOMINMAX          - Macros min(a,b) and max(a,b) *  NOMSG             - typedef MSG and associated routines *  NOOPENFILE        - OpenFile(), OemToAnsi, AnsiToOem, and OF_* *  NOSCROLL          - SB_* and scrolling routines *  NOSERVICE         - All Service Controller routines, SERVICE_ equates, etc. *  NOSOUND           - Sound driver routines *  NOTEXTMETRIC      - typedef TEXTMETRIC and associated routines *  NOWH              - SetWindowsHook and WH_* *  NOWINOFFSETS      - GWL_*, GCL_*, associated routines *  NOCOMM            - COMM driver routines *  NOKANJI           - Kanji support stuff. *  NOHELP            - Help engine interface. *  NOPROFILER        - Profiler interface. *  NODEFERWINDOWPOS  - DeferWindowPos routines *  NOMCX             - Modem Configuration Extensions */#if defined(RC_INVOKED) && !defined(NOWINRES)#include <winresrc.h>#else#if defined(RC_INVOKED)/* Turn off a bunch of stuff to ensure that RC files compile OK. */#define NOATOM#define NOGDI#define NOGDICAPMASKS#define NOMETAFILE#define NOMINMAX#define NOMSG#define NOOPENFILE#define NORASTEROPS#define NOSCROLL#define NOSOUND#define NOSYSMETRICS#define NOTEXTMETRIC#define NOWH#define NOCOMM#define NOKANJI#define NOCRYPT#define NOMCX#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_IX86)#define _X86_#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_AMD64)#define _AMD64_#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_ARM)#define _ARM_#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_M68K)#define _68K_#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_MPPC)#define _MPPC_#endif#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && !defined(_ARM_) && defined(_M_IA64)#if !defined(_IA64_)#define _IA64_#endif /* !_IA64_ */#endif#ifndef _MAC#if defined(_68K_) || defined(_MPPC_)#define _MAC#endif#endif#if defined (_MSC_VER)#if ( _MSC_VER >= 800 )#ifndef __cplusplus#pragma warning(disable:4116)       /* TYPE_ALIGNMENT generates this - move it */                                    /* outside the warning push/pop scope. */#endif#endif#endif#ifndef RC_INVOKED#if     ( _MSC_VER >= 800 )#pragma warning(disable:4514)#ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__#pragma warning(disable:4103)#endif#if _MSC_VER >= 1200#pragma warning(push)#endif#pragma warning(disable:4001)#pragma warning(disable:4201)#pragma warning(disable:4214)#endif#include <excpt.h>#include <stdarg.h>#endif /* RC_INVOKED */#include <windef.h>#include <winbase.h>#include <wingdi.h>#include <winuser.h>#if !defined(_MAC) || defined(_WIN32NLS)#include <winnls.h>#endif#ifndef _MAC#include <wincon.h>#include <winver.h>#endif#if !defined(_MAC) || defined(_WIN32REG)#include <winreg.h>#endif#ifndef _MAC#include <winnetwk.h>#endif#ifndef WIN32_LEAN_AND_MEAN#include <cderr.h>#include <dde.h>#include <ddeml.h>#include <dlgs.h>#ifndef _MAC#include <lzexpand.h>#include <mmsystem.h>#include <nb30.h>#include <rpc.h>#endif#include <shellapi.h>#ifndef _MAC#include <winperf.h>#include <winsock.h>#endif#ifndef NOCRYPT#include <wincrypt.h>#include <winefs.h>#include <winscard.h>#endif#ifndef NOGDI#ifndef _MAC#include <winspool.h>#ifdef INC_OLE1#include <ole.h>#else#include <ole2.h>#endif /* !INC_OLE1 */#endif /* !MAC */#include <commdlg.h>#endif /* !NOGDI */#endif /* WIN32_LEAN_AND_MEAN */#include <stralign.h>#ifdef _MAC#include <winwlm.h>#endif#ifdef INC_OLE2#include <ole2.h>#endif /* INC_OLE2 */#ifndef _MAC#ifndef NOSERVICE#include <winsvc.h>#endif#if(WINVER >= 0x0400)#ifndef NOMCX#include <mcx.h>#endif /* NOMCX */#ifndef NOIME#include <imm.h>#endif#endif /* WINVER >= 0x0400 */#endif#ifndef RC_INVOKED#if ( _MSC_VER >= 800 )#if _MSC_VER >= 1200#pragma warning(pop)#else#pragma warning(default:4001)#pragma warning(default:4201)#pragma warning(default:4214)/* Leave 4514 disabled.  It's an unneeded warning anyway. */#endif#endif#endif /* RC_INVOKED */#endif /* RC_INVOKED */#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */#pragma endregion#endif /* _INC_WINDOWS */#endif /* _WINDOWS_ */

作用

頭檔案封裝了庫函式以及一些類,將一些複雜的工作由庫函式處理,而用戶不必把精力放在這些地方。比如說cout<<,為標準輸出流,其實說到底還是函式調用,不過這個函式有些特殊,用的是運算符重載,確切地說是重載了“<<”運算符,作用是將鍵盤輸入的在螢幕上列印出來,這個功能要是由我們去寫,估計也得學個兩三年才有可能。所以就簡化了操作。
而這一系列的函式都在頭檔案中包含(是一個函式館)。在調用時包含後便可直接用。

用法

C/C++ 程式在源檔案前面寫 #include <windows.h>即可

相關詞條

熱門詞條

聯絡我們