命令行参数会自动解析成表对象 _ARGV,例如在 aardio 里 _ARGV.hwnd 就可以得到 hwnd 参数的值。
_CMDLINE 取到的是解析前的完整命令行。
也可以获取父进程的主窗口得到 AutoCAD 的窗口句柄。
import process;
//获取父进程对象
var parentProcess = process.getParent();
//取到 AutoCAD 的窗口句柄
var hwndCad = parentProcess.getMainWindow();
或者直接获取所有 AutoCAD 窗口句柄。
import process;
//遍历所有 AutoCAD 窗口句柄
for hwnd in process.eachWindow( "@acad.exe" ) {
}
还有一种方法更简单:
在 aardio 工程向导界面点选『窗口程序 / ActiveX EXE 』。
发布生成 EXE 文件,双击 EXE 注册控件(或调用 /r 命令行参数静默注册)。
然后在 AutoLISP 里就可以直接调用 aardio 编写的函数了。
工程里已经有 AutoLISP 调用 aardio 函数的演示。
通过这种方式,在 AutoLISP 里将窗口句柄作为参数直接传给 aardio 函数就可以了。
jacenhe 发表于 2024-6-27 09:20
/hwnd 这样传参数是为了可扩展,这样以后就可以传更多其他的参数。
命令行参数会自动解析成表对象 _ARGV, ...
您太优秀了,向您学习 jacenhe 发表于 2024-6-27 09:20
/hwnd 这样传参数是为了可扩展,这样以后就可以传更多其他的参数。
命令行参数会自动解析成表对象 _ARGV, ...
大神,还逛cad论坛..
页:
1
[2]