明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 49277|回复: 92

[【不死猫】] [不死猫出品]原创vlisp直接调用WINDOWS API (核心秘密揭晓)

  [复制链接]
发表于 2008-11-26 16:04:00 | 显示全部楼层 |阅读模式
本帖最后由 nonsmall 于 2013-5-13 11:42 编辑

[Post=1]

1 LISP自己能解释 API 语句吗?

2 当然不能 那靠谁解释(想想可以解释API的并且LISP能借用的都有哪些东西  大家可以跟帖讨论)?

3 怎样把代码交给解释器? (直接传递?写个文件?)

4 解释后怎样告诉LISP结果?

5 再给个提示:直接传递?间接传递?

6 答案:使用VBE对象 (vla-get-vbe (vlax-get-acad-object))

[/Post]

上面的问题想想就出来了

公布方法: 其实我用到了 vl-vbarun 函数

============================

使用常见的几种API浏览器可以生成以下文件的内容

我使用LISP程序读取该TXT文件后可以即时生成以下几个函数

命令: (GetCurrentProcessId )
"1828"

命令: (SetCursorPos 200 670)
命令: (SetCursorPos 200 680)
命令: (SetCursorPos 200 300)

命令: (ShowCursor 0);隐藏鼠标
命令: (ShowCursor 1);显示鼠标

命令: (PlaySound "C:\\WINDOWS\\Media\\Windows XP 启动.wav" 1 1)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

代码放楼下了  发表于 2024-3-28 16:49

评分

参与人数 2威望 +2 明经币 +2 金钱 +40 贡献 +5 激情 +5 收起 理由
china小球 + 20
mccad + 2 + 2 + 20 + 5 + 5 【精华】 感觉越来越不可思议

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2008-12-29 17:43:00 | 显示全部楼层
本帖最后由 不死猫 于 2024-3-28 16:47 编辑

终于搞定这个问题 庆祝一下

我已经证明完全用VLisp(不必间接调用编译好的dll之类控件 不写vbs)

就可以使用Windows API处理问题!!

目前基本的BUG已经消除

但是必须判断当前CAD进程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2024-8-23 10:28:59 | 显示全部楼层
nonsmall 发表于 2008-12-29 17:43
本帖最后由 不死猫 于 2024-3-28 16:47 编辑  终于搞定这个问题 庆祝一下我已经证明完全用VLisp(不必间接 ...

本帖最后由 不死猫 于 2024-3-28 16:47 编辑 猫老师真是20年如一日啊,啥时候组织一个lisp会员线下party认识一下
发表于 2008-11-26 16:33:00 | 显示全部楼层
api不能直接调用,原来aroom搞过一个activex,间接调用
发表于 2008-12-29 19:59:00 | 显示全部楼层
可否共享之或指点一二?
发表于 2008-12-30 08:38:00 | 显示全部楼层
指点江山,学习学习
发表于 2008-12-30 09:09:00 | 显示全部楼层

这段时间,突飞猛进啊

 楼主| 发表于 2008-12-30 09:44:00 | 显示全部楼层
1.什么是Windows API?
  Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外, 她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application), 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。
  凡是在 Windows 工作环境底下执行的应用程式, 都可以调用Windows API。
  2.Windows API的历史与现状
  当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。
  但是,没有合适的Windows编程平台,程序员想编写具有Windows风格的软件,必须借助API,API也因此被赋予至高无上的地位。那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。
  这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。
  实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。
  这也是API函数使用的场合,所以我们对待API函数不必刻意去研究每一个函数的用法,那也是不现实的(能用得到的API函数有几千个呢)。正如某位大虾所说:API不要去学,在需要的时候去查API帮助就足够了。但是,许多API函数令人难以理解,易于误用,还会导致出错,这一切都阻碍了它的推广。本专题就是想帮助那些想快速掌握API函数用法的同志们。通过对API函数的分类,结合一些有趣的实例,应该可以达到快速掌握的目的。
发表于 2008-12-30 10:01:00 | 显示全部楼层

等待楼主下文啊...

貌似没有提到核心的东东哦.呵呵.

发表于 2008-12-30 10:21:00 | 显示全部楼层

顶一下

VLisp又被nonsmall推上了一个新的台阶

发表于 2008-12-30 11:13:00 | 显示全部楼层
太有才啦, nons哥,真是神啊。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 18:21 , Processed in 0.218387 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表