C语言Windows.h库函数及其使用例子
时间: 2023-08-19 19:19:33 浏览: 99
Windows.h 是 Windows 操作系统的头文件,其中包含了大量的函数和常量,用于 Windows 应用程序的开发。下面是一些常用的 Windows.h 库函数及其使用例子:
1. MessageBox 函数
该函数用于显示一个消息框,提示用户执行某些操作或显示一些信息。它的原型如下:
```c
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
```
其中,hWnd 为消息框的父窗口句柄,lpText 为消息文本,lpCaption 为消息框的标题,uType 为消息框的类型。下面是一个例子:
```c
#include <Windows.h>
int main()
{
MessageBox(NULL, "Hello, World!", "Message", MB_OK);
return 0;
}
```
该程序会弹出一个消息框,显示 "Hello, World!",标题为 "Message",并且有一个 OK 按钮。
2. GetWindowText 函数
该函数用于获取指定窗口的文本内容。它的原型如下:
```c
int GetWindowText(
HWND hWnd,
LPTSTR lpString,
int nMaxCount
);
```
其中,hWnd 为窗口句柄,lpString 为输出缓冲区,nMaxCount 为输出缓冲区的大小。下面是一个例子:
```c
#include <Windows.h>
#include <stdio.h>
int main()
{
HWND hWnd = GetDesktopWindow();
TCHAR title[256] = { 0 };
GetWindowText(hWnd, title, sizeof(title));
printf("Desktop title: %s\n", title);
return 0;
}
```
该程序会获取桌面窗口的标题,并打印出来。
3. CreateWindow 函数
该函数用于创建一个窗口。它的原型如下:
```c
HWND CreateWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);
```
其中,lpClassName 为窗口类名,lpWindowName 为窗口标题,dwStyle 为窗口样式,x 和 y 分别为窗口左上角的坐标,nWidth 和 nHeight 分别为窗口的宽和高,hWndParent 为窗口的父窗口句柄,hMenu 为菜单句柄,hInstance 为当前实例句柄,lpParam 为创建窗口时传递的参数。下面是一个例子:
```c
#include <Windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASS wc = { 0 };
wc.lpfnWndProc = WndProc;
wc.hInstance = hInstance;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszClassName = "MyWindowClass";
RegisterClass(&wc);
HWND hWnd = CreateWindow(
"MyWindowClass",
"Hello, World!",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
MSG msg = { 0 };
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
```
该程序会创建一个窗口,并显示 "Hello, World!"。当用户关闭窗口时,程序会退出。