Script Control 组件Win7 X64平台运行问题及示例

本文要点:

  1. MSSCRIPT.OCX组件只有x86版本,所以要在x64系统下运行,请使用云盘中的x86版本WScript安装程序。
  2. 将以下示例代码存为js文件,将其拖动到x86版本的WScript.exe或CScript.exe程序上即可以运行。
  3. 示例 Microsoft Script Control 1.0 的Error和Timeout两个事件的使用。
  4. 示例 Microsoft Script Control 1.0 的Run方法,Modules模块集合的使用等等。
  5. 另外 Microsoft Script Control 1.0 的中英文参考文档已经转为CHM格式,参考云盘的 MSSCRIPT.chm 等文件。

发现盗贴现象好严重,估计这文章一发表就注定被转抄的命运了,打个标记:By @Jimbowhy @源地址:

http://blog.csdn.net/winsenjiansbomber/article/details/41376999

同时,笔者绝对有理由相信,在文章的添加 mywife.cc 这样的字眼会大大增加本文的浏览量!哈哈:) 也算是对脚本应用的一个普及推广啦!

/* MSSCRIPT.OCX Microsoft Script Control 1.0 is ready for x86 system
 * it may site in c:\Windows\SysWOW64\msscript.ocx
 * and must run x86 version WScript.exe to execute this script
 */
//var sc = new ActiveXObject("MSScriptControl.ScriptControl");
var sc = WScript.CreateObject("MSScriptControl.ScriptControl","ScriptControl_");
sc.Language = "VBScript";
sc.AllowUI = true;
sc.Timeout = 3000;

/* This may occurs 80004005 before Language setted:
 * The operation could not be completed
 * because the script engine has not been initialized to a valid language. */
sc.AddObject("WScript", WScript);

//sc.addCode('On Error Resume Next'); // add code to Global Module!
//sc.AddCode('x=1/0'); // Execute right now and causes Error event

// Delay sub about 5s in my 1.6Ghz 4 Cores CPU, so it will cause 3s Timeout event!
var vbs = 'Sub Main(msg) : For i = 1 to 5000000 Step 1 : x=x+i : Next : MsgBox msg&vbCrLf&"Delay Done:"&i : End Sub';
//sc.Eval(vbs); // Error, just expression to Eval
sc.AddCode(vbs);
sc.Run("Main","Hi, Main");

//var vbs = 'Function Main(msg) : MsgBox(msg) : End Function'; // Why not ByVal msg As String?
var vbs = 'Sub Main(msg) : MsgBox("Modules:"+msg) : End Sub'; // just Public not Private member
var m = sc.Modules.Add("Module1");
m.AddCode(vbs);
m.Run("Main","Hi, Main");

sc.Language = "JScript";
sc.AddObject("WScript", WScript); // reset when Language changed
sc.AddCode('WScript.Echo("Hi,JS");');

/* Events for Script Control
 * Timeout: Occurs when the time specified in the Timeout property has elapsed,
 * and a user has selected End from the resulting dialog box. */
function ScriptControl_Timeout(){
    WScript.Echo("Event: ScriptControl Timeout "+sc.Timeout);
}

/* Error: An Error event can occur during event sinking or during a direct call
 * to the scripting engine when calling into an object returned by the CodeObject
 * property. The error argument is the number of the run-time error that occurred. */
function ScriptControl_Error(){
    var msg = "Event: ScriptControl Error " +
        "\nLine:" + sc.Error.Line +
        "\nColumn:" + sc.Error.Column +
        "\nNumber:" + sc.Error.Number +
        "\nDescription:" + sc.Error.Description;
    sc.Error.Clear();
    WScript.Echo(msg);
}

关于Windows Scripting Host这个很实用的古董编程技术,Jimbowhy 收集了大量收藏级的资料,请到云盤免费下载:

http://pan.baidu.com/s/1i3Br5OD

包括:

Advanced VBSript for Microsoft Windows Administrators.pdf

Advanced Windows Script Host Developers Guide (2003) .pdf

IVIEWERS.DLL

Microsoft VBScript Step by Step.pdf

Microsoft Windows脚本技术.CHM

OLEVIEW.EXE

scd56chs.exe JScript & VBScript 官方参考手册 5.6中文版

script56.chm JScript & VBScript 官方参考手册 5.6 e文版

scripten.5.7.0.16535.win2k.exe  JScript & VBScript 安装程序

scripten.5.7.0.16535.win2k3 .exe

scripthost20dev.chm  Microsoft Windows Script Host 2.0 Developer’s Guide / Günter Born.<

script_repository10.chm System Administration Scripting Guide Script RepositoryVersion 1.0, May 2002

