//进程操作入门 import console; import process; //打开目标进程,可指定命令行参数,多个参数用空格分开 //var prcs = process( "cmd.exe","/k dir" ); //可用多个字符串参数指定命令行参数,由 string.args.join 自动合并(自动处理转义) //var prcs = process( "cmd.exe","/k","dir" ); //也可以用一个数组传任意个命令行参数,由 string.args.join 自动合并(自动处理转义) //var prcs = process( "cmd.exe",{"/k","dir"}); /* 命令行参数为表时, 则表中以键名以 - 或 / 开头的键值对自动合并为命令行参数(自动处理转义并在必要时添加双引号) 键值对参数总是置于数组参数之前。 */ var prcs = process( "cmd.exe",{"/k"="dir"}); //所有基于 process 或 process.popen 的库都支持上面的参数写法 //输出执行程序文件完整路径 console.log( prcs.getPath() ); //读进程内存 var num = prcs.readNumber( 0x101d1,"word" ); //写进程内存 prcs.writeNumber(0x101d1,num,"word"); //暂停主线程 prcs.suspend(); //继续执行线程 prcs.resume(); //获取外部进程的远程 API 函数。 messageBoxR = prcs.remoteApi("void (addr hWnd, string &text,string &caption,INT type )" ,"User32.dll","MessageBoxW"); //象普通函数一样使用,注意 aardio 内部使用 UTF8 编码,使用 UTF-16 字符串调用外部进程 UTF-16 API 即可 messageBoxR(0,'这是一个外部进程!在此进程执行 MessageBoxW 函数'u,'aardio'u,0) //prcs.wait(); //等待进程关闭 prcs.free(); //释放进程控制权 console.pause(true);