- UID
- 1
- 积分
- 16111
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-3
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1
函数名称: xdrx-sys-diskinfo
描述:
获取物理磁盘硬件信息
调用格式:
(xdrx-sys-diskinfo)
返回值:
返回包含以下信息的字符串列表:
1. 厂商名称
2. 产品型号
3. 固件版本
4. 序列号
示例用法:
(xdrx-sys-diskinfo)
; 返回类似: ("SEAGATE" "ST1000DM010" "CC43" "Z9A3B2C1")
注意事项:
1. 需要管理员权限才能获取完整信息
2. 仅支持Windows系统
3. 可能因硬件差异返回不同数量的信息
------------------------------------------------------------
2
函数名称: xdrx-sys-activeemail
描述:
激活系统默认邮件客户端并创建新邮件
调用格式:
(xdrx-sys-activeemail "邮箱地址" ["主题/内容"])
参数说明:
* "邮箱地址": 收件人邮箱地址字符串
* ["主题/内容"]: 可选,邮件主题或内容
返回值:
成功返回T
示例用法1:
(xdrx-sys-activeemail "user@example.com")
; 打开新邮件窗口
示例用法2:
(xdrx-sys-activeemail "user@example.com" "项目反馈")
; 带主题的新邮件
注意事项:
1. 需要系统已配置默认邮件客户端
2. 主题中空格会自动编码
3. 支持多个收件人(用分号分隔)
------------------------------------------------------------
3
函数名称: xdrx-sys-adminp
描述:
检查当前是否以管理员权限运行
调用格式:
(xdrx-sys-adminp)
返回值:
管理员权限返回T,否则返回nil
示例用法:
(xdrx-sys-adminp)
; 检查当前权限状态
注意事项:
1. 仅支持Windows系统
2. 需要UAC提权才能返回T
3. 可用于需要管理员权限的操作前检查
------------------------------------------------------------
4
函数名称: xdrx-sys-beep
描述:
播放系统提示音
调用格式:
(xdrx-sys-beep [类型])
参数说明:
* [类型]: 可选整数,声音类型:
0=默认提示音(默认)
1=系统星号音
2=系统感叹音
3=系统错误音
4=系统问询音
5=系统默认音
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-sys-beep)
; 播放默认提示音
示例用法2:
(xdrx-sys-beep 3)
; 播放系统错误音
注意事项:
1. 需要系统有声卡支持
2. 音量取决于系统设置
3. 类型超出范围时使用默认音
------------------------------------------------------------
5
函数名称: xdrx-sys-capslock
描述:
控制键盘CapsLock状态
调用格式:
(xdrx-sys-capslock [T])
参数说明:
* [T]: 可选参数,任意值表示开启CapsLock
返回值:
操作成功返回T,否则返回nil
示例用法1:
(xdrx-sys-capslock)
; 关闭CapsLock
示例用法2:
(xdrx-sys-capslock T)
; 开启CapsLock
注意事项:
1. 需要键盘支持状态切换
2. 实际效果取决于系统设置
3. 不影响物理按键状态
------------------------------------------------------------
6
函数名称: xdrx-sys-cdate
描述:
获取当前日期时间并按指定格式返回
调用格式:
(xdrx-sys-cdate "格式字符串")
参数说明:
* "格式字符串": 格式化控制字符串,支持标准时间格式符:
%Y=年 %m=月 %d=日 %H=时 %M=分 %S=秒
%D会自动转换为%d
返回值:
成功返回格式化字符串,失败返回nil
示例用法1:
(xdrx-sys-cdate "%Y-%m-%d")
; 返回"2025-05-19"
示例用法2:
(xdrx-sys-cdate "%H:%M:%S")
; 返回当前时间"19:10:33"
注意事项:
1. 格式字符串区分大小写
2. 无效格式可能返回nil
3. 自动转换%D为%d避免崩溃
------------------------------------------------------------
7
函数名称: xdrx-sys-command
描述:
执行系统命令并返回结果
调用格式:
(xdrx-sys-command "命令" [显示方式])
参数说明:
* "命令": 要执行的命令字符串
* [显示方式]: 可选整数,窗口显示方式:
0=正常显示(默认)
1=显示但不激活
2=最小化
3=最小化不激活
4=最大化
返回值:
成功返回执行的命令,失败返回nil
示例用法1:
(xdrx-sys-command "dir /b")
; 执行目录列表命令
示例用法2:
(xdrx-sys-command "notepad" 4)
; 最大化打开记事本
注意事项:
1. 通过CMD.EXE执行命令
2. 需要系统权限支持
3. 显示方式超出范围时使用默认值
------------------------------------------------------------
8
函数名称: xdrx-sys-computer
描述:
获取或设置计算机名称
调用格式:
(xdrx-sys-computer) ;获取默认名称
(xdrx-sys-computer 格式) ;获取特定格式名称
(xdrx-sys-computer "新名称") ;设置计算机名
参数说明:
* 格式: 整数,名称格式类型(0-7)
* "新名称": 要设置的计算机名称字符串
返回值:
成功返回名称字符串,失败返回nil
示例用法1:
(xdrx-sys-computer)
; 返回当前计算机名
示例用法2:
(xdrx-sys-computer "NEW-PC")
; 设置计算机名为NEW-PC
注意事项:
1. 需要管理员权限才能设置
2. 名称长度限制为15字符
3. 设置后需要重启生效
------------------------------------------------------------
9
函数名称: xdrx-sys-computername
描述:
获取当前计算机名称
调用格式:
(xdrx-sys-computername)
返回值:
成功返回计算机名称字符串,失败返回nil
示例用法:
(xdrx-sys-computername)
; 返回"MY-COMPUTER"
注意事项:
1. 仅获取名称,不能修改
2. 需要系统权限
3. 名称最大长度255字符
------------------------------------------------------------
10
函数名称: xdrx-sys-mkdir
描述:
创建指定目录
调用格式:
(xdrx-sys-mkdir "目录路径")
参数说明:
* "目录路径": 要创建的目录路径字符串
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-mkdir "C:\\temp\\newdir")
; 创建newdir目录
注意事项:
1. 路径最大长度248字符
2. 需要写入权限
3. 已存在目录不会报错
------------------------------------------------------------
11
函数名称: xdrx-sys-guid
描述:
生成全局唯一标识符(GUID)
调用格式:
(xdrx-sys-guid)
返回值:
成功返回GUID字符串,失败返回nil
示例用法:
(xdrx-sys-guid)
; 返回"{8F4B3E2A-1C7D-4E9F-A3B2-5C6D7E8F9A0B}"
注意事项:
1. 格式为{8-4-4-4-12}十六进制
2. 需要COM库支持
3. 内存不足可能失败
------------------------------------------------------------
12
函数名称: xdrx-sys-ctrl-alt-down
描述:
检查Ctrl+Alt组合键状态
调用格式:
(xdrx-sys-ctrl-alt-down [键代码|字符])
参数说明:
* [键代码]: 可选,整数键代码或字符
指定时检查该键是否同时按下
返回值:
符合条件返回T,否则返回nil
示例用法1:
(xdrx-sys-ctrl-alt-down)
; 检查Ctrl+Alt是否按下
示例用法2:
(xdrx-sys-ctrl-alt-down "A")
; 检查Ctrl+Alt+A是否按下
注意事项:
1. 字符参数不区分大小写
2. 仅检测按键状态
3. 不影响实际按键
------------------------------------------------------------
13
函数名称: xdrx-sys-ctrl-alt-shift-down
描述:
检查Ctrl+Alt+Shift组合键状态
调用格式:
(xdrx-sys-ctrl-alt-shift-down [键代码|字符])
参数说明:
* [键代码]: 可选,整数键代码或字符
指定时检查该键是否同时按下
返回值:
符合条件返回T,否则返回nil
示例用法1:
(xdrx-sys-ctrl-alt-shift-down)
; 检查三键组合状态
示例用法2:
(xdrx-sys-ctrl-alt-shift-down "B")
; 检查Ctrl+Alt+Shift+B
注意事项:
1. 是xdrx-sys-ctrl-alt-down的扩展版本
2. 字符参数自动转为大写
3. 仅检测不修改按键状态
------------------------------------------------------------
14
函数名称: xdrx-sys-ctrl-down
描述:
检查Ctrl键状态
调用格式:
(xdrx-sys-ctrl-down [键代码|字符])
参数说明:
* [键代码]: 可选,整数键代码或字符
指定时检查该键是否同时按下
返回值:
符合条件返回T,否则返回nil
示例用法1:
(xdrx-sys-ctrl-down)
; 检查Ctrl键是否按下
示例用法2:
(xdrx-sys-ctrl-down "C")
; 检查Ctrl+C组合
注意事项:
1. 单独检测Ctrl键状态
2. 字符参数自动转为大写
3. 不影响实际按键状态
------------------------------------------------------------
15
函数名称: xdrx-sys-ctrl-shift-down
描述:
检查Ctrl+Shift组合键状态
调用格式:
(xdrx-sys-ctrl-shift-down [键代码|字符])
参数说明:
* [键代码]: 可选,整数键代码或字符
指定时检查该键是否同时按下
返回值:
符合条件返回T,否则返回nil
示例用法1:
(xdrx-sys-ctrl-shift-down)
; 检查Ctrl+Shift组合状态
示例用法2:
(xdrx-sys-ctrl-shift-down "F")
; 检查Ctrl+Shift+F组合
注意事项:
1. 检测两键组合状态
2. 字符参数自动转为大写
3. 不会触发实际按键事件
------------------------------------------------------------
16
函数名称: xdrx-sys-currentfolder
描述:
获取当前工作目录路径
调用格式:
(xdrx-sys-currentfolder)
返回值:
成功返回当前目录路径字符串,失败返回nil
示例用法:
(xdrx-sys-currentfolder)
; 返回"H:\\MyProject\\"
注意事项:
1. 返回完整路径包含反斜杠
2. 最大路径长度260字符
3. 需要文件系统访问权限
------------------------------------------------------------
17
函数名称: xdrx-sys-cursorpos
描述:
获取当前鼠标光标屏幕坐标
调用格式:
(xdrx-sys-cursorpos)
返回值:
成功返回(x y)坐标列表,失败返回nil
示例用法:
(xdrx-sys-cursorpos)
; 返回(1280 720)
注意事项:
1. 坐标基于屏幕左上角原点
2. 单位为像素
3. 需要系统权限
------------------------------------------------------------
18
函数名称: xdrx-sys-date
描述:
获取或设置系统日期
调用格式:
(xdrx-sys-date [<年 月 日>])
参数说明:
* [<年 月 日>]: 可选,整数列表
指定时设置系统日期
返回值:
成功返回(年 月 日)列表,失败返回nil
示例用法1:
(xdrx-sys-date)
; 获取当前日期,返回(2025 5 19)
示例用法2:
(xdrx-sys-date '(2025 12 31))
; 设置系统日期为2025年12月31日
注意事项:
1. 需要管理员权限才能修改日期
2. 日期格式必须有效
3. 返回本地时区日期
------------------------------------------------------------
19
函数名称: xdrx-sys-removedir
描述:
删除指定空目录
调用格式:
(xdrx-sys-removedir <目录路径>)
参数说明:
* <目录路径>: 要删除的目录路径字符串
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-removedir "C:\\temp\\empty_dir")
; 删除empty_dir目录
注意事项:
1. 目录必须为空才能删除
2. 路径最大长度260字符
3. 需要删除权限
------------------------------------------------------------
20
函数名称: xdrx-sys-delete-ini-key
描述:
删除INI配置文件中的指定键
调用格式:
(xdrx-sys-delete-ini-key <节名> <键名> <文件路径>)
参数说明:
* <节名>: INI文件中的节名称
* <键名>: 要删除的键名称
* <文件路径>: INI文件完整路径
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-delete-ini-key "Settings" "LastPath" "config.ini")
; 删除config.ini中Settings节的LastPath键
注意事项:
1. 文件需符合INI格式标准
2. 需要文件写入权限
3. 不存在的键不会报错
------------------------------------------------------------
21
函数名称: xdrx-sys-delete-ini-section
描述:
删除INI配置文件中的整个节
调用格式:
(xdrx-sys-delete-ini-section <节名> <文件路径>)
参数说明:
* <节名>: 要删除的节名称
* <文件路径>: INI文件完整路径
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-delete-ini-section "Settings" "config.ini")
; 删除config.ini中的Settings节
注意事项:
1. 会删除节及其下所有键值
2. 需要文件写入权限
3. 不存在的节不会报错
------------------------------------------------------------
22
函数名称: xdrx-sys-deltree
描述:
递归删除目录及其所有内容
调用格式:
(xdrx-sys-deltree <目录路径>)
参数说明:
* <目录路径>: 要删除的目录完整路径
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-deltree "C:\\temp\\old_data")
; 递归删除old_data目录
注意事项:
1. 路径必须包含驱动器号和子目录
2. 不能删除根目录
3. 需要管理员权限
4. 操作不可逆,谨慎使用
------------------------------------------------------------
23
函数名称: xdrx-sys-drivetype
描述:
获取指定驱动器的类型
调用格式:
(xdrx-sys-drivetype <驱动器路径>)
参数说明:
* <驱动器路径>: 驱动器根路径,如"C:\\"
返回值:
返回驱动器类型代码:
0=未知 1=无效 2=可移动 3=固定 4=网络 5=CD-ROM 6=RAM磁盘
示例用法:
(xdrx-sys-drivetype "D:\\")
; 返回3表示固定磁盘
注意事项:
1. 路径必须以反斜杠结尾
2. 需要读取驱动器信息权限
------------------------------------------------------------
24
函数名称: xdrx-sys-enable-olebusy
描述:
控制OLE Server Busy对话框的显示
调用格式:
(xdrx-sys-enable-olebusy <状态>)
参数说明:
* <状态>: T-启用(屏蔽对话框) nil-禁用(恢复默认)
返回值:
总是返回T
示例用法1:
(xdrx-sys-enable-olebusy T)
; 开始OLE操作前调用,屏蔽忙提示
示例用法2:
(xdrx-sys-enable-olebusy nil)
; OLE操作完成后恢复默认设置
注意事项:
1. 主要用于Excel/AutoCAD OLE交互
2. 需成对使用(T和nil)
3. 不影响实际OLE操作
------------------------------------------------------------
25
函数名称: xdrx-sys-shellexec
描述:
通过系统Shell执行文件/程序
调用格式:
(xdrx-sys-shellexec <文件路径> [参数])
参数说明:
* <文件路径>: 要执行的文件完整路径
* [参数]: 可选,传递给程序的参数
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-sys-shellexec "C:\\Program Files\\App\\app.exe")
; 启动指定应用程序
示例用法2:
(xdrx-sys-shellexec "report.docx" "/p")
; 使用参数打开Word文档
注意事项:
1. 支持带空格的路径
2. 需要文件执行权限
3. 使用系统默认程序打开
------------------------------------------------------------
26
函数名称: xdrx-sys-execute
描述:
直接执行程序/命令(与shellexec不同)
调用格式:
(xdrx-sys-execute <命令> [窗口模式])
参数说明:
* <命令>: 要执行的完整命令
* [窗口模式]: 可选(0-4)
0=正常 1=不激活 2=最小化 3=最小不激活 4=最大化
返回值:
成功返回命令字符串,失败返回nil
示例用法1:
(xdrx-sys-execute "notepad.exe")
; 以默认方式启动记事本
示例用法2:
(xdrx-sys-execute "calc.exe" 2)
; 最小化启动计算器
与shellexec区别:
1. 直接执行而非通过Shell
2. 支持窗口模式控制
3. 返回命令而非T/nil
------------------------------------------------------------
27
函数名称: xdrx-sys-executeprocess
描述:
高级进程执行(可捕获输出)
调用格式:
(xdrx-sys-executeprocess <程序路径> <参数>)
参数说明:
* <程序路径>: 要执行的可执行文件路径
* <参数>: 传递给程序的命令行参数
返回值:
返回执行结果字符串列表
示例用法:
(xdrx-sys-executeprocess "python.exe" "script.py")
; 执行Python脚本并获取输出
三个函数区别:
1. shellexec - 简单Shell调用
2. execute - 直接执行+窗口控制
3. executeprocess - 高级进程管理+输出捕获
注意事项:
1. 支持长路径和空格
2. 可设置环境变量
3. 隐藏执行窗口
------------------------------------------------------------
28
函数名称: xdrx-sys-exewait
描述:
同步执行外部程序并等待完成
调用格式:
(xdrx-sys-exewait <命令> [窗口模式])
参数说明:
* <命令>: 要执行的完整命令
* [窗口模式]: 可选(0-4)
0=正常 1=不激活 2=最小化 3=最小不激活 4=最大化
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-exewait "longtask.exe" 0)
; 执行耗时任务并等待
特点说明:
1. 会阻塞等待程序结束
2. 自动恢复AutoCAD焦点
3. 比executeprocess更简单直接
------------------------------------------------------------
29
函数名称: xdrx-sys-filecopy
描述:
二进制方式复制文件
调用格式:
(xdrx-sys-filecopy <源文件> <目标文件>)
参数说明:
* <源文件>: 要复制的文件完整路径
* <目标文件>: 目标文件完整路径
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-filecopy "C:\\data\\source.dat" "D:\\backup\\target.dat")
; 二进制复制文件
注意事项:
1. 采用二进制模式读写
2. 自动覆盖已存在目标文件
3. 不支持目录复制
4. 源和目标不能相同
------------------------------------------------------------
30
函数名称: xdrx-sys-filedelete
描述:
删除指定文件
调用格式:
(xdrx-sys-filedelete <文件路径>)
参数说明:
* <文件路径>: 要删除的文件完整路径
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-filedelete "C:\\temp\\oldfile.txt")
; 删除指定文件
注意事项:
1. 需要文件删除权限
2. 不能删除只读文件
3. 不提示确认直接删除
4. 不支持通配符
------------------------------------------------------------
31
函数名称: xdrx-sys-fileinuse
描述:
检查文件是否被占用
调用格式:
(xdrx-sys-fileinuse <文件路径>)
参数说明:
* <文件路径>: 要检查的文件完整路径
返回值:
被占用返回T,未被占用或不存在返回nil
示例用法:
(xdrx-sys-fileinuse "C:\\data\\locked.txt")
; 检查文件是否被锁定
实现原理:
1. 尝试以独占模式打开文件
2. 成功打开表示未被占用
3. 打开失败表示被占用
------------------------------------------------------------
32
函数名称: xdrx-sys-filemove
描述:
移动或重命名文件
调用格式:
(xdrx-sys-filemove <源文件> <目标文件>)
参数说明:
* <源文件>: 要移动的文件完整路径
* <目标文件>: 目标路径或新文件名
返回值:
成功返回T,失败返回nil
示例用法1:
(xdrx-sys-filemove "C:\\temp\\old.txt" "D:\\backup\\new.txt")
; 移动并重命名文件
示例用法2:
(xdrx-sys-filemove "oldname.txt" "newname.txt")
; 重命名文件
注意事项:
1. 使用系统MoveFile API
2. 源和目标不能相同
3. 可跨磁盘移动
4. 自动覆盖已存在目标文件
------------------------------------------------------------
33
函数名称: xdrx-sys-filerename
描述:
重命名文件(同目录)
调用格式:
(xdrx-sys-filerename <原文件名> <新文件名>)
参数说明:
* <原文件名>: 要重命名的文件
* <新文件名>: 新的文件名
返回值:
成功返回T,失败返回nil
示例用法:
(xdrx-sys-filerename "old.txt" "new.txt")
; 重命名文件
与filemove区别:
1. 仅在同一目录下操作
2. 不能跨目录移动
3. 使用_trename而非MoveFile
注意事项:
1. 新文件名不能已存在
2. 需在同一文件系统内
------------------------------------------------------------
34
函数名称: xdrx-sys-findfile
描述:
搜索匹配通配符的文件
调用格式:
(xdrx-sys-findfile <路径通配符> [截尾长度] [格式标志])
参数说明:
* <路径通配符>: 搜索路径和通配符(如"C:\\*.txt")
* [截尾长度]: 可选,文件名尾部要删除的字符数
* [格式标志]: 可选T,返回带文件大小的列表
返回值:
1. 默认返回文件名列表("file1" "file2")
2. 格式标志为T时返回((文件名 大小)...)
3. 截尾长度>0时删除文件名尾部字符
示例用法1:
(xdrx-sys-findfile "C:\\temp\\*.lsp")
; 返回所有LSP文件
示例用法2:
(xdrx-sys-findfile "D:\\fonts\\*.shx" 4 T)
; 返回((文件名 大小)...)并删除.shx后缀
注意事项:
1. 自动排除系统文件和隐藏目录
2. 文件名转为大写
3. 支持多级目录搜索
------------------------------------------------------------
35
函数名称: xdrx-sys-foreground
描述:
将AutoCAD窗口置前并获取焦点
调用格式:
(xdrx-sys-foreground)
参数说明:
无参数
返回值:
总是返回T
示例用法:
(xdrx-sys-foreground)
; 将AutoCAD窗口带到前台
功能特点:
1. 自动恢复最小化窗口
2. 强制获取输入焦点
3. 兼容多显示器环境
4. 适用于窗口被遮挡的情况
------------------------------------------------------------
36
函数名称: xdrx-sys-getacadtitle
描述:
获取AutoCAD主窗口标题
调用格式:
(xdrx-sys-getacadtitle)
参数说明:
无参数
返回值:
返回AutoCAD窗口标题字符串
示例用法:
(xdrx-sys-getacadtitle)
; 返回"AutoCAD 2025 - [Drawing1.dwg]"
实现原理:
1. 通过GetWindowText获取窗口标题
2. 包含文档名称和软件版本信息
注意事项:
1. 标题格式取决于AutoCAD版本
2. 包含当前文档名称
------------------------------------------------------------
37
函数名称: xdrx-sys-getacadwndrect
描述:
获取AutoCAD窗口的屏幕坐标和尺寸
调用格式:
(xdrx-sys-getacadwndrect)
参数说明:
无参数
返回值:
返回(left top right bottom)坐标列表,单位为像素
示例用法:
(xdrx-sys-getacadwndrect)
; 可能返回(100 200 1500 900)
坐标系说明:
1. left: 窗口左边界X坐标
2. top: 窗口上边界Y坐标
3. right: 窗口右边界X坐标
4. bottom: 窗口下边界Y坐标
注意事项:
1. 坐标基于屏幕左上角(0,0)
2. 包含窗口边框和标题栏
------------------------------------------------------------
38
函数名称: xdrx-sys-getdir
函数别名: xdrx-sys-selectfolder
描述:
弹出文件夹选择对话框
调用格式:
(xdrx-sys-getdir <标题> [初始路径] [根路径] [标志位])
参数说明:
* <标题>: 对话框标题文字
* [初始路径]: 可选,默认打开的路径
* [根路径]: 可选,限制浏览的根目录
* [标志位]: 可选,控制对话框行为的标志
返回值:
返回用户选择的完整路径字符串
示例用法1:
(xdrx-sys-getdir "请选择项目文件夹")
; 弹出基本文件夹选择对话框
示例用法2:
(xdrx-sys-getdir "选择模板目录" "C:\\Templates" "C:\\" 1)
; 限制在C盘内选择,默认打开Templates目录
标志位说明:
1: 仅返回文件系统目录
2: 显示编辑框可输入路径
4: 显示状态栏信息
------------------------------------------------------------
39
函数名称: xdrx-sys-getenv
描述:
获取系统环境变量
调用格式:
(xdrx-sys-getenv [变量名] [类型标志])
参数说明:
* [变量名]: 可选,要查询的变量名(不传则返回全部变量)
* [类型标志]: 可选,1=用户变量 2=系统变量(默认)
返回值:
1. 指定变量名时返回对应值
2. 未指定变量名时返回((变量名 值)...)列表
示例用法1:
(xdrx-sys-getenv "PATH")
; 返回PATH环境变量值
示例用法2:
(xdrx-sys-getenv)
; 返回所有环境变量列表
示例用法3:
(xdrx-sys-getenv nil 1)
; 返回所有用户环境变量
------------------------------------------------------------
40
函数名称: xdrx-sys-fileattribute
描述:
获取文件属性标志
调用格式:
(xdrx-sys-fileattribute <文件路径>)
参数说明:
* <文件路径>: 要查询的文件完整路径
返回值:
返回表示文件属性的整数值,可用以下常量判断:
1: 只读文件
2: 隐藏文件
4: 系统文件
16: 目录
32: 存档文件
64: 设备文件
128: 普通文件
256: 临时文件
示例用法:
(xdrx-sys-fileattribute "C:\\autoexec.bat")
; 可能返回6(2+4表示系统+隐藏文件)
注意事项:
1. 返回值是位掩码,可用logand判断具体属性
2. 文件不存在返回nil
------------------------------------------------------------
41
函数名称: xdrx-sys-getlogicaldrive
描述:
获取系统所有逻辑驱动器列表
调用格式:
(xdrx-sys-getlogicaldrive)
参数说明:
无参数
返回值:
返回逻辑驱动器盘符列表,如("A:" "C:" "D:"...)
示例用法:
(xdrx-sys-getlogicaldrive)
; 可能返回("C:" "D:" "E:")
注意事项:
1. 包含所有类型的驱动器(硬盘/CD/网络等)
2. 盘符格式为"X:"
3. 不存在的驱动器也会列出
------------------------------------------------------------
42
函数名称: xdrx-sys-mouse-pos
描述:
获取当前鼠标位置坐标
调用格式:
(xdrx-sys-mouse-pos)
参数说明:
无参数
返回值:
返回(x y)坐标列表,单位为像素
坐标系说明:
1. x: 水平坐标(从左向右递增)
2. y: 垂直坐标(从上向下递增)
3. 原点(0,0)在屏幕左上角
示例用法:
(xdrx-sys-mouse-pos)
; 可能返回(1024 768)
注意事项:
1. 返回屏幕绝对坐标
2. 需要全局钩子支持
3. 无钩子时返回nil
------------------------------------------------------------
43
函数名称: xdrx-sys-ini-section
描述:
读取INI文件指定节的所有键值对
调用格式:
(xdrx-sys-ini-section <节名> <文件路径>)
参数说明:
* <节名>: 要读取的节名称(如"Section1")
* <文件路径>: INI文件完整路径
返回值:
1. 成功返回键值对列表,格式为(key1=value1 key2=value2...)
2. 节不存在或文件不存在返回nil
示例用法:
(xdrx-sys-ini-section "Settings" "C:\\config.ini")
; 可能返回("Width=800" "Height=600" "Title=MyApp")
注意事项:
1. 节名区分大小写
2. 最大支持32KB的节内容
3. 文件路径需有读写权限
------------------------------------------------------------
44
函数名称: xdrx-sys-ini-section-keys
描述:
获取INI文件指定节的所有键名
调用格式:
(xdrx-sys-ini-section-keys <节名> <文件路径>)
参数说明:
* <节名>: 要查询的节名称
* <文件路径>: INI文件完整路径
返回值:
1. 成功返回键名列表,格式为(key1 key2 key3...)
2. 节不存在或文件不存在返回nil
示例用法:
(xdrx-sys-ini-section-keys "Settings" "C:\\config.ini")
; 可能返回("Width" "Height" "Title")
与xdrx-sys-ini-section区别:
1. 只返回键名,不返回值
2. 适用于只需要键名的场景
3. 性能更高效
------------------------------------------------------------
45
函数名称: xdrx-sys-ini-sections
描述:
获取INI文件中的所有节名
调用格式:
(xdrx-sys-ini-sections <文件路径>)
参数说明:
* <文件路径>: INI文件完整路径
返回值:
1. 成功返回节名列表,格式为(section1 section2 section3...)
2. 文件不存在或无效时返回nil
示例用法:
(xdrx-sys-ini-sections "C:\\config.ini")
; 可能返回("Settings" "Database" "User")
注意事项:
1. 不返回节中的键名和值
2. 最大支持32KB的节名内容
3. 文件路径需有读取权限
------------------------------------------------------------
46
函数名称: xdrx-sys-ini-read
描述:
读取INI文件中指定键的字符串值
调用格式1:
(xdrx-sys-ini-read <节名> <键名> <文件路径>)
调用格式2:
(xdrx-sys-ini-read <节名> <键名> <文件路径> <默认值>)
参数说明:
* <节名>: 目标节名称
* <键名>: 要读取的键名
* <文件路径>: INI文件完整路径
* [默认值]: 可选,键不存在时返回的值
返回值:
1. 键存在时返回对应字符串值
2. 键不存在时:
- 有默认值参数则返回默认值
- 无默认值参数则返回nil
示例用法1:
(xdrx-sys-ini-read "Settings" "Title" "C:\\config.ini")
; 返回"我的应用"或nil
示例用法2:
(xdrx-sys-ini-read "Settings" "Title" "C:\\config.ini" "默认标题")
; 键不存在时返回"默认标题"
注意事项:
1. 字符串值最大长度512字节
2. 节名和键名区分大小写
3. 文件需有读取权限
------------------------------------------------------------
47
函数名称: xdrx-sys-get-roamable-root
描述:
获取AutoCAD可漫游根文件夹路径
调用格式:
(xdrx-sys-get-roamable-root)
参数说明:
无参数
返回值:
1. 成功返回路径字符串(如"C:\\Users\\用户名\\AppData\\Roaming\\Autodesk\\AutoCAD 2023")
2. 失败返回nil
典型路径位置:
%APPDATA%\Autodesk\AutoCAD[版本号]
示例用法:
(xdrx-sys-get-roamable-root)
; 可能返回"C:\\Users\\John\\AppData\\Roaming\\Autodesk\\AutoCAD 2023\\R23.1"
注意事项:
1. 该路径用于存储用户自定义设置和支持文件
2. 不同AutoCAD版本路径不同
3. 路径包含当前AutoCAD版本号
------------------------------------------------------------
48
函数名称: xdrx-sys-screen-resolution
描述:
获取主显示器屏幕分辨率
调用格式:
(xdrx-sys-screen-resolution)
参数说明:
无参数
返回值:
返回(水平分辨率 垂直分辨率)列表,单位为像素
示例用法:
(xdrx-sys-screen-resolution)
; 可能返回(1920 1080)
注意事项:
1. 返回主显示器分辨率
2. 多显示器环境下不适用
3. 分辨率单位为像素(pixels)
4. 坐标系: 水平从左到右,垂直从上到下
------------------------------------------------------------
49
函数名称: xdrx-sys-volume-serial
描述:
获取磁盘卷序列号
调用格式:
(xdrx-sys-volume-serial <磁盘路径>)
参数说明:
* <磁盘路径>: 磁盘根目录路径,如"C:\\"
返回值:
返回格式化后的卷序列号字符串(XXXX-XXXX格式)
示例用法:
(xdrx-sys-volume-serial "C:\\")
; 可能返回"3A2B-1C4D"
注意事项:
1. 路径必须以"X:\\"格式提供
2. 返回8位16进制数,中间用连字符分隔
3. 某些系统卷可能需要管理员权限
4. 无效路径返回nil
------------------------------------------------------------
50
函数名称: xdrx-sys-get-supportpath
描述:
获取AutoCAD支持文件搜索路径列表
调用格式:
(xdrx-sys-get-supportpath)
参数说明:
无参数
返回值:
返回支持路径列表,每个路径确保以"\\"结尾
示例用法:
(xdrx-sys-get-supportpath)
; 可能返回("C:\\Program Files\\Autodesk\\AutoCAD 2023\\Support\\"
; "C:\\Users\\用户名\\AppData\\Roaming\\Autodesk\\AutoCAD 2023\\Support\\")
注意事项:
1. 返回ACADPREFIX系统变量内容
2. 多路径用分号分隔
3. 自动确保路径以反斜杠结尾
4. 路径顺序影响文件搜索优先级
------------------------------------------------------------
51
函数名称: xdrx-sys-time2string
描述:
获取当前时间并格式化为字符串
调用格式:
(xdrx-sys-time2string)
参数说明:
无参数
返回值:
返回12位时间字符串(HHMMSSmmm格式)
示例用法:
(xdrx-sys-time2string)
; 可能返回"142530456" (表示14:25:30.456)
时间格式说明:
1. HH: 小时(24小时制)
2. MM: 分钟
3. SS: 秒
4. mmm: 毫秒
注意事项:
1. 基于AutoCAD系统变量CDATE
2. 固定返回12位字符串
3. 不包含日期信息
4. 毫秒部分可能为000
------------------------------------------------------------
52
函数名称: xdrx-sys-guidgen
描述:
生成全局唯一标识符(GUID)
调用格式:
(xdrx-sys-guidgen)
参数说明:
无参数
返回值:
返回标准GUID字符串(格式:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
示例用法:
(xdrx-sys-guidgen)
; 可能返回"6B29FC40-CA47-1067-B31D-00DD010662DA"
GUID格式说明:
8-4-4-4-12的十六进制数字,用连字符分隔
注意事项:
1. 基于RFC 4122标准
2. 生成的GUID全球唯一
3. 适用于需要唯一标识的场景
4. 失败返回nil
------------------------------------------------------------
53
函数名称: xdrx-sys-hostname
描述:
获取本地计算机的主机名
调用格式:
(xdrx-sys-hostname)
参数说明:
无参数
返回值:
1. 成功返回主机名字符串
2. 失败返回nil
示例用法:
(xdrx-sys-hostname)
; 可能返回"MYCOMPUTER"或"mycomputer.example.com"
注意事项:
1. 返回计算机在网络中的标识名称
2. 可能包含域名后缀
3. 需要网络服务支持
4. 在无网络环境中可能返回简单主机名
------------------------------------------------------------
54
函数名称: xdrx-sys-htmlhelp
描述:
调用HTML帮助系统显示帮助内容
调用格式1:
(xdrx-sys-htmlhelp <帮助文件路径>)
调用格式2:
(xdrx-sys-htmlhelp <帮助文件路径> <主题ID>)
调用格式3:
(xdrx-sys-htmlhelp <帮助文件路径> <关键字>)
参数说明:
* <帮助文件路径>: .chm帮助文件完整路径
* [主题ID]: 可选,要显示的索引主题编号
* [关键字]: 可选,要查找的关键词字符串
返回值:
总是返回nil
示例用法1:
(xdrx-sys-htmlhelp "C:\\help\\manual.chm")
; 显示帮助目录
示例用法2:
(xdrx-sys-htmlhelp "C:\\help\\manual.chm" 100)
; 显示主题ID为100的内容
示例用法3:
(xdrx-sys-htmlhelp "C:\\help\\manual.chm" "绘图命令")
; 查找"绘图命令"关键字
注意事项:
1. 需要有效的.chm帮助文件
2. 帮助窗口集成到AutoCAD主窗口
3. 主题ID需参考帮助文件定义
4. 关键字查找支持模糊匹配
------------------------------------------------------------
55
函数名称: xdrx-sys-isacad64
描述:
检测当前AutoCAD是否为64位版本
调用格式:
(xdrx-sys-isacad64)
参数说明:
无参数
返回值:
1. 64位版本返回T
2. 32位版本返回nil
示例用法:
(xdrx-sys-isacad64)
; 64位AutoCAD返回T
注意事项:
1. 基于编译时_WIN64宏定义
2. 主要用于兼容性检查
3. 返回值可直接用于条件判断
4. 不区分具体AutoCAD版本号
------------------------------------------------------------
56
函数名称: xdrx-sys-ispoweruser
描述:
检测当前用户是否具有高级权限
调用格式:
(xdrx-sys-ispoweruser)
参数说明:
无参数
返回值:
1. 高级用户返回T
2. 普通用户返回nil
示例用法:
(xdrx-sys-ispoweruser)
; 管理员账户返回T
注意事项:
1. 高级用户通常指管理员或Power Users组成员
2. 用于需要特殊权限的功能控制
3. 返回值可直接用于条件判断
4. 不同Windows版本权限策略可能不同
------------------------------------------------------------
57
函数名称: xdrx-sys-iswin64
描述:
检测当前操作系统是否为64位版本
调用格式:
(xdrx-sys-iswin64)
参数说明:
无参数
返回值:
1. 64位系统返回T
2. 32位系统返回nil
示例用法:
(xdrx-sys-iswin64)
; 64位Windows返回T
注意事项:
1. 检测操作系统架构而非应用程序架构
2. 用于系统级兼容性检查
3. 返回值可直接用于条件判断
4. 32位系统上可能运行64位AutoCAD(通过WOW64)
------------------------------------------------------------
58
函数名称: xdrx-sys-julian2date
描述:
将AutoCAD儒略日转换为日期时间列表
调用格式:
(xdrx-sys-julian2date)
参数说明:
无参数(自动使用AutoCAD DATE系统变量)
返回值:
返回日期时间列表格式: (年 月 日 时 分 秒 毫秒)
示例用法:
(xdrx-sys-julian2date)
; 可能返回("2025" "5" "19" "21" "36" "6" "500")
注意事项:
1. 使用AutoCAD当前DATE系统变量值
2. 返回值为字符串列表
3. 精度到毫秒级
4. 儒略日从公元前4713年1月1日开始计算
------------------------------------------------------------
59
函数名称: xdrx-sys-key-down
描述:
检测指定按键当前是否被按下
调用格式1:
(xdrx-sys-key-down <键码>)
调用格式2:
(xdrx-sys-key-down "<字符>")
参数说明:
* <键码>: 虚拟键码(如VK_SHIFT=16)
* "<字符>": 单个字符(如"A"或"a")
返回值:
1. 按键按下返回T
2. 按键未按下返回nil
示例用法1:
(xdrx-sys-key-down 16) ; 检测Shift键
示例用法2:
(xdrx-sys-key-down "A") ; 检测A键
注意事项:
1. 区分大小写("A"和"a"不同)
2. 仅检测调用时刻的按键状态
3. 常用虚拟键码:
VK_SHIFT=16, VK_CONTROL=17
VK_MENU=18(Alt键)
4. 不适用于组合键检测
------------------------------------------------------------
60
函数名称: xdrx-sys-key-state
描述:
获取键盘状态信息(支持单键检测和全局状态查询)
调用格式1(单键检测):
(xdrx-sys-key-state [键码|"字符"])
调用格式2(全局状态):
(xdrx-sys-key-state)
参数说明:
* [键码]: 虚拟键码(如VK_SHIFT=16)
* ["字符"]: 单个字符(如"A")
返回值:
1. 带参数时:按键按下返回T,否则返回nil
2. 无参数时:返回列表(当前键码 Ctrl状态 Shift状态)
示例用法1:
(xdrx-sys-key-state 16) ; 检测Shift键
示例用法2:
(xdrx-sys-key-state) ; 返回(65 1 0) 表示A键按下,Ctrl按下,Shift未按
注意事项:
1. Ctrl状态:1按下/0未按
2. Shift状态:1按下/0未按
3. 键码为0表示没有普通键按下
4. 区分大小写("A"和"a"不同)
------------------------------------------------------------
61
函数名称: xdrx-sys-lmouse-down
描述:
检测鼠标左键是否按下
调用格式:
(xdrx-sys-lmouse-down)
参数说明:
无
返回值:
* 左键按下返回T
* 未按下返回nil
示例用法:
(xdrx-sys-lmouse-down) ; 检测左键状态
注意事项:
1. 需要先初始化全局钩子
2. 仅检测按下状态,不处理双击
3. 返回值为AutoCAD API标准(T/nil)
------------------------------------------------------------
62
函数名称: xdrx-sys-mem
描述:
获取系统内存状态信息
调用格式:
(xdrx-sys-mem)
参数说明:
无
返回值:
返回包含7个值的列表:
1. 内存使用百分比(整数)
2. 物理内存总量(实数,字节)
3. 可用物理内存(实数,字节)
4. 页面文件总量(实数,字节)
5. 可用页面文件(实数,字节)
6. 虚拟内存总量(实数,字节)
7. 可用虚拟内存(实数,字节)
示例用法:
(xdrx-sys-mem) ; 返回类似(45 17179869184 9663676416 ...)
注意事项:
1. 数值单位为字节
2. 百分比范围为0-100
3. 需要Windows平台支持
------------------------------------------------------------
63
函数名称: xdrx-sys-mmouse-down
描述:
检测鼠标中键是否按下
调用格式:
(xdrx-sys-mmouse-down)
参数说明:
无
返回值:
中键按下返回T
未按下返回nil
示例用法:
(xdrx-sys-mmouse-down) ; 检测中键状态
注意事项:
需要先初始化全局钩子
仅检测按下状态,不处理双击
返回值为AutoCAD API标准(T/nil)
------------------------------------------------------------
64
函数名称: xdrx-sys-navigatetourl
描述:
在默认浏览器中打开指定URL
调用格式:
(xdrx-sys-navigatetourl <url>)
参数说明:
* <url>: 要打开的网址字符串
返回值:
* 成功打开返回T
* 参数无效返回nil
示例用法:
(xdrx-sys-navigatetourl "https://www.example.com")
注意事项:
1. 需要有效的URL参数
2. 使用系统默认浏览器打开
3. 需要Windows平台支持
------------------------------------------------------------
65
函数名称: xdrx-sys-ipconfig
描述:
获取网络适配器配置信息
调用格式:
(xdrx-sys-ipconfig)
参数说明:
无
返回值:
返回嵌套列表,每个子列表包含:
1. 适配器名称(字符串)
2. 友好名称(字符串)
3. 描述(字符串)
4. MAC地址(字符串)
5. 类型(字符串)
6. IP地址(字符串)
7. 子网掩码(字符串)
8. 默认网关(字符串)
9. IP分配方式(DHCP/FIXED)
示例用法:
(xdrx-sys-ipconfig) ; 返回类似(("eth0" "以太网" "..." "00:1A:2B:..." "ETHERNET" "192.168.1.100" "255.255.255.0" "192.168.1.1" "DHCP"))
注意事项:
1. 需要Windows平台支持
2. 返回信息可能因系统配置而异
3. 内存不足时返回nil
------------------------------------------------------------
66
函数名称: xdrx-sys-setnumlock
描述:
设置NumLock键状态
调用格式1(开启NumLock):
(xdrx-sys-setnumlock T)
调用格式2(关闭NumLock):
(xdrx-sys-setnumlock)
参数说明:
* [T]: 可选参数,存在时开启NumLock,不存在时关闭NumLock
返回值:
* 操作成功返回T
* 操作失败返回nil
示例用法1:
(xdrx-sys-setnumlock T) ; 开启NumLock
示例用法2:
(xdrx-sys-setnumlock) ; 关闭NumLock
注意事项:
1. 需要Windows平台支持
2. 仅影响NumLock键状态
------------------------------------------------------------
67
函数名称: xdrx-sys-pause
描述:
暂停程序执行指定秒数
调用格式:
(xdrx-sys-pause <秒数>)
参数说明:
* <秒数>: 要暂停的时间(正整数)
返回值:
总是返回nil
示例用法:
(xdrx-sys-pause 5) ; 暂停5秒
注意事项:
1. 保持AutoCAD消息循环运行
2. 实际暂停时间可能有微小偏差
3. 仅支持Windows平台
------------------------------------------------------------
68
函数名称: xdrx-sys-ping-alive
描述:
保持AutoCAD窗口活跃状态
调用格式:
(xdrx-sys-ping-alive)
参数说明:
无
返回值:
总是返回T
示例用法:
(xdrx-sys-ping-alive) ; 防止AutoCAD窗口变灰
注意事项:
1. 通过发送空消息保持窗口活跃
2. 处理消息队列防止界面冻结
3. 仅支持Windows平台
------------------------------------------------------------
69
函数名称: xdrx-sys-process-list
描述:
获取当前运行的进程列表
调用格式1(仅进程名):
(xdrx-sys-process-list)
调用格式2(完整路径):
(xdrx-sys-process-list T)
参数说明:
* [T]: 可选参数,存在时返回进程完整路径
返回值:
* 返回进程名字符串列表
* 获取失败返回nil
示例用法1:
(xdrx-sys-process-list) ; 返回("notepad.exe" "chrome.exe")
示例用法2:
(xdrx-sys-process-list T) ; 返回("C:\Windows\notepad.exe" "C:\Program Files\Google\Chrome\chrome.exe")
注意事项:
1. 需要Windows平台支持
2. 最多返回1024个进程
3. 需要管理员权限获取某些进程信息
------------------------------------------------------------
70
函数名称: xdrx-sys-register-activex
描述:
注册ActiveX控件到系统
调用格式:
(xdrx-sys-register-activex <控件路径>)
参数说明:
* <控件路径>: ActiveX控件文件路径(OCX或DLL)
返回值:
* 注册成功返回T
* 注册失败返回nil
示例用法:
(xdrx-sys-register-activex "C:\\controls\\myctrl.ocx") ; 注册myctrl控件
注意事项:
1. 需要管理员权限
2. 控件必须实现DllRegisterServer函数
3. 会自动搜索AutoCAD支持路径
------------------------------------------------------------
71
函数名称: xdrx-sys-rmouse-down
描述:
检测鼠标右键是否按下
调用格式:
(xdrx-sys-rmouse-down)
参数说明:
无
返回值:
* 右键按下返回T
* 未按下返回nil
示例用法:
(xdrx-sys-rmouse-down) ; 检测右键状态
注意事项:
1. 需要先初始化全局钩子
2. 仅检测按下状态,不处理双击
3. 返回值为AutoCAD API标准(T/nil)
------------------------------------------------------------
72
函数名称: xdrx-sys-screen-metric
描述:
获取屏幕分辨率信息
调用格式:
(xdrx-sys-screen-metric)
参数说明:
无
返回值:
* 返回包含屏幕宽度和高度的列表(宽度 高度)
* 单位为像素
示例用法:
(xdrx-sys-screen-metric) ; 返回类似(1920 1080)
注意事项:
1. 返回主显示器的分辨率
2. 需要Windows平台支持
3. 在多显示器系统中返回主显示器尺寸
------------------------------------------------------------
73
函数名称: xdrx-sys-setscrolllock
描述:
设置ScrollLock键状态
调用格式1(开启ScrollLock):
(xdrx-sys-setscrolllock T)
调用格式2(关闭ScrollLock):
(xdrx-sys-setscrolllock)
参数说明:
* [T]: 可选参数,存在时开启ScrollLock,不存在时关闭ScrollLock
返回值:
* 操作成功返回T
* 操作失败返回nil
示例用法1:
(xdrx-sys-setscrolllock T) ; 开启ScrollLock
示例用法2:
(xdrx-sys-setscrolllock) ; 关闭ScrollLock
注意事项:
1. 需要Windows平台支持
2. 仅影响ScrollLock键状态
3. 需要管理员权限
------------------------------------------------------------
74
函数名称: xdrx-sys-searchpath
描述:
在指定路径中搜索文件
调用格式1(系统路径搜索):
(xdrx-sys-searchpath <nil> <文件名>)
调用格式2(自定义路径搜索):
(xdrx-sys-searchpath <路径> <文件名>)
参数说明:
* <路径>: 搜索路径(nil表示系统路径)
* <文件名>: 要搜索的文件名
返回值:
* 找到文件返回完整路径字符串
* 未找到返回nil
示例用法1:
(xdrx-sys-searchpath nil "acad.exe") ; 在系统路径中搜索
示例用法2:
(xdrx-sys-searchpath "C:\\temp" "test.txt") ; 在指定目录搜索
注意事项:
1. 支持Windows系统路径搜索
2. 路径参数为nil时使用系统默认搜索路径
3. 文件名需包含扩展名
------------------------------------------------------------
75
函数名称: xdrx-sys-selectfile
描述:
显示文件选择对话框
调用格式1(简单调用):
(xdrx-sys-selectfile <过滤器> [标题] [初始路径] [必须存在])
调用格式2(多过滤器调用):
(xdrx-sys-selectfile (list <过滤器1> <过滤器2>...) [标题] [初始路径] [必须存在])
参数说明:
* <过滤器>: 文件过滤器字符串(如"文本文件|*.txt|所有文件|*.*")
* [标题]: 对话框标题(可选)
* [初始路径]: 初始目录路径(可选)
* [必须存在]: 布尔值,true表示必须选择已存在文件(可选)
返回值:
* 成功返回所选文件路径列表
* 取消返回nil
示例用法1:
(xdrx-sys-selectfile "DWG文件|*.dwg|所有文件|*.*" "选择DWG文件" "C:\\图纸")
示例用法2:
(xdrx-sys-selectfile (list "文本文件|*.txt" "CSV文件|*.csv") "选择数据文件")
注意事项:
1. 支持多文件选择
2. 过滤器格式为"描述|扩展名"
3. 路径分隔符可使用/或\\
------------------------------------------------------------
76
函数名称: xdrx-sys-selectfiles
描述:
使用AutoCAD原生文件导航对话框选择文件
调用格式:
(xdrx-sys-selectfiles <标题> <默认文件名> <扩展名> [标志])
参数说明:
* <标题>: 对话框标题文字
* <默认文件名>: 初始显示的文件名(可为空)
* <扩展名>: 默认扩展名(如"dwg;eps",多个用分号分隔)
* [标志]: 控制标志位组合(可选):
- 1(0x1): 创建新文件模式
- 4(0x4): 允许任意扩展名
- 8(0x8): 执行库路径搜索
- 16(0x10): 将默认参数视为目录
- 32(0x20): 禁止文件存在警告
- 4096(0x1000): 允许多选
返回值:
* 成功返回文件路径(单文件)或路径列表(多文件)
* 取消返回nil
示例用法1(单选):
(xdrx-sys-selectfiles "选择图纸" "drawing1" "dwg")
示例用法2(多选):
(xdrx-sys-selectfiles "选择参考文件" "" "dwg;pdf" 4096)
注意事项:
1. 使用AutoCAD原生对话框,界面风格统一
2. 支持多扩展名筛选(用分号分隔)
3. 多选时需要设置4096标志位
4. 返回结果需要手动释放内存
------------------------------------------------------------
77
函数名称: xdrx-sys-setacadfocus
描述:
将焦点设置到AutoCAD主窗口
调用格式:
(xdrx-sys-setacadfocus)
参数说明:
无
返回值:
* 总是返回T
示例用法:
(xdrx-sys-setacadfocus) ; 将焦点切换到AutoCAD窗口
注意事项:
1. 无需任何参数
2. 主要用于将焦点从其他程序切换回AutoCAD
3. 适用于需要确保AutoCAD获得焦点的自动化操作
------------------------------------------------------------
78
函数名称: xdrx-sys-setacadtitle
描述:
设置AutoCAD主窗口标题
调用格式:
(xdrx-sys-setacadtitle <标题文本>)
参数说明:
* <标题文本>: 要设置的窗口标题字符串
返回值:
* 成功返回设置的标题文本
* 参数无效返回nil
示例用法:
(xdrx-sys-setacadtitle "我的AutoCAD工程") ; 修改窗口标题
注意事项:
1. 标题修改是临时的,关闭AutoCAD后恢复默认
2. 需要有效的字符串参数
3. 会触发窗口标题更新机制
------------------------------------------------------------
79
函数名称: xdrx-sys-setcurrentdir
描述:
设置当前工作目录
调用格式:
(xdrx-sys-setcurrentdir <目录路径>)
参数说明:
* <目录路径>: 要设置为当前目录的完整路径
返回值:
* 设置成功返回T
* 设置失败返回nil
示例用法:
(xdrx-sys-setcurrentdir "C:\\MyProject\\Drawings") ; 设置当前目录
注意事项:
1. 路径需使用双反斜杠或正斜杠
2. 目录必须存在且可访问
3. 影响后续文件操作的默认路径
------------------------------------------------------------
80
函数名称: xdrx-sys-setenv
描述:
设置Windows环境变量(写入注册表)
调用格式:
(xdrx-sys-setenv <变量名> <变量值> [作用域])
参数说明:
* <变量名>: 环境变量名称
* <变量值>: 要设置的值
* [作用域]: 可选参数,默认为2
- 1: 仅当前用户
- 2: 系统全局(需要管理员权限)
返回值:
* 设置成功返回T
* 设置失败返回nil
示例用法1(默认作用域):
(xdrx-sys-setenv "MY_VAR" "VALUE")
示例用法2(指定作用域):
(xdrx-sys-setenv "TEMP_PATH" "C:\\Temp" 1)
注意事项:
1. 系统全局设置需要管理员权限
2. 修改后需要重启或注销才能生效
3. 变量名和值都需为字符串
------------------------------------------------------------
81
函数名称: xdrx-sys-setfileattribute
描述:
设置文件属性
调用格式:
(xdrx-sys-setfileattribute <文件路径> <属性值>)
参数说明:
* <文件路径>: 目标文件的完整路径
* <属性值>: 文件属性标志组合(数值):
- 1(0x1): 只读
- 2(0x2): 隐藏
- 4(0x4): 系统文件
- 32(0x20): 存档
返回值:
* 设置成功返回T
* 设置失败返回nil
示例用法:
(xdrx-sys-setfileattribute "C:\\temp\\test.txt" 1) ; 设为只读
注意事项:
1. 路径长度不能超过MAX_PATH
2. 属性值可以是多个标志的组合(如3=只读+隐藏)
3. 需要文件存在且有修改权限
------------------------------------------------------------
82
函数名称: xdrx-sys-shellexe
描述:
执行外部程序或打开文件
调用格式1(基本调用):
(xdrx-sys-shellexe <文件路径> [参数] [操作类型] [显示方式])
调用格式2(简化调用):
(xdrx-sys-shellexe <文件路径>)
参数说明:
* <文件路径>: 要执行/打开的文件完整路径
* [参数]: 传递给程序的参数(可选)
* [操作类型]: 可选值(默认为0):
- 0: 打开(open)
- 1: 打印(print)
- 2: 浏览(explore)
* [显示方式]: 窗口显示方式(默认为0):
- 0: 正常显示
- 1: 显示但不激活
- 2: 最小化
- 3: 最小化不激活
- 4: 最大化
返回值:
* 总是返回T
示例用法1(打开文件):
(xdrx-sys-shellexe "C:\\test.txt")
示例用法2(带参数执行):
(xdrx-sys-shellexe "notepad.exe" "config.ini" 0 4)
注意事项:
1. 使用Windows ShellExecute API实现
2. 可打开文档或执行程序
3. 路径需使用双反斜杠
------------------------------------------------------------
83
函数名称: xdrx-sys-shellopen
描述:
使用系统默认程序打开文件
调用格式:
(xdrx-sys-shellopen <文件路径>)
参数说明:
* <文件路径>: 要打开的文件的完整路径
返回值:
* 成功返回T
* 失败返回错误代码
示例用法:
(xdrx-sys-shellopen "C:\\test.pdf") ; 用PDF阅读器打开文件
注意事项:
1. 使用Windows ShellExecute API实现
2. 文件类型必须已关联默认程序
3. 路径需使用双反斜杠
4. 仅支持单个文件路径参数
------------------------------------------------------------
84
函数名称: xdrx-sys-shift-down
描述:
检测Shift键是否按下
调用格式1(检测Shift键):
(xdrx-sys-shift-down)
调用格式2(检测组合键):
(xdrx-sys-shift-down <键值>)
参数说明:
* <键值>: 可选参数,可以是ASCII字符或键码
返回值:
* 按下返回T
* 未按下返回nil
示例用法1:
(xdrx-sys-shift-down) ; 仅检测Shift键
示例用法2:
(xdrx-sys-shift-down "A") ; 检测Shift+A组合键
注意事项:
1. 不传参数时仅检测Shift键状态
2. 传参数时检测Shift和指定键同时按下
3. 键值可以是字符或键码
------------------------------------------------------------
85
函数名称: xdrx-sys-shortpath
描述:
获取文件的短路径名(8.3格式)
调用格式:
(xdrx-sys-shortpath <文件路径>)
参数说明:
* <文件路径>: 目标文件的完整路径
返回值:
* 成功返回短路径字符串
* 失败返回nil
示例用法:
(xdrx-sys-shortpath "C:\\Program Files\\Test\\longfilename.txt")
注意事项:
1. 路径长度不能超过MAX_PATH
2. 文件必须存在
3. 返回DOS 8.3格式的短路径
4. 适用于处理长路径兼容性问题
------------------------------------------------------------
86
函数名称: xdrx-sys-spawn
描述:
创建新进程执行外部程序(增强版)
调用格式:
(xdrx-sys-spawn <标志位> <命令> [参数1] [参数2]...)
参数说明:
* <标志位>: 控制进程创建行为的位掩码(可组合使用):
- 0x01(1): 等待进程结束(同步执行)
- 0x02(2): 隐藏控制台窗口
- 0x04(4): 使用ShellExecute执行(支持文件关联)
- 0x08(8): 以管理员权限运行(需UAC确认)
* <命令>: 要执行的程序路径或命令
* [参数1] [参数2]...: 传递给程序的参数(可选)
返回值:
* 同步模式(0x01)返回程序退出代码
* 异步模式返回0(成功)或错误代码
* 参数错误返回-1
示例用法1(同步执行记事本):
(xdrx-sys-spawn 1 "notepad.exe" "readme.txt")
示例用法2(后台执行批处理):
(xdrx-sys-spawn 3 "cmd.exe" "/C" "echo Hello > test.txt")
注意事项:
1. 标志位可组合使用(如3=1+2)
2. 0x08标志需配合0x04使用
3. 支持文件关联和特殊文件类型(.lnk/.bat等)
------------------------------------------------------------
87
函数名称: xdrx-sys-speaker
描述:
控制PC扬声器发出声音
调用格式:
(xdrx-sys-speaker <频率> <持续时间>)
参数说明:
* <频率>: 声音频率(37-32767Hz)
* <持续时间>: 声音持续时间(1-10000毫秒)
返回值:
* 成功返回T
* 失败返回nil
示例用法:
(xdrx-sys-speaker 1000 500) ; 发出1kHz声音持续0.5秒
注意事项:
1. 频率范围:37-32767Hz
2. 持续时间范围:1-10000毫秒(10秒)
3. 使用Windows Beep API实现
4. 需要主板支持PC扬声器
------------------------------------------------------------
88
函数名称: xdrx-sys-splitpath
描述:
分解文件路径为各组成部分
调用格式:
(xdrx-sys-splitpath <文件路径>)
参数说明:
* <文件路径>: 要分解的完整文件路径
返回值:
* 返回包含4个元素的列表:
- 驱动器号(如"C:")
- 目录路径(如"\\path\\to\\")
- 文件名(不含扩展名)
- 文件扩展名(如".txt")
示例用法:
(xdrx-sys-splitpath "C:\\test\\file.txt")
; 返回 ("C:" "\\test\\" "file" ".txt")
注意事项:
1. 使用Windows _tsplitpath API实现
2. 路径需符合Windows格式
3. 各组件会完整保留原格式
------------------------------------------------------------
89
函数名称: xdrx-sys-tempfolder
描述:
获取系统临时文件夹路径
调用格式:
(xdrx-sys-tempfolder)
参数说明:
* 无参数
返回值:
* 返回系统临时文件夹路径字符串
示例用法:
(xdrx-sys-tempfolder) ; 返回类似"C:\\Users\\用户名\\AppData\\Local\\Temp\\"
注意事项:
1. 使用Windows GetTempPath API实现
2. 返回路径末尾包含反斜杠
3. 路径长度不超过MAX_PATH
4. 适用于需要临时文件的场景
------------------------------------------------------------
90
函数名称: xdrx-sys-term
描述:
终止指定进程及其子进程(增强版)
调用格式1(强制终止进程树):
(xdrx-sys-term <进程ID>)
调用格式2(选择性终止):
(xdrx-sys-term <进程ID> T)
参数说明:
* <进程ID>: 要终止的进程ID
* T: 可选参数,指定时仅终止主进程
返回值:
* 成功返回T
* 失败返回nil
示例用法1(终止进程树):
(xdrx-sys-term 1234)
示例用法2(仅终止主进程):
(xdrx-sys-term 1234 T)
注意事项:
1. 强制模式会终止进程及其所有子进程
2. 需要管理员权限终止系统进程
3. 使用Windows进程快照API实现
4. 进程ID可通过任务管理器获取
------------------------------------------------------------
91
函数名称: xdrx-sys-tickcount
描述:
获取系统启动后的毫秒计时
调用格式:
(xdrx-sys-tickcount)
参数说明:
* 无参数
返回值:
* 返回系统启动后经过的毫秒数(浮点数)
示例用法:
(xdrx-sys-tickcount) ; 返回类似1234567.0
注意事项:
1. 使用Windows GetTickCount API实现
2. 返回值约49.7天后会归零
3. 适用于性能测试和时间间隔测量
------------------------------------------------------------
92
函数名称: xdrx-sys-time
描述:
获取或设置本地系统时间
调用格式1(获取时间):
(xdrx-sys-time)
调用格式2(设置时间):
(xdrx-sys-time <小时> <分钟> [秒] [毫秒])
参数说明:
* <小时>: 0-23
* <分钟>: 0-59
* [秒]: 可选, 0-59
* [毫秒]: 可选, 0-999
返回值:
* 获取时间: 返回包含4个元素的列表(时 分 秒 毫秒)
* 设置时间: 成功返回设置后的时间列表,失败返回nil
示例用法1(获取时间):
(xdrx-sys-time) ; 返回(14 30 15 500)
示例用法2(设置时间):
(xdrx-sys-time 14 30) ; 设置时间为14:30:00.000
注意事项:
1. 需要管理员权限修改系统时间
2. 使用Windows GetLocalTime/SetLocalTime API
3. 参数范围会自动校验
------------------------------------------------------------
93
函数名称: xdrx-sys-username
描述:
获取当前登录用户名
调用格式:
(xdrx-sys-username)
参数说明:
* 无参数
返回值:
* 成功返回当前用户名(字符串)
* 失败返回nil
示例用法:
(xdrx-sys-username) ; 返回"Administrator"
注意事项:
1. 使用Windows GetUserName API实现
2. 返回当前线程关联的用户名
3. 用户名长度不超过MAX_PATH
------------------------------------------------------------
94
函数名称: xdrx-sys-opver
描述:
获取详细操作系统版本信息
调用格式:
(xdrx-sys-opver)
参数说明:
* 无参数
返回值:
* 返回包含完整版本信息的字符串
* 失败返回nil
示例用法:
(xdrx-sys-opver)
; 返回类似"Microsoft Windows 10 Enterprise Edition, 64-bit (build 19043)"
注意事项:
1. 使用Windows GetVersionEx和GetNativeSystemInfo API
2. 支持Windows 2000到Windows 10/Server 2019
3. 包含版本号、版本类型、架构和补丁信息
4. 自动检测32位/64位系统架构
------------------------------------------------------------
95
函数名称: xdrx-sys-isInternetConnected
描述:
检测当前网络连接状态
调用格式:
(xdrx-sys-isInternetConnected)
参数说明:
* 无参数
返回值:
* 已连接互联网返回T
* 未连接返回nil
示例用法:
(xdrx-sys-isInternetConnected) ; 返回T或nil
注意事项:
1. 检测系统级别的网络连接状态
2. 不检测特定网站的可达性
3. 适用于需要网络状态判断的场景
------------------------------------------------------------
96
函数名称: xdrx-sys-volumename
描述:
获取指定磁盘卷的卷标名称
调用格式:
(xdrx-sys-volumename <磁盘路径>)
参数说明:
* <磁盘路径>: 磁盘根路径(如"C:\\")
返回值:
* 成功返回卷标名称字符串
* 失败返回nil
示例用法:
(xdrx-sys-volumename "C:\\") ; 返回"System"
注意事项:
1. 使用Windows GetVolumeInformation API
2. 需要提供有效的磁盘根路径
3. 路径需以反斜杠结尾
4. 最大返回15个字符
------------------------------------------------------------
97
函数名称: xdrx-sys-wait
描述:
等待指定进程结束
调用格式1(无限等待):
(xdrx-sys-wait <进程ID>)
调用格式2(带超时):
(xdrx-sys-wait <进程ID> <超时毫秒数>)
参数说明:
* <进程ID>: 要等待的进程ID
* <超时毫秒数>: 可选等待超时时间(默认无限等待)
返回值:
* 0: 等待成功
* 1: 超时
* -1: 错误
示例用法1(无限等待):
(xdrx-sys-wait 1234)
示例用法2(带超时):
(xdrx-sys-wait 1234 5000) ; 等待5秒
注意事项:
1. 使用Windows WaitForSingleObject API
2. 进程ID可通过任务管理器获取
3. 超时参数为毫秒数
------------------------------------------------------------
98
函数名称: xdrx-sys-waitcursor
描述:
设置/恢复等待光标状态
调用格式1(启用等待光标):
(xdrx-sys-waitcursor T)
调用格式2(恢复默认光标):
(xdrx-sys-waitcursor)
参数说明:
* T: 启用等待光标(可选)
返回值:
* 总是返回T
示例用法1(启用等待):
(xdrx-sys-waitcursor T)
示例用法2(恢复默认):
(xdrx-sys-waitcursor)
注意事项:
1. 使用Windows SetCursor和SetWindowsHookEx API
2. 适用于长时间操作时的用户提示
3. 必须成对调用启用和恢复
4. 会自动保存和恢复原光标状态
------------------------------------------------------------
99
函数名称: xdrx-sys-wav
描述:
播放WAV音频文件
调用格式:
(xdrx-sys-wav <文件路径>)
参数说明:
* <文件路径>: WAV音频文件路径
返回值:
* 成功返回T
* 失败返回nil
示例用法:
(xdrx-sys-wav "C:\\sound.wav") ; 播放指定音频文件
注意事项:
1. 使用Windows PlaySound API实现
2. 仅支持WAV格式音频
3. 同步播放模式(会阻塞直到播放完成)
4. 文件路径需完整或相对当前目录
------------------------------------------------------------
100
函数名称: xdrx-sys-winfolder
描述:
获取Windows系统目录路径
调用格式:
(xdrx-sys-winfolder)
参数说明:
* 无参数
返回值:
* 成功返回Windows目录路径字符串
* 失败返回nil
示例用法:
(xdrx-sys-winfolder) ; 返回"C:\\Windows"
注意事项:
1. 使用Windows GetWindowsDirectory API
2. 返回路径不带末尾反斜杠
3. 最大路径长度为MAX_PATH(260)
4. 适用于需要获取系统目录的场景
------------------------------------------------------------
101
函数名称: xdrx-sys-winhelp
描述:
调用Windows帮助系统
调用格式1(打开帮助目录):
(xdrx-sys-winhelp <帮助文件路径>)
调用格式2(按主题ID打开):
(xdrx-sys-winhelp <帮助文件路径> <主题ID>)
调用格式3(按关键字搜索):
(xdrx-sys-winhelp <帮助文件路径> "关键字")
参数说明:
* <帮助文件路径>: HLP或CHM帮助文件路径
* <主题ID>: 帮助主题的数字ID(可选)
* "关键字": 要搜索的关键字字符串(可选)
返回值:
* 成功返回T
* 失败返回nil
示例用法1(打开目录):
(xdrx-sys-winhelp "C:\\help.chm")
示例用法2(按ID打开):
(xdrx-sys-winhelp "C:\\help.chm" 100)
示例用法3(关键字搜索):
(xdrx-sys-winhelp "C:\\help.chm" "绘图命令")
注意事项:
1. 使用Windows WinHelp API
2. 支持HLP和CHM格式
3. 需要完整文件路径
4. 主题ID需参考帮助文档定义
------------------------------------------------------------
102
函数名称: xdrx-sys-winsysdir
描述:
获取Windows系统目录路径
调用格式:
(xdrx-sys-winsysdir)
参数说明:
* 无参数
返回值:
* 成功返回系统目录路径字符串
* 失败返回nil
示例用法:
(xdrx-sys-winsysdir) ; 返回"C:\\Windows\\System32"
注意事项:
1. 使用Windows GetSystemDirectory API
2. 返回路径不带末尾反斜杠
3. 最大路径长度为MAX_PATH(260)
4. 适用于需要获取系统目录的场景
------------------------------------------------------------
103
函数名称: xdrx-sys-ini-write
描述:
写入INI配置文件
调用格式:
(xdrx-sys-ini-write <节名> <键名> <键值> <文件路径>)
参数说明:
* <节名>: INI文件中的节名称
* <键名>: 要写入的键名
* <键值>: 要写入的值
* <文件路径>: INI文件完整路径
返回值:
* 成功返回T
* 失败返回nil
示例用法:
(xdrx-sys-ini-write "Settings" "Username" "Admin" "C:\\config.ini")
注意事项:
1. 使用Windows WritePrivateProfileString API
2. 文件路径最大长度MAX_PATH(260)
3. 自动创建不存在的节和键
4. 若文件不存在会自动创建
------------------------------------------------------------
|
|