Lisp 调用 API 函数示例
来源:互联网 发布:怎么设置linux的ip地址 编辑:程序博客网 时间:2024/06/05 17:48
Lisp 调用 API 函数示例,包括:进程与线程类,控件与消息类、文件及处理类、硬件与系统类、文本和字体类、Windows消息类等。
API 函数随着测试在不断增加中,如有错误,敬请指正。
API 函数查询网址: http://www.vbgood.com/api.html
创建对象
(vl-load-com)(setq *APP (vlax-get-acad-object) *DOC (vla-get-ActiveDocument *APP) hCAD (vla-get-hwnd *APP) hDOC (vla-get-hwnd *DOC) wrap (vlax-create-object "DynamicWrapperX"))
1 控件和消息类
;;1.1 获得桌面窗口句柄(vlax-invoke wrap 'Register "user32" "GetDesktopWindow" "r=m")(setq hDesk (vlax-invoke wrap 'GetDesktopWindow));;1.2 延迟函数,该函数运行时间较长时,主程序会陷入无响应状态,应该用多线程处理一下。(vlax-invoke wrap 'Register "kernel32" "Sleep" "i=m")(vlax-invoke wrap 'Sleep 5000);;1.3 判断一个窗口句柄是否有效,返回 0 或非 0(vlax-invoke wrap 'Register "user32" "IsWindow" "i=h" "r=m")(vlax-invoke wrap 'IsWindow hDOC);;1.4 判断一个窗口是否为 Unicode 窗口。这意味着窗口为所有基于文本的消息都接收 Unicode 文字(vlax-invoke wrap 'Register "user32" "IsWindowUnicode" "i=h" "r=m")(vlax-invoke wrap 'IsWindowUnicode hDOC);;如是 Unicode 窗口则返回非零值,如是 ANSI 窗口则返回零;;1.5 判断窗口是否可见(vlax-invoke wrap 'Register "user32" "IsWindowVisible" "i=h" "r=m")(vlax-invoke wrap 'IsWindowVisible hDOC);;1.5 弹出一个消息窗口(vlax-invoke wrap 'Register "user32" "MessageBoxW" "i=hwwu" "r=m")(vlax-invoke wrap 'MessageBoxW hCAD "你好, 这是我的第一个API窗口" "啊哈" 1);;1.6 在指定的窗口里允许或禁止所有鼠标及键盘输入(vlax-invoke wrap 'Register "user32" "EnableWindow" "i=hm" "r=m")(vlax-invoke wrap 'EnableWindow hCAD 1) ;;0为禁止,非0允许;;1.7 判断窗口是否处于活动状态(可输入)(vlax-invoke wrap 'Register "user32" "IsWindowEnabled" "i=h" "r=m")(vlax-invoke wrap 'IsWindowEnabled hCAD) ;;1.8 最小化指定的窗口(vlax-invoke wrap 'Register "user32" "CloseWindow" "i=h" "r=m")(vlax-invoke wrap 'CloseWindow hDOC);;1.9 判断窗口是否已最小化(vlax-invoke wrap 'Register "user32" "IsIconic" "i=h" "r=m")(vlax-invoke wrap 'IsIconic hDOC);;1.10 恢复一个最小化的程序(并不是最大化),并将其激活(vlax-invoke wrap 'Register "user32" "OpenIcon" "i=h" "r=m")(vlax-invoke wrap 'OpenIcon hDOC);;1.11 判断窗口是否最大化(vlax-invoke wrap 'Register "user32" "IsZoomed" "i=h" "r=m")(vlax-invoke wrap 'IsZoomed hDOC);;1.12 返回包含了指定点的窗口的句柄。忽略屏蔽、隐藏以及透明窗口(vlax-invoke wrap 'Register "user32" "WindowFromPoint" "i=mm" "r=m")(setq hnewWin (vlax-invoke wrap 'WindowFromPoint 200 200));;包含了指定点的窗口的句柄。如指定的点处没有窗口存在,则返回零;;1.13 控制窗口的可见性(vlax-invoke wrap 'Register "user32" "ShowWindow" "i=hm" "r=m")(setq hnewWin (vlax-invoke wrap 'ShowWindow hDOC 2));参数:; 1 隐藏窗口,活动状态给令一个窗口; 2 最小化窗口,并将其激活; 3 最大化窗口,并将其激活; 4 用最近的大小和位置显示一个窗口,同时不改变活动窗口; 5 用当前的大小和位置显示一个窗口,同时令其进入活动状态; 6 最小化窗口,活动状态给令一个窗口; 7 最小化一个窗口,同时不改变活动窗口; 8 用当前的大小和位置显示一个窗口,不改变活动窗口; 9 用原来的大小和位置显示一个窗口,同时令其进入活动状态;;1.14 调查窗口标题文字或控件内容的长短(vlax-invoke wrap 'Register "user32" "GetWindowTextLength" "i=h" "r=m")(vlax-invoke wrap 'GetWindowTextLength hCAD);;1.15 获取窗口的标题文字或控件的内容(vlax-invoke wrap 'Register "user32" "GetWindowTextW" "i=hpm" "r=m")(setq ss (vlax-invoke wrap 'Space 256 " "))(setq pStr (vlax-invoke wrap 'StrPtr ss))(vlax-invoke wrap 'GetWindowTextW hDOC pStr 256)(vlax-invoke wrap 'strget pStr);;1.16 设置窗口的标题文字或控件的内容(vlax-invoke wrap 'Register "user32" "SetWindowTextW" "i=hw" "r=m")(vlax-invoke wrap 'SetWindowTextW hDOC "好大一只兔子");;1.17 为指定的窗口取得类名(vlax-invoke wrap 'Register "user32" "GetClassNameW" "i=hpm" "r=m")(setq ss (vlax-invoke wrap 'Space 256 " ") pStr (vlax-invoke wrap 'StrPtr ss))(vlax-invoke wrap 'GetClassNameW hDOC pStr 256)(vlax-invoke wrap 'strget pStr);;1.18 获取一个记事本窗口的句柄(startapp "notepad.exe")(vlax-invoke wrap 'Register "user32" "FindWindowExW" "i=hhhw" "r=m")(setq Jsb (vlax-invoke wrap 'FindWindowExW 0 hCAD 0 "无标题 - 记事本"));;1.19 闪烁显示指定窗口,引起用户注意(例如,记事本窗口)(vlax-invoke wrap 'Register "user32" "FlashWindow" "i=hm" "r=m")(vlax-invoke wrap 'FlashWindow Jsb 1);; 1 闪烁窗口标题和任务栏图标, 0 仅闪烁任务栏图标;;1.20 让窗口总在最前(例如,记事本窗口)(vlax-invoke wrap 'Register "user32" "SetWindowPos" "i=hmmmmmm" "r=m")(vlax-invoke wrap 'SetWindowPos Jsb -1 0 0 0 0 3);;参数 2:;; 1 将窗口置于窗口列表底部;; 0 将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序;; -1 将窗口置于列表顶部,并位于任何最顶部窗口的前面(类似 QQ 界面);; -2 将窗口置于列表顶部,并位于任何最顶部窗口的后面(正常);;参数 34: 窗口坐标 x y;;参数 56: 窗口大小 w h;;参数 7: ; 1 保持当前大小; 2 保持当前位置; 4 保持窗口在列表的当前位置; 8 窗口不自动重画; 16 不激活窗口; 32 围绕窗口画一个框; 64 显示窗口
阅读全文
0 0
- Lisp 调用 API 函数示例
- Lisp.函数
- Lisp.函数
- Lisp 函数
- openstack rest api 调用示例
- Lisp语言:函数的定义,调用以及参数的传递
- Lisp语言:函数的定义,调用以及参数的传递
- 调用API函数
- C#调用API函数
- C#调用API函数
- C#调用API函数
- 动态调用API函数
- C#调用API函数
- VB调用API函数
- VB调用API函数
- 隐藏调用API函数
- javascript调用flash函数示例javascript调用flash函数示例
- 虚函数调用示例程序
- Spring Data MongoDB 二:添加、删除操作
- Json转化工具类
- 最新调通的海思HI3519v101开发板【媲美原厂】求围观
- Nginx反向代理和负载均衡部署指南
- 我安装了最新版的phpstudy,用composer提示PHP版本低
- Lisp 调用 API 函数示例
- mysql 5.7首次登录设置密码
- Spark2.1.1<通俗易懂理解combineByKey-combineByKeyWithClassTag>
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- GDSOI2017 中学生数据结构题(Lct练习)
- 斯坦福机器学习-第三周(分类,逻辑回归,过度拟合及解决方法)
- QT中QLabel类的openExternalLinks和linkActivated使用时的一些注意细节
- dubbo
- 高通MSM8909 CAMERA TUNING 基础