aardio 文档

aardio 范例: 进程管道读写

//模式匹配
import win.ui;
/*DSG{{*/
var winform = win.form(text="进程管道读写";right=759;bottom=469)
winform.add(
edit={cls="edit";left=15;top=11;right=743;bottom=446;edge=1;hscroll=1;multiline=1;vscroll=1;z=1}
)
/*}}*/

import process.popen;

//打开命令行,隐藏黑窗口,并返回可读写的进程管道
var prcs,err = process.popen("cmd.exe","/k chcp "+::Kernel32.GetACP());
if(!prcs) return winform.msgboxErr(err); 

var cmd = /*
CD C:\
C:
dir 
mkdir test
rmdir test
*/

//写管道
prcs.write(cmd)

//读管道直接到指定字符串结束
//var result = prcs.peekTo(">");

//读取到指定的模式匹配成功,返回匹配到的文本。此函数不阻塞界面线程消息
var result = prcs.expect(".+\>$");

//输出到文本框
winform.edit.print(result);

//输入命令加换行
prcs.print('exit');

winform.show(); 
win.loopMessage();

Markdown 格式