/hwnd 这样传参数是为了可扩展,这样以后就可以传更多其他的参数。
命令行参数会自动解析成表对象 _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 函数就可以了。
|