Windows.h In Dev C%2b%2b

  • Hello can someone help me please, i wrote some code in my win10 machine including Windows.h (API) an i did use some functions from it, but now i want to compile it in my Linux machine, But i don't know how, i tried using winegcc but i don't know what i need or what flags to use and the compiler can't find the Windows header file.
  • Well windows.h has a function called CreateThread. It's signature and other info can been seen here. You need a callback function, that will start executing when you start the thread. NULL can be passed to the first lpThreadAttributes argument.
  • This syntax prevents Visual C from linking modules that you aren't going to need in your application. Moving on we come to the include line #include windows.h. This includes all the headers you need in this application. Sometimes you may want to include, which will give you a few useful macros to use in Windows development.
  • Windows.h is a Windows-specific header file for the C and C programming languages which contains declarations for all of the functions in the Windows API, all the common macros used by Windows programmers, and all the data types used by the various functions and subsystems.It defines a very large number of Windows specific functions that can be used in C.
-->

2 months ago Colin Laplace modified a wiki page. Home 4 months ago nonlinearly modified a comment on discussion dev-cpp-users. I think that the compiler you use (MinGW64) does not contain conio library.

The header files for the Windows API enable you to create 32- and 64-bit applications. They include declarations for both Unicode and ANSI versions of the API. For more information, see Unicode in the Windows API. They use data types that enable you to build both 32- and 64-bit versions of your application from a single source code base. For more information, see Getting Ready for 64-bit Windows. Additional features include Header Annotations and STRICT Type Checking.

Windows.h In Dev C 2b 2b 4

Visual C++ and the Windows Header Files

Microsoft Visual C++ includes copies of the Windows header files that were current at the time Visual C++ was released. Therefore, if you install updated header files from an SDK, you may end up with multiple versions of the Windows header files on your computer. If you do not ensure that you are using the latest version of the SDK header files, you will receive the following error code when compiling code that uses features that were introduced after Visual C++ was released: error C2065: undeclared identifier.

Macros for Conditional Declarations

Certain functions that depend on a particular version of Windows are declared using conditional code. This enables you to use the compiler to detect whether your application uses functions that are not supported on its target version(s) of Windows. To compile an application that uses these functions, you must define the appropriate macros. Otherwise, you will receive the C2065 error message.

The Windows header files use macros to indicate which versions of Windows support many programming elements. Therefore, you must define these macros to use new functionality introduced in each major operating system release. (Individual header files may use different macros; therefore, if compilation problems occur, check the header file that contains the definition for conditional definitions.) For more information, see SdkDdkVer.h.

The following table describes the preferred macros used in the Windows header files. If you define NTDDI_VERSION, you must also define _WIN32_WINNT.

Minimum system requiredValue for NTDDI_VERSION
Windows 10 1903 '19H1'NTDDI_WIN10_19H1 (0x0A000007)
Windows 10 1809 'Redstone 5'NTDDI_WIN10_RS5 (0x0A000006)
Windows 10 1803 'Redstone 4'NTDDI_WIN10_RS4 (0x0A000005)
Windows 10 1709 'Redstone 3'NTDDI_WIN10_RS3 (0x0A000004)
Windows 10 1703 'Redstone 2'NTDDI_WIN10_RS2 (0x0A000003)
Windows 10 1607 'Redstone 1'NTDDI_WIN10_RS1 (0x0A000002)
Windows 10 1511 'Threshold 2'NTDDI_WIN10_TH2 (0x0A000001)
Windows 10 1507 'Threshold'NTDDI_WIN10 (0x0A000000)
Windows 8.1NTDDI_WINBLUE (0x06030000)
Windows 8NTDDI_WIN8 (0x06020000)
Windows 7NTDDI_WIN7 (0x06010000)
Windows Server 2008NTDDI_WS08 (0x06000100)
Windows Vista with Service Pack 1 (SP1)NTDDI_VISTASP1 (0x06000100)
Windows VistaNTDDI_VISTA (0x06000000)
Windows Server 2003 with Service Pack 2 (SP2)NTDDI_WS03SP2 (0x05020200)
Windows Server 2003 with Service Pack 1 (SP1)NTDDI_WS03SP1 (0x05020100)
Windows Server 2003NTDDI_WS03 (0x05020000)
Windows XP with Service Pack 3 (SP3)NTDDI_WINXPSP3 (0x05010300)
Windows XP with Service Pack 2 (SP2)NTDDI_WINXPSP2 (0x05010200)
Windows XP with Service Pack 1 (SP1)NTDDI_WINXPSP1 (0x05010100)
Windows XPNTDDI_WINXP (0x05010000)

