aardio:进程操作

发布时间 2023-11-17 10:21:09作者: 周文豪

1、运行exe应用程序execute

execute( = 运行exe应用程序,成功返回进程ID,参数详细用法请参考本函数源码以及 WINAPI 中 ShellExecuteEx 函数用法,运行 UWP 应用请使用 com.shell.activateApp 函数,raw.execute 提供了与本函数类似的功能
execute(.("__", parameters="",operation="open",showCmd,workDir,hwnd) = 参数@1为程序路径或系统命 令,参数@parameters 可以是字符串或字符串数组,用于指定启动参数,参数@operation 为启动模式,参数@showCmd使用_SW_前缀常量与win.show参数用法相同,参数@workdir为工作目录,参数@hwnd 为父窗口句柄

var id = process.execute("C:\Users\miracle\Desktop\购药登记系统采集端\购药登记系统采集端.exe")
console.log(id)

以管理权限运行exe应用程序

shellAs( = 以管理权限运行exe应用程序,返回进程对象
shellAs(.("__", parameters="",showCmd,workDir,hwnd,fmask) = 参数@1指定要运行的执行程序路径,参数@2可用一个字符串或字符串数组指定启动参数,其他参数详细用法请参考本函数源码以及WINAPI中ShellExecuteEx函数用法,除参数@1以外所有参数可选

process.shellAs("C:\Users\miracle\Desktop\购药登记系统采集端\购药登记系统采集端.exe")

2、查找进程并返回进程对象find

find("__/*exe 文件名*/") = 查找进程并返回进程对象,参数@1指定要查找的进程启动文件名,注意应指定文件名而非文件路径,文件名参数支持模式匹配语法,忽略大小写,

var prcs=process.find("购药登记系统采集端.exe")
console.dumpTable(prcs)

结果:

3、查找并关闭进程

kill( = 查找并关闭进程,注意有些进程需要管理权限才能找到,例如资源管理器进程 "explorer.exe" 无管理权限有时会失败,在代码第一行添加//RUNAS//可申请管理权限
kill(.(exePath,restart) = 查找所有同名 exe 文件的进程,并关闭进程。参数 @exePath 支持模式匹配语法,忽略大小写。返回进程的完整路径。如果 @restart 参数为 true,则杀进程成功后立即重新启动该进程
kill(.(pid) = 使用参数@pid指定进程ID,关闭该进程

process.kill("购药登记系统采集端.exe")

指定进程ID,关闭进程

var prcs=process.find("购药登记系统采集端.exe")
process.kill(prcs.id)

 

4、打开资源管理器,选定该文件

exploreSelect("__/*文件路径*/") = 打开资源管理器,选定该文件
explore("__/*目录路径*/") = 使用资源管理器打开目录,打开WIN10应用这样写:process.explore("shell:appsFolder\appPath"),使用 com.shell.eachApp 可列出WIN10所有appPath

process.exploreSelect("C:\Users\miracle\Desktop\购药登记系统采集端\购药登记系统采集端.exe")

 

5、 检测目标文件是否可执行文件

isExe("__/*文件路径*/") = 检测目标文件是否可执行文件\n如果是可执行文件返回"PE32"或"PE64"\n第二个返回值为子系统,GUI为2,CUI为3\n失败或参数为 null 返回 null

if(process.isExe("C:\Users\miracle\Desktop\购药登记系统采集端\购药登记系统采集端.exe")){
    console.log("是可执行文件")
} else{
    console.log("不是可执行文件")
}