📜  windows.h (1)

📅  最后修改于: 2023-12-03 15:35:42.567000             🧑  作者: Mango

Windows.h - Windows API的核心头文件

Windows.h 是 Windows API 的核心头文件,提供了大量用于操作系统和桌面应用程序开发的函数、常量和数据类型。使用 Windows.h 可以访问操作系统内部的各种资源,例如窗口、消息、进程、线程、文件、网络等等。Windows.h 所包含的内容非常丰富,可以用于编写各种类型的应用程序,包括桌面应用和游戏等。

使用

为了使用 Windows.h 提供的功能,需要在 C/C++ 代码中添加以下头文件:

#include <Windows.h>

可以根据实际需要选择性地包含其他辅助头文件,例如:

#include <tchar.h>   // 为了支持 Unicode 编码
#include <CommCtrl.h> // 为了使用常见控件
常见数据类型

Windows.h 定义了大量常见的数据类型,例如:

  • HANDLE:句柄类型,用于操作各种资源,如文件、进程、线程、窗口等;
  • HWND:窗口句柄类型,用于标识指定窗口;
  • HINSTANCE:实例句柄类型,用于标识程序的实例;
  • HMODULE:模块句柄类型,用于标识动态链接库(DLL)中的模块等。
常用函数

Windows.h 提供了大量实用的函数,以下是一些常用函数的示例:

创建窗口
HWND CreateWindowEx(
    DWORD dwExStyle,
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName,
    DWORD dwStyle,
    int x,
    int y,
    int nWidth,
    int nHeight,
    HWND hWndParent,
    HMENU hMenu,
    HINSTANCE hInstance,
    LPVOID lpParam
);
显示窗口
BOOL ShowWindow(
    HWND hWnd,
    int nCmdShow
);
发送消息
LRESULT SendMessage(
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
);
加载动态链接库
HMODULE LoadLibrary(
    LPCTSTR lpFileName
);
读写文件
HANDLE CreateFile(
    LPCTSTR lpFileName,
    DWORD dwDesiredAccess,
    DWORD dwShareMode,
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    DWORD dwCreationDisposition,
    DWORD dwFlagsAndAttributes,
    HANDLE hTemplateFile
);

BOOL WriteFile(
    HANDLE hFile,
    LPCVOID lpBuffer,
    DWORD nNumberOfBytesToWrite,
    LPDWORD lpNumberOfBytesWritten,
    LPOVERLAPPED lpOverlapped
);

BOOL ReadFile(
    HANDLE hFile,
    LPVOID lpBuffer,
    DWORD nNumberOfBytesToRead,
    LPDWORD lpNumberOfBytesRead,
    LPOVERLAPPED lpOverlapped
);
线程同步
HANDLE CreateEvent(
    LPSECURITY_ATTRIBUTES lpEventAttributes,
    BOOL bManualReset,
    BOOL bInitialState,
    LPCTSTR lpName
);

DWORD WaitForSingleObject(
    HANDLE hHandle,
    DWORD dwMilliseconds
);

BOOL SetEvent(
    HANDLE hEvent
);

BOOL ResetEvent(
    HANDLE hEvent
);
总结

Windows.h 是 Windows API 开发的关键头文件,提供了大量的功能和资源,使开发者可以使用 Windows 操作系统提供的各种资源开发应用程序。熟悉 Windows.h 的使用可以 greatly improve 应用程序的开发效率和可靠性。