YStudio Y++

系统支持库(系统_)

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

路径:支持库 → 系统支持库。

硬约束

  1. 扁平命令,多数前缀 系统_;与「基础支持库 → 系统操作」互补。
  2. 电源类(关机/重启/注销/锁屏/休眠/睡眠)影响整机,部分需管理员。
  3. 开机启动项写入需相应权限。
  4. 系统_尝试单实例 / 互斥体用于禁止多开。
  5. 强制关机/重启会导致未保存数据丢失。

快速开始

输出(系统_取计算机名() + " / " + 系统_取用户名())
如果 (!系统_尝试单实例("MyAppMutex")) {
    信息框("程序已在运行")
    返回
}

系统信息

本分类共 2 条。

系统_取用户名

  • 签名:文本 系统_取用户名()
  • 说明:取当前登录用户名(与 取环境变量(“USERNAME”) 通常一致)。

系统_取计算机名

  • 签名:文本 系统_取计算机名()
  • 说明:取本机 NetBIOS 计算机名。

环境/路径

本分类共 2 条。

系统_展开环境文本

  • 签名:文本 系统_展开环境文本 (文本 含环境占位符的字符串)
  • 说明:将文本中的 %变量名% 展开为当前进程环境(如 %TEMP%、%USERNAME%)。
  • 参数一│含环境占位符的字符串: 如 “%USERPROFILE%\Downloads\a.txt”

系统_环境变量列表

  • 签名:文本 系统_环境变量列表()
  • 说明:取当前进程环境块,每行一个「变量名=值」。

路径

本分类共 8 条。

系统_取Windows目录

  • 签名:文本 系统_取Windows目录()
  • 说明:取 Windows 安装目录(如 C:\Windows)。

系统_取临时目录

  • 签名:文本 系统_取临时目录()
  • 说明:取临时目录路径(末尾带路径分隔符)。

系统_取当前目录

  • 签名:文本 系统_取当前目录()
  • 说明:取进程当前工作目录。

系统_取执行文件名

  • 签名:文本 系统_取执行文件名()
  • 说明:仅取当前可执行文件名(含扩展名,如 MyApp.exe)。

系统_取程序路径

  • 签名:文本 系统_取程序路径()
  • 说明:取当前可执行文件完整路径。

系统_取系统目录

  • 签名:文本 系统_取系统目录()
  • 说明:取系统目录(32 位进程下多为 C:\Windows\System32)。

系统_取运行目录

  • 签名:文本 系统_取运行目录()
  • 说明:取当前 exe 所在目录(不含文件名)。

系统_置当前目录

  • 签名:逻辑 系统_置当前目录 (文本 路径)
  • 说明:设置进程当前工作目录。
  • 参数一│路径: 存在的目录路径

时间

本分类共 2 条。

系统_休眠

  • 签名:通用 系统_休眠 (整数 毫秒)
  • 说明:当前线程休眠指定毫秒。
  • 参数一│毫秒: 休眠时长,0 表示让出时间片

系统_取启动毫秒

  • 签名:整数 系统_取启动毫秒()
  • 说明:自系统启动以来的毫秒数(单调递增,用于计时间隔)。

电源控制

本分类共 5 条。

系统_关机

  • 签名:逻辑 系统_关机 ([整数 倒计时秒], [逻辑 强制])
  • 说明:关闭计算机。可设置强制关机和关机倒计时。
  • 参数一│[倒计时秒]: 关机前的倒计时秒数,默认为0立即关机
  • 参数二│[强制]: 是否强制关闭所有程序,默认为false

系统_注销

  • 签名:逻辑 系统_注销 ([逻辑 强制])
  • 说明:注销当前用户。
  • 参数一│[强制]: 是否强制注销,默认为false

系统_睡眠

  • 签名:逻辑 系统_睡眠 ([逻辑 强制])
  • 说明:将计算机进入睡眠状态(低功耗,内存保持供电)。
  • 参数一│[强制]: 是否强制睡眠,默认为false

系统_重启

  • 签名:逻辑 系统_重启 ([整数 倒计时秒], [逻辑 强制])
  • 说明:重启计算机。可设置强制重启和重启倒计时。
  • 参数一│[倒计时秒]: 重启前的倒计时秒数,默认为0立即重启
  • 参数二│[强制]: 是否强制关闭所有程序,默认为false

系统_锁屏

  • 签名:逻辑 系统_锁屏()
  • 说明:锁定计算机屏幕。

系统/启动项

本分类共 4 条。

系统_取开机启动列表

  • 签名:文本 系统_取开机启动列表 ([逻辑 包含所有用户])
  • 说明:枚举 Windows Run 启动项列表。每行格式:范围|名称|命令。
  • 参数一│[包含所有用户=真]: 真=同时枚举 HKCU 与 HKLM;假=仅当前用户

系统_取消开机启动

  • 签名:逻辑 系统_取消开机启动 (文本 名称, [逻辑 所有用户])
  • 说明:按名称删除 Windows Run 启动项。
  • 参数一│名称: 启动项名称
  • 参数二│[所有用户=假]: 假=当前用户,真=所有用户

系统_是否开机启动

  • 签名:逻辑 系统_是否开机启动 (文本 名称, [逻辑 所有用户])
  • 说明:判断指定名称的 Run 启动项是否存在。
  • 参数一│名称: 启动项名称
  • 参数二│[所有用户=假]: 假=当前用户,真=所有用户

系统_设置开机启动

  • 签名:逻辑 系统_设置开机启动 (文本 名称, 文本 程序路径, [文本 参数], [逻辑 所有用户])
  • 说明:把程序写入 Windows 当前用户或所有用户 Run 启动项,实现开机自动启动。所有用户需要管理员权限。
  • 参数一│名称: 启动项名称,建议使用程序名
  • 参数二│程序路径: exe 完整路径,可用 系统_取程序路径()
  • 参数三│[参数=”“]: 启动时附加命令行参数
  • 参数四│[所有用户=假]: 假=当前用户(HKCU),真=所有用户(HKLM,需要管理员权限)

进程/实例

本分类共 3 条。

系统_修改互斥体

  • 签名:逻辑 系统_修改互斥体 (文本 新互斥名, [文本 旧互斥名])
  • 说明:修改命名互斥体。仅传新互斥名时切换当前进程互斥;传第二个参数可先按名称处理外部互斥,再切换到新互斥。
  • 参数一│新互斥名: 新的命名互斥名,建议写 Local\公司_产品 或 Global\公司_产品
  • 参数二│[旧互斥名]: 需要先按名称处理的旧互斥名(用于外部程序场景)

系统_删除互斥体

  • 签名:逻辑 系统_删除互斥体 ([文本 互斥名])
  • 说明:删除(关闭)互斥体句柄。无参时删除当前进程单实例互斥;传互斥名时可尝试处理外部命名互斥。
  • 参数一│[互斥名]: 目标命名互斥体名称(可选)

系统_尝试单实例

  • 签名:逻辑 系统_尝试单实例 (文本 互斥名)
  • 说明:用 Windows 命名互斥判断是否为全局唯一实例:首次调用返回真并占用互斥至进程结束;若同名互斥已被其它进程占用则返回假。适合启动时防止多开。
  • 参数一│互斥名: 全局唯一字符串,建议写「Local\公司_产品」或「Global\公司_产品」,勿与无关程序冲突

易错对照

错误 正确
与基础库休眠混淆 本库带 系统_ 前缀
强制关机丢数据 非必要勿传 强制=真
单实例名冲突 换唯一互斥体名

相关

系统操作(基础库) · 进程操作 · 进程类 · 注册表