进程类 按 UTF-8 读管道。CMD 默认常是系统代码页(如 GBK),dir/echo 中文 会花。优先 PowerShell,或先 chcp 65001。
窗口需有:按钮1、文本框1(多行)。
函数 按钮1.单击(整数 X, 整数 Y) {
进程类 p
如果 (p.启动("powershell.exe", "-NoProfile -Command \"[Console]::OutputEncoding = [Text.UTF8Encoding]::new(); Write-Output '你好,Y++'\"") == 假) {
文本框1.内容 = p.取错误()
返回 ()
}
文本框1.内容 = p.读全部(8000)
}
CMD 一次性命令(先切 UTF-8 代码页):
进程类 p
如果 (p.启动("cmd.exe", "/c chcp 65001>nul & echo 你好")) {
文本框1.内容 = p.读全部(8000)
}
| 错误 | 正确 |
|---|---|
启动("cmd.exe", "/c dir") 直接读中文目录 |
PowerShell,或 /c chcp 65001>nul & 命令 |
第一参写成 cmd /c … |
启动("cmd.exe", "/c …") |
交互壳里 读全部() 等本条结束 |
壳不退出会一直等;一次性命令用 /c + 读全部 |
对照:process-obj.md · thread-back-to-ui(命令很久时不要卡按钮)