YStudio Y++

进程操作(基础支持库)

Y++ / YStudio 开发文档 · 一点滴

扁平命令式支持库(不是类)。路径:支持库 → 基础支持库 → 进程操作。

硬约束

  1. 扁平命令;结束/提权类操作需相应权限,失败返回假。
  2. 运行/执行 类:注意工作目录、参数引用与等待策略(异步/同步)。
  3. 进程列表项结构以返回数组元素类型为准(常见为文本或专用结构)。
  4. 管理员相关:是否管理员 / 以管理员重启 等会影响整个进程生命周期。

与「进程类」怎么选

需求 用谁
枚举进程、按 PID 结束、取图标/路径/内存、提权重启 本页扁平命令
启动 cmd / PowerShell / 任意 exe,并 读标准输出、写标准输入 进程类
做「像 CMD 的输入框」 进程类(一次性用 读全部;交互壳用定时 读)

快速开始

如果 (!是否管理员()) {
    逻辑 ok = 以管理员重启()
    如果 (!ok) {
        信息框("需要管理员权限")
        返回
    }
}
// 运行外部程序、枚举进程:见签名表

进程操作

本分类共 37 条。

以管理员重启

  • 签名:逻辑 以管理员重启([文本 参数=""])
  • 说明:以管理员身份重新启动当前程序,适合需要读写系统目录、注册表、结束/调试高权限进程等场景。
  • 参数一│[参数]: 可选。传给新进程的命令行参数;默认空文本。
  • 参数省略时不附加命令行参数。成功拉起管理员进程后当前进程通常会退出。

关闭进程句柄

  • 签名:逻辑 关闭进程句柄(整数 句柄)
  • 说明:关闭由 取进程句柄 打开的进程句柄。
  • 参数一│句柄: 取进程句柄 返回的句柄。

取当前进程ID

  • 签名:整数 取当前进程ID()
  • 说明:获取当前程序自身的 PID。

取当前进程句柄

  • 签名:整数 取当前进程句柄()
  • 说明:返回当前进程的伪句柄(GetCurrentProcess),无需关闭。

取所有进程ID

  • 签名:通用 取所有进程ID([文本 进程名=""])
  • 说明:获取进程 PID 列表(返回整数数组,元素为 PID)。不传参数返回全部;传进程名返回同名全部 PID。
  • 参数一│[进程名]: 可选。不填返回全部;如 “Code.exe” 只返回同名 PID。

取文件图标

  • 签名:整数 取文件图标(文本 路径, [整数 尺寸=32])
  • 说明:按文件路径取图标句柄(HICON)。用完须销毁图标。
  • 参数一│路径: 文件完整路径。
  • 参数二│[尺寸]: 可选。默认 32。

取文件图标字节集

  • 签名:字节集 取文件图标字节集(文本 路径, [整数 尺寸=32], [整数 格式=1])
  • 说明:按文件路径取图标并转为图片字节集,内部已 DestroyIcon。
  • 参数一│路径: 文件完整路径。
  • 参数二│[尺寸]: 可选。默认 32。
  • 参数三│[格式]: 可选。1=PNG,2=ICO。

取父进程ID

  • 签名:整数 取父进程ID(整数 进程ID)
  • 说明:获取指定进程的父进程ID。
  • 参数一│进程ID: 进程ID

取进程CPU占用

  • 签名:小数 取进程CPU占用(整数/文本 进程ID或名称)
  • 说明:获取进程 CPU 占用率。
  • 参数一│进程ID或名称: 可传 PID,也可传进程名。

取进程ID

  • 签名:整数 取进程ID(文本/整数 进程ID或名称)
  • 说明:按进程名或窗口标题查找进程 PID;数字文本或整数 PID 会直接校验返回。
  • 参数一│进程ID或名称: 进程名、窗口标题关键字,或已有 PID。

取进程优先级

  • 签名:整数 取进程优先级(整数 进程ID)
  • 说明:读取指定进程当前优先级。
  • 参数一│进程ID: 目标进程 PID。

取进程位数

  • 签名:整数 取进程位数(整数 进程ID)
  • 说明:获取进程位数,返回 32 或 64,失败返回0。进程ID 为 -1 时表示当前自身进程。
  • 参数一│进程ID: 进程ID;-1=当前自身进程。

取进程内存

  • 签名:小数 取进程内存(整数/文本 进程ID或名称, [整数 单位=3])
  • 说明:获取进程内存占用,可按指定单位返回。单位用整数:1=B 2=KB 3=MB(默认) 4=GB。
  • 参数一│进程ID或名称: 可传 PID 或进程名。
  • 参数二│[整数 单位=3]: 可选。1=B 2=KB 3=MB(默认) 4=GB

取进程内存占用

  • 签名:整数 取进程内存占用(整数 进程ID)
  • 说明:获取指定进程工作集内存占用,单位为字节。
  • 参数一│进程ID: 进程ID

取进程列表

  • 签名:文本数组 取进程列表([逻辑 PID=假])
  • 说明:枚举进程列表(返回文本数组);真=PID|进程名,假=只进程名。
  • 参数一│[PID]: 可选,真=显示 PID|进程名,假=只显示进程名,默认假。

取进程句柄

  • 签名:整数 取进程句柄(整数 进程ID, [整数 访问权限=0])
  • 说明:按 PID 打开进程句柄(OpenProcess)。用完后请调用 关闭进程句柄。
  • 参数一│进程ID: 目标进程 PID。
  • 参数二│[访问权限=0]: 可选。0=默认查询/读;内存读写请用 #进程_内存读写 或 #进程_完全访问。

