nonsmall 发表于 2008-11-26 16:04:00

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

本帖最后由 nonsmall 于 2013-5-13 11:42 编辑 <br /><br />
<P>1 LISP自己能解释 API 语句吗?</P>
<P>2 当然不能 那靠谁解释(想想可以解释API的并且LISP能借用的都有哪些东西&nbsp; 大家可以跟帖讨论)?</P>
<P>3 怎样把代码交给解释器? (直接传递?写个文件?)</P>
<P>4 解释后怎样告诉LISP结果?</P>
<P></P>
<P>5 再给个提示:直接传递?间接传递?</P>
<P><FONT color=#ff0000>6 答案:使用VBE对象 (vla-get-vbe (vlax-get-acad-object))</FONT></P>
<P></P>
<P>上面的问题想想就出来了</P>
<P>公布方法: 其实我用到了 vl-vbarun 函数</P>
<P>============================</P>
<P>使用常见的几种API浏览器可以生成以下文件的内容</P>
<P></P>
<P>我使用LISP程序读取该TXT文件后可以即时生成以下几个函数</P>
<P>命令: (GetCurrentProcessId )<BR>"1828"</P>
<P></P>
<P>命令: (SetCursorPos 200 670)<BR>命令: (SetCursorPos 200 680)<BR>命令: (SetCursorPos 200 300)</P>
<P>命令: (ShowCursor 0);隐藏鼠标<BR>命令: (ShowCursor 1);显示鼠标</P>
<P>命令: (PlaySound "C:\\WINDOWS\\Media\\Windows XP 启动.wav" 1 1)</P>
<P></P>

nonsmall 发表于 2008-12-29 17:43:00

本帖最后由 不死猫 于 2024-3-28 16:47 编辑 <br /><br /> <p>终于搞定这个问题 庆祝一下</p><p>我已经证明完全用VLisp(不必间接调用编译好的dll之类控件 不写vbs)</p><p>就可以使用<font size="2">Windows API</font>处理问题!!</p><p>目前基本的BUG已经消除</p><p>但是必须判断当前CAD进程

我爱lisp 发表于 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认识一下

cnks 发表于 2008-11-26 16:33:00

api不能直接调用,原来aroom搞过一个activex,间接调用

oyxx1023 发表于 2008-12-29 19:59:00

可否共享之或指点一二?

carrot1983 发表于 2008-12-30 08:38:00

指点江山,学习学习

jxlsp 发表于 2008-12-30 09:09:00

<p>这段时间,突飞猛进啊</p>

nonsmall 发表于 2008-12-30 09:44:00

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

oyxx1023 发表于 2008-12-30 10:01:00

<p>等待楼主下文啊...</p><p>貌似没有提到核心的东东哦.呵呵.</p>

27012701 发表于 2008-12-30 10:21:00

<p>顶一下</p><p>VLisp又被<strong><font face="Verdana" color="#61b713">nonsmall推上了一个新的台阶</font></strong></p>

liminnet 发表于 2008-12-30 11:13:00

太有才啦, nons哥,真是神啊。。。。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [不死猫出品]原创vlisp直接调用WINDOWS API (核心秘密揭晓)