VBScript Programmer‘s Reference, 3rd Edition.pdf

VBScript程序员参考手册.pdf

VBS_常用脚本.docx

sct10en.exe    Microsoft Script Control 1.0

MSSCRIPT.chm  Microsoft Script Control 1.0 英文手册的CHM格式

MSSCRIPT-CHS.chm  Microsoft Script Control 1.0 中文手册的CHM格式

时间: 2024-10-07 23:17:01

Script Control 组件Win7 X64平台运行问题及示例的相关文章

WIN7 X64的运行命令窗口

要在WIN7系统下用界面的方式执行运行命令,则可以用如下两种方法方法打开运行对话框.1.点Win+R(run)就能出来的.2.在开始菜单上点右键,选“属性”,进入开始菜单属性设置界面,单击底部的“自定义”按钮. 在下面的列表框中找到“显示运行”并勾选,然后点“确认”退出,即可发现“运行”命令又重新出现在开始菜单的底部了

win7(x64)+VS2012+cocos2d-x环境的配置以及试运行

原地址:http://blog.csdn.net/gf771115/article/details/20740993 转自:http://blog.sina.com.cn/s/blog_62df69790101eob1.html Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d

也谈Theano在Win7 x64和Python 3.4下的安装

一.前言 2012年3月,与某老师交流的时候,初次得知Deep Learning的概念,当时,他还建议我研究GPU计算.回来后,认真研读了一些文件,也看到了deeplearning.net网站的内容,但是由于时间和精力的问题,没有深入研究.最近有点时间,重新捡起来,准备先搭建环境.看中了该网站推荐的Theano,于是按着说明安装下来. Theano的运行环境为Python,这种脚本语言我是第一次接触.仔细看了看发现实在是奇葩,Python竟然有2.x和3.x两个分支,而且2.x还拥有相当大的用户

WIN7实用的运行命令

运行命令主要是DOS操作系统的运行方式.为方便用户的操作,微软公司将一些常用的命令,如DIR,CD等命令全部集成在系统里面:存放这些内部命令的文件是“Command”(文件后缀.com).它与IO.sys,Msdos.sys一起成为DOS系统的三个重要文件:在DOS系统里面输入任何命令的时候,系统会先从COMMON(后缀.com)文件里面来寻找有没有这条命令,如果没有则转向寻找外部命令,到了XP时代后,这个内部命令文件则集成到了系统里面(没有考证过是哪个文件):外部命令其实就是一些可执行的文件(

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件WinForm业务平台

RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件WinForm业务平台 接前两篇: RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍 RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件Web业务平台 1.RDIFramework.NET 工作流程组件介绍 RDIFramework.NET框架V2.8以下版本不包含工作流程组件,在实际使用过程中,很多客户提出了让我们在框架中提供对工作流程

x86平台转x64平台关于内联汇编不再支持的解决

x86平台转x64平台关于内联汇编不再支持的解决     2011/08/25   把自己碰到的问题以及解决方法给记录下来,留着备用!   工具:VS2005  编译器:cl.exe(X86 C/C++)  ml64.exe(X64 ASM64) 前提:X86下内联汇编是嵌在函数当中实现的 在X86平台下,可以轻松的在C/C++代码中嵌入汇编代码,称其为"内联汇编",使用"__asm{}"语法即可,比较简单,这里不做介绍.当你在X86平台下,由于性能和速度的要求,需

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件Web业务平台

RDIFramework.NET ━ .NET快速信息化系统开发框架  工作流程组件Web业务平台 接前两篇: RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍 RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件WinForm业务平台 1.RDIFramework.NET 工作流程组件介绍 RDIFramework.NET框架V2.8以下版本不包含工作流程组件,在实际使用过程中,很多客户提出了让我们在框架中提供对工作流

VS 本地调试 x64 平台 “Visual Studio Remote Debugging Monitor 已停止工作” 问题解决

之前有一阵子发现Visual Studio 2012 的x64平台不能直接debug,总是报如下错误,查找了一下,得知VS的x64是建立在x86的远程调试上,而不是独立运行. 猜测就是远程调试上出了问题,但修改各种设置,重装软件,都没有用. 只有将x64改成x86平台,用不到远程调试机制,也就天下太平了.但是我的程序里调用的就是x64的库,没办法,将就过了一段不能调试的日子,后来不知道怎么的又好了,就稀里糊涂的把这问题给糊弄过去了. 直到这次想上外网查东西,登录Astrill SVN时,总是报错

2.使用Package Control组件安装

安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 也可以安装package control组件,然后直接在线安装: 按Ctrl+`调出console 粘贴以下代码到底部命令行并回车:import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_pa