取进程名称

  • 签名:文本 取进程名称(整数 进程ID)
  • 说明:根据进程ID获取进程可执行文件名。
  • 参数一│进程ID: 进程ID

取进程启动时间

  • 签名:文本 取进程启动时间(整数 进程ID)
  • 说明:获取进程启动时间,失败返回空文本。
  • 参数一│进程ID: 进程ID

取进程图标

  • 签名:整数 取进程图标(整数/文本 进程ID或名称, [整数 尺寸=32])
  • 说明:取进程可执行文件关联的图标句柄(HICON)。失败返回 0。
  • 参数一│进程ID或名称: 可传 PID 或进程名。
  • 参数二│[尺寸]: 可选。默认 32。

取进程图标字节集

  • 签名:字节集 取进程图标字节集(整数/文本 进程ID或名称, [整数 尺寸=32], [整数 格式=1])
  • 说明:取进程图标并转为图片字节集,内部已 DestroyIcon。
  • 参数一│进程ID或名称: 可传 PID 或进程名。
  • 参数二│[尺寸]: 可选。默认 32。
  • 参数三│[格式]: 可选。1=PNG,2=ICO。

取进程窗口句柄

  • 签名:整数 取进程窗口句柄(整数 进程ID)
  • 说明:根据进程ID查找该进程的一个可见顶级窗口句柄。
  • 参数一│进程ID: 目标进程ID

取进程路径

  • 签名:文本 取进程路径(整数 进程ID)
  • 说明:根据进程ID获取进程完整路径。
  • 参数一│进程ID: 进程ID

启动进程

  • 签名:整数 启动进程(文本 程序路径, [文本 参数=""], [逻辑 等待结束=假], [逻辑 显示窗口=真])
  • 说明:启动可执行程序,可传参数,可立即返回 PID 或等待结束。
  • 参数一│程序路径: exe 路径或可搜索到的程序名。
  • 参数二│[参数]: 可选命令行参数。
  • 参数三│[等待结束]: 假=返回 PID;真=返回退出码。默认假。
  • 参数四│[显示窗口]: 真=显示;假=隐藏。默认真。

图标到字节集

  • 签名:字节集 图标到字节集(整数 图标句柄, [整数 尺寸=32], [整数 格式=1])
  • 说明:将已有 HICON 转为图片字节集。不销毁原句柄。
  • 参数一│图标句柄: HICON。
  • 参数二│[尺寸]: 默认 32。
  • 参数三│[格式]: 1=PNG,2=ICO。

恢复进程

  • 签名:逻辑 恢复进程(整数 进程ID)
  • 说明:恢复之前被挂起的进程线程。
  • 参数一│进程ID: 目标进程 PID。

挂起进程

  • 签名:逻辑 挂起进程(整数 进程ID)
  • 说明:暂停指定进程的所有线程。
  • 参数一│进程ID: 目标进程 PID。

提升权限

  • 签名:逻辑 提升权限(常量 权限类型, [整数 进程ID=0])
  • 说明:为当前或指定进程启用指定系统权限,例如调试权限。
  • 参数一│权限类型: 例如 #调试权限。
  • 参数二│[进程ID]: 可选,省略表示当前进程。

是否管理员

  • 签名:逻辑 是否管理员()
  • 说明:判断当前程序是否以管理员权限运行。

检查权限

  • 签名:逻辑 检查权限(常量 权限类型, [整数 进程ID=0])
  • 说明:检查当前或指定进程是否拥有指定系统权限。
  • 参数一│权限类型: 例如 #调试权限。
  • 参数二│[进程ID]: 可选,省略表示当前进程。

等待进程结束

  • 签名:逻辑 等待进程结束(整数 进程ID, [整数 超时毫秒=0])
  • 说明:等待指定 PID 的进程退出,可设置超时时间。
  • 参数一│进程ID: 要等待的进程 PID。
  • 参数二│[超时毫秒]: 可选;<=0 表示一直等待。

结束进程

  • 签名:逻辑 结束进程(整数 进程ID)
  • 说明:结束指定进程。
  • 参数一│进程ID: 要结束的进程ID

结束进程树

  • 签名:逻辑 结束进程树([整数 进程ID=0])
  • 说明:结束指定进程及其全部子进程。不填或传 0/负数时结束自身。
  • 参数一│[进程ID=0]: 可选。省略或 0/负数结束自身。

置进程优先级

  • 签名:逻辑 置进程优先级(整数 进程ID, 整数 优先级)
  • 说明:设置指定进程的调度优先级。
  • 参数一│进程ID: 目标进程 PID。
  • 参数二│优先级: #进程优先级_低 … #进程优先级_实时,或 0~5。

进程ID是否存在

  • 签名:逻辑 进程ID是否存在(整数 进程ID)
  • 说明:判断指定进程ID是否仍在运行。
  • 参数一│进程ID: 进程ID

进程存在

  • 签名:逻辑 进程存在(文本 进程名)
  • 说明:检查指定名称的进程是否存在。
  • 参数一│进程名: 可执行文件名

进程是否存在

  • 签名:逻辑 进程是否存在(文本 进程名)
  • 说明:判断指定进程名是否存在。
  • 参数一│进程名: 例如 “notepad.exe”。

销毁图标

  • 签名:逻辑 销毁图标(整数 图标句柄)
  • 说明:释放 取进程图标/取文件图标 返回的 HICON。
  • 参数一│图标句柄: 取进程图标/取文件图标 的返回值。

易错对照

错误 正确
不等待就读输出 同步/重定向类命令看清是否阻塞
结束进程名写错 确认是映像名还是 PID
提权取消当成功 检查 以管理员重启 返回值

相关

系统操作 · 窗口操作 · 动态装载