c语言弹窗代码
时间: 2023-08-02 14:07:21 浏览: 189
在 C 语言中,可以使用 Windows API 来实现弹窗。具体步骤如下:
1. 加载模块
使用 LoadLibrary 函数加载 User32.dll 模块,例如:
```c
HMODULE hModule = LoadLibrary("User32.dll");
```
2. 定义 MessageBox 函数类型
使用 typedef 关键字定义 MessageBox 函数类型,例如:
```c
typedef int (WINAPI *MessageBoxFunc)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);
```
3. 获取 MessageBox 函数地址
使用 GetProcAddress 函数获取 MessageBox 函数的地址,例如:
```c
MessageBoxFunc pMessageBox = (MessageBoxFunc)GetProcAddress(hModule, "MessageBoxA");
```
其中,"MessageBoxA" 是 Ansi 版本的 MessageBox 函数,如果要使用 Unicode 版本,则需要使用 "MessageBoxW"。
4. 调用 MessageBox 函数
使用 pMessageBox 指针调用 MessageBox 函数,例如:
```c
pMessageBox(NULL, "Hello, World!", "Message", MB_OK);
```
其中,第一个参数为窗口句柄,如果为 NULL,则会创建一个新的窗口;第二个参数为消息文本;第三个参数为窗口标题;第四个参数为消息框类型,可以使用 MB_OK、MB_YESNO 等常量。
完成上述步骤后,即可弹出一个消息框。记得在结束程序前调用 FreeLibrary 函数释放模块,例如:
```c
FreeLibrary(hModule);
```
完整的代码示例:
```c
#include <windows.h>
int main()
{
HMODULE hModule = LoadLibrary("User32.dll");
typedef int (WINAPI *MessageBoxFunc)(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);
MessageBoxFunc pMessageBox = (MessageBoxFunc)GetProcAddress(hModule, "MessageBoxA");
pMessageBox(NULL, "Hello, World!", "Message", MB_OK);
FreeLibrary(hModule);
return 0;
}
```
以上代码会在程序运行时,弹出一个包含 "Hello, World!" 文本和 "Message" 标题的消息框。
阅读全文