The following tables describe other macros used in the Windows header files.

Minimum system requiredMinimum value for _WIN32_WINNT and WINVER
Windows 10_WIN32_WINNT_WIN10 (0x0A00)
Windows 8.1_WIN32_WINNT_WINBLUE (0x0603)
Windows 8_WIN32_WINNT_WIN8 (0x0602)
Windows 7_WIN32_WINNT_WIN7 (0x0601)
Windows Server 2008_WIN32_WINNT_WS08 (0x0600)
Windows Vista_WIN32_WINNT_VISTA (0x0600)
Windows Server 2003 with SP1, Windows XP with SP2_WIN32_WINNT_WS03 (0x0502)
Windows Server 2003, Windows XP_WIN32_WINNT_WINXP (0x0501)
Minimum version requiredMinimum value of _WIN32_IE
Internet Explorer 11.0_WIN32_IE_IE110 (0x0A00)
Internet Explorer 10.0_WIN32_IE_IE100 (0x0A00)
Internet Explorer 9.0_WIN32_IE_IE90 (0x0900)
Internet Explorer 8.0_WIN32_IE_IE80 (0x0800)
Internet Explorer 7.0_WIN32_IE_IE70 (0x0700)
Internet Explorer 6.0 SP2_WIN32_IE_IE60SP2 (0x0603)
Internet Explorer 6.0 SP1_WIN32_IE_IE60SP1 (0x0601)
Internet Explorer 6.0_WIN32_IE_IE60 (0x0600)
Internet Explorer 5.5_WIN32_IE_IE55 (0x0550)
Internet Explorer 5.01_WIN32_IE_IE501 (0x0501)
Internet Explorer 5.0, 5.0a, 5.0b_WIN32_IE_IE50 (0x0500)

Setting WINVER or _WIN32_WINNT

Windows.h In Dev C 2b 2b 1

You can define these symbols by using the #define statement in each source file, or by specifying the /D compiler option supported by Visual C++.

For example, to set WINVER in your source file, use the following statement:

#define WINVER 0x0502

To set _WIN32_WINNT in your source file, use the following statement:

#define _WIN32_WINNT 0x0502

To set _WIN32_WINNT using the /D compiler option, use the following command:

cl -c /D_WIN32_WINNT=0x0502source.cpp

For information on using the /D compiler option, see /D (preprocessor definitions).

Note that some features introduced in the latest version of Windows may be added to a service pack for a previous version of Windows. Therefore, to target a service pack, you may need to define _WIN32_WINNT with the value for the next major operating system release. For example, the GetDllDirectory function was introduced in Windows Server 2003 and is conditionally defined if _WIN32_WINNT is 0x0502 or greater. This function was also added to Windows XP with SP1. Mame chd downloads. Therefore, if you were to define _WIN32_WINNT as 0x0501 to target Windows XP, you would miss features that are defined in Windows XP with SP1.

Controlling Structure Packing

Projects should be compiled to use the default structure packing, which is currently 8 bytes because the largest integral type is 8 bytes. Doing so ensures that all structure types within the header files are compiled into the application with the same alignment the Windows API expects. It also ensures that structures with 8-byte values are properly aligned and will not cause alignment faults on processors that enforce data alignment.

For more information, see /Zp (struct member alignment) or pack.

Faster Builds with Smaller Header Files

