知识大全 浅析VB6语言脚本解释器

Posted

篇首语:追风赶月莫停留,平芜尽处是春山。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅析VB6语言脚本解释器相关的知识,希望对你有一定的参考价值。

学习笔记:浅析VB6语言脚本解释器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  讨论如何让自己的应用程序支持脚本    最初也是在CSDN的Blog上找的 但是我再次去找的时候发现已经找不到了 在此对原作者的提示表示感谢    使用范围 可以让用户开发的时候使用脚本 用exe或者dll进行接口开发虽然功能强大 但是不方便 用脚本 或者大家熟知的脚本就方便多了     方法 :自己作编译器 解释器    方法 :利用现有的解释器 用脚本 省略编译器    很明显 第二种方法简单的多 问题是现有的解释器(我叫做脚本引擎)有什么 去哪里找 怎么支持     python比较流行 可以用于游戏脚本引擎 但是我目前还不会用(毕竟 我不是上帝)    VBA 就是office的vba 用vb 的语法 我选这个 因为我见了vb就特别亲切     估计凯比用不上这项技术吧     最关键的就是找到这个传说中的vba dll 他来负责解释    Private Declare Function EbExecuteLine Lib vba dll ( _  ByVal pStringToExec As Long _  ByVal Unknownn As Long _  ByVal Unknownn As Long _  ByVal fCheckOnly As Long) As Long    dll声明 顾名思义 就是执行一行    第一个参数 指向命令行字符串的指针    剩下的参数不知道作甚么用的     用的时候:    封装一下这样用起来方便  Function stepline(ByVal cmd As String) As Long cmd就是vb 代码  Dim l As Long 临时变量 意义不大  l = EbExecuteLine(StrPtr(ByVal cmd) ) 这就是实质 简单吧  Debug Print CStr(l) + : + cmd 调试用的 无意义    End Function    你可以直接这么用  Debug Print EbExecuteLine(StrPtr( dim a as long b as long c as long ) )  Debug Print EbExecuteLine(StrPtr( a= & ) )  Debug Print EbExecuteLine(StrPtr( b= & ) )  Debug Print EbExecuteLine(StrPtr( c= & ) )  Debug Print EbExecuteLine(StrPtr( clipboard settext (a+b)/c ) )  Debug Print EbExecuteLine(StrPtr( msgbox Clipboard GetText ) )    也可以  stepline dim a as long b as long c as long   stepline a= &   stepline b= &   stepline c= &   stepline clipboard settext (a+b)/c   stepline msgbox Clipboard GetText     或者将文本放入listbox 甚至可以逐行进行(当然 有兴趣你可以自己做调试器)  If List ListCount = Then  MsgBox 没有代码   Else  List ListIndex =   Dim i As Long  For i = To List ListCount   stepline List List(i)  Next  End If    当然 直接执行文本也是可以的  假定text text是全部的代码    List Clear  Dim Arr() As String  Dim i As Long  Dim s As String  Arr = Split(Text Text Chr( ) + Chr( ))  For i = To UBound(Arr())  stepline Arr(i)  Next    简单吧    而且这些完全是面向对象的    你的程序就相当于虚拟机 vba dll就是解释器    脚本可以做什么!!连API跟都可以用    如果你的虚拟机支持(就是程序提供现有的对象) 他可以直接用(也称为API 不过是你提供的 不是Windows提供的而已)    给出几个实例脚本(以下是过程 自动填充到text )    Private Sub Command _Click()  Text Text = 例子 VB 语法   Text Text = Text Text + Chr( ) + Chr( ) + dim a as long b as long c as long   Text Text = Text Text + Chr( ) + Chr( ) + a= &   Text Text = Text Text + Chr( ) + Chr( ) + b= &   Text Text = Text Text + Chr( ) + Chr( ) + c= &   Text Text = Text Text + Chr( ) + Chr( ) + clipboard settext (a+b)/c   Text Text = Text Text + Chr( ) + Chr( ) + msgbox Clipboard GetText   End Sub    Private Sub Command _Click()  Text Text = 例子 真的是面向对象的 更改新的标题   Text Text = Text Text + Chr( ) + Chr( ) + dim f as form   Text Text = Text Text + Chr( ) + Chr( ) + set f = new form   Text Text = Text Text + Chr( ) + Chr( ) + f show   Text Text = Text Text + Chr( ) + Chr( ) + f caption= aaaa   End Sub    Private Sub Command _Click()  Text Text = 例子 运行应用程序 并且发送按键!!   Text Text = Text Text + Chr( ) + Chr( ) + shell notepad exe c:\\example txt vbnormalfocus   Text Text = Text Text + Chr( ) + Chr( ) + sendkeys Hello World!     End Sub cha138/Article/program/net/201311/13012

相关参考

知识大全 PHP脚本语言中有“漏洞”

PHP脚本语言中有“漏洞”  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  据一个开放源代码软件开

知识大全 开发人员希望使用的六种脚本语言

  LynnGreiner的文章《脚本世界现状》遭到痛批一些人对文章明显的疏漏表示出了不满因为文章只涵盖了PHPPerlPythonRubyTcl和JavaScriptLynn只选择这些语言因为那她是

知识大全 给 Java SE 注入脚本语言的活力

给JavaSE注入脚本语言的活力  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年月日 

知识大全 ASP入门教程 ASP和脚本语言

ASP入门教程ASP和脚本语言  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用Suhosin加强PHP脚本语言安全性

用Suhosin加强PHP脚本语言安全性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PHP是

知识大全 Java SE 6 新特性: 对脚本语言的支持

JavaSE6新特性:对脚本语言的支持  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年底Sun

知识大全 认识ASP程序所使用的几种脚本语言

认识ASP程序所使用的几种脚本语言  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在浏览器中通过

知识大全 浅析Java语言的事件处理快捷回复

浅析Java语言的事件处理快捷回复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在JAVA程序

知识大全 浅析Servlet和Jsp中的多国语言显示

浅析Servlet和Jsp中的多国语言显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  因为一

知识大全 浅析C#语言实现堆和队列数据结构

浅析C#语言实现堆和队列数据结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  1线性聚集基础