求C语言windows.h头文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求C语言windows.h头文件相关的知识,希望对你有一定的参考价值。
🙏
1037101746@qq.com
#include <winapifamily.h> /*++ 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_ #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_ */ 参考技术B 如果c语言库里没有某个头文件 只需要将下好的头文件放入下面的路径即可
为啥在visual studio 2008中使用DWORD添加头文件windef.h不行,一定要windows.h。
参考技术A 它定义在windows.h;你可以在DWORD上点右键查看定义,其实就是无符号long追问我知道它是无符号long,你在windef.h定义中可以看到typedef unsigned long DWORD;
问题是它是在windef.h中定义的,我引用windef.h怎么不行?
谢谢
你的报错是什么:是未定义吗?哦,我查了下,它原来是C语言头文件,那就会杯具了,因为我用了下,它会覆很多定义,导致很多头文件不能使用,也就是是跟window的很多头文件不兼容
追问报多种错误:
error C2146: 语法错误 : 缺少“;”(在标识符“ContextRecord”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C2065: “PCONTEXT”: 未声明的标识符
error C2146: 语法错误 : 缺少“)”(在标识符“ContextRecord”的前面)
不管怎么样,谢谢你了哦。
恩,你自己努力吧,说真的我都没用过改头文件,它是个C文件头,会不兼容,即使放在普通的windows
语言程序都会说定义重复;最好都用微软的头文件,不要和c语言头文件混搭
但是我考虑像typedef、unsigned long这些关键字的识别还是需要其他头文件的
该同文件包含于windows。h中 参考技术C 在开头处写上
#define _X86_
即可 参考技术D 参考这里吧,http://catt2000.blog.163.com/blog/static/55810902009215111458361/
以上是关于求C语言windows.h头文件的主要内容,如果未能解决你的问题,请参考以下文章
C语言头文件,conio.h,windows.h,string.h,math.h各有啥用?
C语言中,windows平台下使用ntohs函数应该包含哪个头文件