知识大全 浅析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脚本语言中有“漏洞” 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 据一个开放源代码软件开
LynnGreiner的文章《脚本世界现状》遭到痛批一些人对文章明显的疏漏表示出了不满因为文章只涵盖了PHPPerlPythonRubyTcl和JavaScriptLynn只选择这些语言因为那她是
给JavaSE注入脚本语言的活力 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 年月日 
ASP入门教程ASP和脚本语言 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
用Suhosin加强PHP脚本语言安全性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PHP是
JavaSE6新特性:对脚本语言的支持 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 年底Sun
认识ASP程序所使用的几种脚本语言 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在浏览器中通过
浅析Java语言的事件处理快捷回复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在JAVA程序
浅析Servlet和Jsp中的多国语言显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因为一
浅析C#语言实现堆和队列数据结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 1线性聚集基础