# cmd_demo — 命令行参数解析

> **示例位置：** `samples/cmd_demo/`
> **核心演示：** `eduwin_cmd` 命令行参数解析模块

---

## 一、概述

`cmd_demo` 演示如何使用 `eduwin_cmd` 模块解析命令行参数。窗口逐行展示各参数的值（检测到即显示 ✔ + 值，未检测到显示默认值）。

### 支持的参数格式

```
--key value          // 带值参数
--flag               // 开关参数
--key="value with space"  // 带空格的参数
--help               // 内置帮助
```

---

## 二、运行效果

```
> cmd_demo.exe
    起始 URL: about:blank (默认)
    WS 端口: 9099 (默认)
    窗口标题: AI Browser (默认)
    应用名称: (未设置) (默认)
    显示模式: (未设置) (默认)
    隐身模式: (未设置) (默认)

> cmd_demo.exe --visible --url https://www.bing.com
✔  起始 URL: https://www.bing.com
    WS 端口: 9099 (默认)
    窗口标题: AI Browser (默认)
    应用名称: (未设置) (默认)
✔  显示模式: 已启用
    隐身模式: (未设置) (默认)
```

---

## 三、核心代码

```c
#include "eduwin.h"

// 1. 解析命令行参数
cmd_init();

// 2. 初始化 eduwin
init_app();
HWND win = create_window(L"cmd_demo — 命令行参数", 500, 360);

// 3. 查询参数
int headless = cmd_is(L"--headless");
const WCHAR *url = cmd_get_def(L"--url", L"about:blank");
int port = _wtoi(cmd_get_def(L"--port", L"9099"));

// 4. 显示窗口
show_window(win);
run_app();

cmd_cleanup();
```

---

## 四、构建

```bash
cd D:\XTU\c-train\eduwin
build_lib.bat

cd D:\XTU\c-train\samples\cmd_demo
build.bat
```
