aardio 文档

aardio 范例: 进程操作入门

//进程操作入门
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);
Markdown 格式