7.0.0 是一个独立的 Win32 窗口程序,所有功能都长在那一个窗口里。7.1.0 的核心变化是把生成内核抽出来,做成一个本机 HTTP 服务:同一个内核,既能被原生界面调用,也能被内嵌的网页界面调用。账号、私信、AI、自动更新则在云端再加一层。
三层职责
| 层 | 产物 | 职责 |
|---|---|---|
| 桌面层 | WindowsProject1.exe(CDC Kit) | Win32 / GDI+ 原生界面,8 个功能页,本机 SQLite 存设置与私信 |
| 本机服务层 | cdc_backend.exe | 监听 127.0.0.1:18889,内嵌网页界面,执行真实的文件与编译操作,并用 WinHTTP 转发云端请求 |
| 云端层 | cdc_server/(PHP) | 账号、激活码与设备配额、私信、AI 配额、安装包发布 |
后端工程配置
#define _CRT_SECURE_NO_WARNINGS
#define WIN32_LEAN_AND_MEAN
#define NOMINMAX
#include <winsock2.h> // 手写 HTTP 服务
#include <ws2tcpip.h>
#include <windows.h>
#include <commdlg.h> // 文件对话框
#include <shellapi.h>
#include <process.h> // _beginthreadex
#include <winhttp.h> // 云端请求| 链接库 | 用途 |
|---|---|
ws2_32 | Winsock:监听本机端口、处理每个连接 |
winhttp | 向云端发起 HTTPS 请求(不依赖浏览器,也就没有跨域问题) |
comdlg32 | GetOpenFileNameW / GetSaveFileNameW 文件对话框 |
shell32 / ole32 | SHBrowseForFolderW 目录选择、ShellExecuteW 拉起程序 |
advapi32 | 注册表读取(定位浏览器路径、探测已安装版本) |
user32 | MessageBoxA 等提示框 |
编译命令
资源与代码分两步:先用 windres 把内嵌的前端页与图标压成 .o,再一起链接。
windres cdc.rc -O coff -o cdc_res.o
g++ -O2 -std=c++23 -static -static-libgcc -static-libstdc++ -mwindows \
cdc_backend.cpp cdc_res.o -o cdc_backend.exe \
-lws2_32 -lwinhttp -lcomdlg32 -lole32 -lshell32 -ladvapi32 -luser32| 参数 | 作用 |
|---|---|
-std=c++23 | 后端源码使用 C++23 标准 |
-static 系列 | 全静态链接,产出的 exe 不依赖任何 MinGW 运行库,换台电脑直接能跑 |
-mwindows | GUI 子系统:双击运行不弹控制台黑框 |