让JSA Shell同步执行exe等待返回
JSA中的Shell函数,默认是异步执行,如果想等带执行完exe,再执行下面的语句。经过摸索,可以用如下方法,分享给大家:
let pid=Shell("python.exe",jsNormalFocus)
let hnd=ExecuteExcel4Macro(`CALL("kernel32.dll","OpenProcess","JJJJ",1048576,0,` + pid + `)`)
let ret=ExecuteExcel4Macro(`CALL("kernel32.dll","WaitForSingleObject","JJJ",` + hnd + `,-1)`)
alert(pid)
创作者俱乐部成员