请输入您要查询的百科知识:

 

词条 windows.h
释义

概述

Windows程序的开头都可看到:

#include <windows.h>

WINDOWS.H是主要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是:

WINDEF.H 基本型态定义。

WINNT.H 支援Unicode的型态定义。

WINBASE.H Kernel函数。

WINUSER.H 使用者界面函数。

WINGDI.H 图形装置界面函数。

这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字,它们是Windows文件中的一个重要部分。

文件内容

/*++ BUILD Version: 0001 Increment this if a change has global effects

Copyright (c) Microsoft Corporation. All rights reserved.

Module Name:

windows.h

Abstract:

Master include file for Windows applications.

--*/

#ifndef _WINDOWS_

#define _WINDOWS_

#ifdef __BORLANDC__

#pragma defineonoption __BOROPT_A -A

#pragma defineonoption __BOROPT_H -H

#if (__BORLANDC__ == 0x550) && defined(__BOROPT_A) && defined(__BOROPT_H)

#error The use of both -A (ANSI mode) and -H (pre-compiled headers) at the same time is unsupported.

#endif

#endif /* __BORLANDC__ */

#pragma option push -b -a8 -pc -A- /*P_O_Push*/

#ifndef WINVER

#define WINVER 0x0501

#else

#if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400)

#error WINVER setting conflicts with _WIN32_WINNT setting

#endif

#endif

#ifndef _INC_WINDOWS

#define _INC_WINDOWS

#if defined (_MSC_VER) && (_MSC_VER >= 1020)

#pragma once

#endif

/* 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(__BORLANDC__) && defined(__cplusplus)

# include <mem.h> // Needed for protos of memxxx() routines

#endif

#if defined(__BORLANDC__)

# ifndef _WIN32_WINNT

# define _WIN32_WINNT 0x0500 /* If not set, assume NT 5.00 */

# endif

# if defined(__cplusplus)

# define NOMINMAX /* for WINDEF.H */

# else

# define NONAMELESSUNION /* for OAIDL.H, OBJIDL.H,... */

# endif

# if defined(_UNICODE)

# define UNICODE

# endif

#endif

#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86)

#define _X86_

#endif

#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_AMD64)

#define _AMD64_

#endif

#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_M68K)

#define _68K_

#endif

#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_MPPC)

#define _MPPC_

#endif

#if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && 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 ) || defined(__BORLANDC__)

#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 ) || defined(__BORLANDC__)

#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 /* _INC_WINDOWS */

#pragma option pop /*P_O_Pop*/

#endif /* _WINDOWS_ */ 作用

头文件封装了库函数以及一些类,将一些复杂的工作由库函数处理,而用户不必把精力放在这些地方。比如说cout<<,为标准输出流,其实说到底还是函数调用,不过这个函数有些特殊,用的是运算符重载,确切地说是重载了“<<”运算符,作用是将键盘输入的在屏幕上打印出来,这个功能要是由我们去写,估计也得学个两三年才有可能。所以就简化了操作。

而这一系列的函数都在头文件中包含(是一个函数库)。在调用时包涵后便可直接用。

写法

在c程序开头这样写#include <windows.h>或是#include "windows.h",都是合法的。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 3:29:19