· C 语言 GUI 框架

eduwin
让 C 语言拥有图形界面

基于 Win32 API 封装的简易 GUI 框架,专为 C 语言实训设计。 无需 C++、无需 .NET、无需 Python —— 一个记事本 + 一个编译器, 就能写出带图形界面、数据库、3D 渲染、网络通信、AI 对话甚至内置浏览器的完整应用。

hello.c
#include "eduwin.h"

int main(void)
{
    init_app();
    HWND win = create_window(
        L"Hello eduwin", 400, 200);

    HWND btn = create_button(
        win, L"点击",
        20, 20, 80, 24);

    show_window(win);
    run_app();
    return 0;
}
250+API 接口
20+控件类型
15功能模块
0第三方依赖

为什么选择 eduwin?

纯 C 语言 + Windows 原生 API,零依赖开箱即用

极简上手

三行代码创建窗口,五步跑通第一个 GUI 程序。无需学习复杂的 Win32 消息机制,回调函数搞定一切。

📦

零依赖

不依赖任何第三方库,纯 C 语言 + Windows 原生 API。一个 #include 加一行 link 命令即可编译运行。

🎨

3D 渲染引擎

基于 DirectX 11 的轻量 3D 封装,支持基本体、光照系统、可交互相机、纹理材质,已支持 glTF 模型加载。

🌐

网络通信

基于 Winsock2 + WinHTTP,零外部依赖。TCP 客户端/服务端、UDP 通信、HTTP GET/POST(HTTPS)、DNS 解析一站覆盖。

🤖

AI 大模型

同步/异步/窗口异步三种方式调用大语言模型,兼容 OpenAI 格式。支持 DeepSeek、智谱、通义千问等,C 程序也能 AI 对话。

🧵

线程并发

封装 Win32 线程 + 互斥锁,独创 execute_on_main() 在线程中安全更新 UI,无需子类化或手动 PostMessage。

🖥️

内置浏览器

基于 Microsoft Edge WebView2,支持 Fixed Version(本地打包,零系统依赖)。JS ↔ C 双向通信,C 程序也能嵌入完整浏览器。

🎮

内置游戏引擎

画布组件内置帧循环、键盘检测、碰撞检测、精灵系统,完全可以支撑 2D 小游戏的开发。

快速开始

三分钟跑通你的第一个 GUI 程序

1

编写代码

创建一个 hello.c 文件,写入 eduwin 代码

2

运行编译

打开终端,运行 build.bat 一键编译

3

运行程序

目录下生成 hello.exe,双击运行即可看到窗口

丰富的 API 生态

覆盖从基础控件到 AI 大模型的完整链条,15 个模块任意组合

基础控件

按钮、标签、文本框、多行文本、密码框、复选框、单选按钮、分组框

列表控件

下拉框、列表框、树状列表、详细列表

数值控件

进度条、滑块、滚动条、数值调节、IP 地址输入

综合控件

标签页、日期选择、状态栏、工具栏、富文本编辑、动画

图像画布

图片显示(bmp/png/jpg)、图标、GDI+ 绘图(直线/矩形/椭圆/文本/保存)

3D 渲染

基本体(box/球/柱/锥/平面)、网格系统、光照(环境/方向/点光)、可交互相机、纹理材质、glTF 模型加载

网络通信

TCP 客户端/服务端、UDP 通信、HTTP GET/POST(HTTPS)、DNS 解析、URL 编码

内置浏览器

WebView2 嵌入式浏览器,Fixed Version 打包(客户端零依赖)、JS ↔ C 双向通信、导航事件回调

AI 大模型

同步/异步/窗口异步三种调用方式,兼容 OpenAI 格式,支持 DeepSeek/智谱/通义千问等

线程并发

线程创建/join/detach、互斥锁、execute_on_main 安全 UI 更新、线程休眠

游戏功能

帧循环定时器、键盘实时检测、鼠标输入、碰撞检测、随机数、局部清除

菜单系统

主菜单(子菜单、勾选、禁用)、系统菜单、上下文菜单、快捷键

文件 & 数据库

打开/保存文件对话框、文本/二进制文件读写、Base64 解码、SQLite 嵌入式数据库