You can reduce the size of the Windows header files by excluding some of the less common API declarations as follows:

  • Define WIN32_LEAN_AND_MEAN to exclude APIs such as Cryptography, DDE, RPC, Shell, and Windows Sockets.

    #define WIN32_LEAN_AND_MEAN

  • Define one or more of the NOapi/mirc-scripts-download.html. symbols to exclude the API. For example, NOCOMM excludes the serial communication API. For a list of support NOapi symbols, see Windows.h.

    #define NOCOMM

Windows.h In Dev C 2b 2b 1b

Related topics

Windows.h In Dev C 2b 2b 3

windows.h is a Windows-specific header file for the C and C++ programming languages which contains declarations for all of the functions in the Windows API, all the common macros used by Windows programmers, and all the data types used by the various functions and subsystems. It defines a very large number of Windows specific functions that can be used in C. The Win32 API can be added to a C programming project by including the <windows.h> header file and linking to the appropriate libraries. To use functions in xxxx.dll, the program must be linked to xxxx.lib (or libxxxx.dll.a in MinGW). Some headers are not associated with a .dll but with a static library (e.g. scrnsave.h needs scrnsave.lib).

Child header files[edit]

There are a number of child header files that are automatically included with windows.h. Many of these files cannot simply be included by themselves (they are not self-contained), because of dependencies.

windows.h may include any of the following header files:

  • excpt.h – Exception handling
  • stdarg.h – variable-argument functions (standard C header)
  • windef.h – various macros and types
  • winnt.h – various macros and types (for Windows NT)
  • basetsd.h – various types
  • guiddef.h – the GUID type
  • ctype.h – character classification (standard C header)
  • string.h – strings and buffers (standard C header)
  • winbase.h – kernel32.dll: kernel services; advapi32.dll:kernel services(e.g. CreateProcessAsUser function), access control(e.g. AdjustTokenGroups function).
  • winerror.h – Windows error codes
  • wingdi.h – GDI (Graphics Device Interface)
  • winuser.h – user32.dll: user services
  • winnls.h – NLS (Native Language Support)
  • wincon.h – console services
  • winver.h – version information
  • winreg.h – Windows registry
  • winnetwk.h – WNet (Windows Networking)
  • winsvc.h – Windows services and the SCM (Service Control Manager)
  • imm.h – IME (Input Method Editor)

Extra includes[edit]

  • cderr.h – CommDlgExtendedError function error codes
  • commdlg.h – Common Dialog Boxes
  • dde.h – DDE (Dynamic Data Exchange)
  • ddeml.h – DDE Management Library
  • dlgs.h – various constants for Common Dialog Boxes
  • lzexpand.h – LZ (Lempel-Ziv) compression/decompression
  • mmsystem.h – Windows Multimedia
  • nb30.h – NetBIOS
  • rpc.h – RPC (Remote procedure call)
  • shellapi.h – Windows Shell API
  • wincrypt.h – Cryptographic API
  • winperf.h – Performance monitoring
  • winresrc.h – used in resources
  • winsock.h – Winsock (Windows Sockets), version 1.1
  • winspool.h – Print Spooler
  • winbgim.h – Standard graphics library

OLE and COM[edit]

  • ole2.h – OLE (Object Linking and Embedding)
  • objbase.h – COM (Component Object Model)
  • oleauto.h – OLE Automation
  • olectlid.h – various GUID definitions

Macros[edit]

Several macros affect the behavior of windows.h.

  • UNICODE – when defined, this causes TCHAR to be a synonym of WCHAR instead of CHAR, and all type-generic API functions and messages that work with text will be defined to the -W versions instead of the -A versions. (It is similar to the windows C runtime's _UNICODE macro.)
  • RC_INVOKED – defined when the resource compiler (RC.EXE) is in use instead of a C compiler.
  • WINVER – used to enable features only available in newer operating systems. Define it to 0x0501 for Windows XP, and 0x0600 for Windows Vista.
  • WIN32_LEAN_AND_MEAN – used to reduce the size of the header files and speed up compilation. Excludes things like cryptography, DDE, RPC, the Windows Shell and Winsock.

See also[edit]

Wikibooks has a book on the topic of: Windows Programming
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Windows.h&oldid=979632131'