[{"data":1,"prerenderedAt":338},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fapi\u002Feduwin-cmd-api":3},{"id":4,"title":5,"body":6,"description":57,"extension":332,"meta":333,"navigation":81,"path":334,"seo":335,"stem":336,"__hash__":337},"content\u002Fdocs\u002Fapi\u002Feduwin-cmd-api.md","eduwin 命令行参数 API",{"type":7,"value":8,"toc":326},"minimark",[9,13,29,47,51,131,135,152,166,169,194,236,303,306,315,322],[10,11,5],"h1",{"id":12},"eduwin-命令行参数-api",[14,15,16],"blockquote",{},[17,18,19,20,24,25,28],"p",{},"头文件：",[21,22,23],"code",{},"eduwin_cmd.h","（或通过 ",[21,26,27],{},"eduwin.h"," 统一引用）",[17,30,31,32,35,36,35,39,42,43,46],{},"命令行参数解析模块，支持 ",[21,33,34],{},"--key value","、",[21,37,38],{},"--flag",[21,40,41],{},"--key=\"value with space\""," 等格式，自动调用 ",[21,44,45],{},"CommandLineToArgvW"," 完成解析。",[48,49,50],"h2",{"id":50},"示例",[52,53,58],"pre",{"className":54,"code":55,"language":56,"meta":57,"style":57},"language-bash shiki shiki-themes github-light github-dark","# 不传参运行\ncmd_demo.exe\n\n# 传参运行\ncmd_demo.exe --visible --url https:\u002F\u002Fwww.bing.com\ncmd_demo.exe --name MyApp --port 8080\ncmd_demo.exe --help\n","bash","",[21,59,60,69,76,83,89,106,123],{"__ignoreMap":57},[61,62,65],"span",{"class":63,"line":64},"line",1,[61,66,68],{"class":67},"sJ8bj","# 不传参运行\n",[61,70,72],{"class":63,"line":71},2,[61,73,75],{"class":74},"sScJk","cmd_demo.exe\n",[61,77,79],{"class":63,"line":78},3,[61,80,82],{"emptyLinePlaceholder":81},true,"\n",[61,84,86],{"class":63,"line":85},4,[61,87,88],{"class":67},"# 传参运行\n",[61,90,92,95,99,102],{"class":63,"line":91},5,[61,93,94],{"class":74},"cmd_demo.exe",[61,96,98],{"class":97},"sj4cs"," --visible",[61,100,101],{"class":97}," --url",[61,103,105],{"class":104},"sZZnC"," https:\u002F\u002Fwww.bing.com\n",[61,107,109,111,114,117,120],{"class":63,"line":108},6,[61,110,94],{"class":74},[61,112,113],{"class":97}," --name",[61,115,116],{"class":104}," MyApp",[61,118,119],{"class":97}," --port",[61,121,122],{"class":97}," 8080\n",[61,124,126,128],{"class":63,"line":125},7,[61,127,94],{"class":74},[61,129,130],{"class":97}," --help\n",[48,132,134],{"id":133},"初始化-清理","初始化 \u002F 清理",[52,136,140],{"className":137,"code":138,"language":139,"meta":57,"style":57},"language-c shiki shiki-themes github-light github-dark","void cmd_init(void);\nvoid cmd_cleanup(void);\n","c",[21,141,142,147],{"__ignoreMap":57},[61,143,144],{"class":63,"line":64},[61,145,146],{},"void cmd_init(void);\n",[61,148,149],{"class":63,"line":71},[61,150,151],{},"void cmd_cleanup(void);\n",[17,153,154,157,158,161,162,165],{},[21,155,156],{},"cmd_init()"," 在程序最开头调用（",[21,159,160],{},"init_app()"," 之前）。",[21,163,164],{},"cmd_cleanup()"," 可选（进程退出自动回收）。",[48,167,168],{"id":168},"参数查询",[52,170,172],{"className":137,"code":171,"language":139,"meta":57,"style":57},"int         cmd_has(const WCHAR *name);\nconst WCHAR *cmd_get(const WCHAR *name);\nconst WCHAR *cmd_get_def(const WCHAR *name, const WCHAR *def);\nint         cmd_is(const WCHAR *name);\n",[21,173,174,179,184,189],{"__ignoreMap":57},[61,175,176],{"class":63,"line":64},[61,177,178],{},"int         cmd_has(const WCHAR *name);\n",[61,180,181],{"class":63,"line":71},[61,182,183],{},"const WCHAR *cmd_get(const WCHAR *name);\n",[61,185,186],{"class":63,"line":78},[61,187,188],{},"const WCHAR *cmd_get_def(const WCHAR *name, const WCHAR *def);\n",[61,190,191],{"class":63,"line":85},[61,192,193],{},"int         cmd_is(const WCHAR *name);\n",[195,196,197,204,217,223],"ul",{},[198,199,200,203],"li",{},[21,201,202],{},"cmd_has(name)"," — 是否有该参数（包括开关和带值）",[198,205,206,209,210,213,214],{},[21,207,208],{},"cmd_get(name)"," — 获取参数值（如 ",[21,211,212],{},"--url"," 的值），不存在返回 ",[21,215,216],{},"L\"\"",[198,218,219,222],{},[21,220,221],{},"cmd_get_def(name, def)"," — 同上，带默认值",[198,224,225,228,229,35,232,235],{},[21,226,227],{},"cmd_is(name)"," — 检测无参开关（如 ",[21,230,231],{},"--headless",[21,233,234],{},"--help","），存在返回 1",[52,237,239],{"className":137,"code":238,"language":139,"meta":57,"style":57},"cmd_init();\n\nif (cmd_is(L\"--help\")) {\n    cmd_print_help(L\"AI Browser\");\n    return 0;\n}\n\nconst WCHAR *url = cmd_get_def(L\"--url\", L\"about:blank\");\nint port = _wtoi(cmd_get_def(L\"--port\", L\"9099\"));\nint headless = cmd_is(L\"--headless\");\n\ncmd_cleanup();\n",[21,240,241,246,250,255,260,265,270,274,280,286,292,297],{"__ignoreMap":57},[61,242,243],{"class":63,"line":64},[61,244,245],{},"cmd_init();\n",[61,247,248],{"class":63,"line":71},[61,249,82],{"emptyLinePlaceholder":81},[61,251,252],{"class":63,"line":78},[61,253,254],{},"if (cmd_is(L\"--help\")) {\n",[61,256,257],{"class":63,"line":85},[61,258,259],{},"    cmd_print_help(L\"AI Browser\");\n",[61,261,262],{"class":63,"line":91},[61,263,264],{},"    return 0;\n",[61,266,267],{"class":63,"line":108},[61,268,269],{},"}\n",[61,271,272],{"class":63,"line":125},[61,273,82],{"emptyLinePlaceholder":81},[61,275,277],{"class":63,"line":276},8,[61,278,279],{},"const WCHAR *url = cmd_get_def(L\"--url\", L\"about:blank\");\n",[61,281,283],{"class":63,"line":282},9,[61,284,285],{},"int port = _wtoi(cmd_get_def(L\"--port\", L\"9099\"));\n",[61,287,289],{"class":63,"line":288},10,[61,290,291],{},"int headless = cmd_is(L\"--headless\");\n",[61,293,295],{"class":63,"line":294},11,[61,296,82],{"emptyLinePlaceholder":81},[61,298,300],{"class":63,"line":299},12,[61,301,302],{},"cmd_cleanup();\n",[48,304,305],{"id":305},"帮助信息",[52,307,309],{"className":137,"code":308,"language":139,"meta":57,"style":57},"void cmd_print_help(const WCHAR *desc);\n",[21,310,311],{"__ignoreMap":57},[61,312,313],{"class":63,"line":64},[61,314,308],{},[17,316,317,318,321],{},"打印帮助信息到控制台。",[21,319,320],{},"desc"," 为程序描述文字。帮助内容通过一个内部注册表自动生成。",[323,324,325],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":57,"searchDepth":71,"depth":71,"links":327},[328,329,330,331],{"id":50,"depth":71,"text":50},{"id":133,"depth":71,"text":134},{"id":168,"depth":71,"text":168},{"id":305,"depth":71,"text":305},"md",{},"\u002Fdocs\u002Fapi\u002Feduwin-cmd-api",{"title":5,"description":57},"docs\u002Fapi\u002Feduwin-cmd-api","EQ0L3PSMDq5PgChkngp2YQADYp79AXIWmWZlSNuMQBM",1782488679850]