eduwin
让 C 语言拥有图形界面
基于 Win32 API 封装的简易 GUI 框架,专为 C 语言实训设计。 无需 C++、无需 .NET、无需 Python —— 一个记事本 + 一个编译器, 就能写出带图形界面、数据库、3D 渲染、网络通信、AI 对话甚至内置浏览器的完整应用。
#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;
}为什么选择 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 程序
编写代码
创建一个 hello.c 文件,写入 eduwin 代码
运行编译
打开终端,运行 build.bat 一键编译
运行程序
目录下生成 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 嵌入式数据库