文章关键字 ‘VBScript’

VBS中的GUI界面(EditPlus注册机)

2010年09月26日,星期日

其实用VBS也可以写出很漂亮的用户界面,大体上有两种方法,一种是HTA,一种是InternetExplorer.Application。这两种方法都是基于html的,也就是说,网页可以做得多漂亮,我们的界面就可以做得多漂亮。

虽然用HTA可以超越浏览器对脚本的禁锢,但是我不喜欢,还是喜欢纯VBS。所以只简单的说一下用InternetExplorer.Application创建GUI。

首先我们要创建一个InternetExplorer.Application对象

Set IE = CreateObject("InternetExplorer.Application")

然后打开一个空白页面about:blank,并把ToolBar设为False(不显示工具栏),StatusBar设为False(不显示状态栏),Visible设为True。

IE.Navigate "about:blank"
IE.ToolBar = False
IE.StatusBar = False
IE.Visible = True

剩下的就是网页设计的事情了,用Document的write方法写入html代码。

IE.Document.write "<input type='text' />"
IE.Document.write "<input type='button' value='OK' />"

就像设计网页一样设计我们的界面就行了,下面给出一个示例。用VBS写的带GUI界面的EditPlus注册机。

参考链接:

  1. 如何使用 InputBox 来屏蔽密码?
  2. InternetExplorer Object

用VBS实现PHP的SHA1函数

2010年09月18日,星期六

有了这个,VBS版的六维空间作弊工具就可以完成了。

依然是CAPICOM。

Function sha1(str, raw_output)
	Dim HashedData, Utility
	Set HashedData = CreateObject("CAPICOM.HashedData")
	Set Utility = CreateObject("CAPICOM.Utilities")
	HashedData.Algorithm = 0
	HashedData.Hash str	
	If raw_output Then
		sha1 = Utility.HexToBinary(HashedData.Value)
	Else
		sha1 = HashedData.Value
	End If
End Function

在64位系统中使用CAPICOM

2010年09月17日,星期五

最近把系统换成了windows 2008 r2,然后capicom就不好使了。据我所知,不存在64位版本的capicom.dll。

虽然capicom.dll是32位的dll,但是仍然推荐将其放到%windir%\syswow64文件夹而不是%windir%\system32文件夹。

下面是在x64系统上使用capicom.dll的步骤:

  1. 把capicom.dll复制到%windir%\syswow64文件夹
  2. 输入命令:

    %windir%\syswow64\regsvr32.exe %windir%\syswow64\capicom.dll

  3. 然后写个简单的vbs测试一下

    Set HashedData = CreateObject("CAPICOM.HashedData")

不出意外的话就可以使用了。

参考链接:RE: CAPICOM – Windows Server 2003 R2 64 bit – OLE automation error

Workbooks.Open中的相对路径

2010年09月16日,星期四

很少用到excel.application对象,所以不是很有研究。

碰到Workbooks.Open打开文件时使用相对路径会出错的问题,例如包含下面代码的VBS文件和data.xls在同一目录下

Dim oExcel
Set oExcel = CreateObject("excel.application")
oExcel.Visible = True
oExcel.Workbooks.Open "data.xls"

运行却会报错

无法找到“data.xls”。请检查文件名的拼写,并检查文件位置是否正确。

如果您正试图从“文件”菜单上最近使用的文件列表中打开文件,请确认文件未被重命名、移动或删除。

看来相对路径相对的不是vbs文件的路径,那么到底是相对哪里的路径呢?答案是“我的文档”,把data.xls放到“我的文档”根目录下再运行代码就不报错了。

VbsEdit 3.4.1.32

2010年09月14日,星期二

虽然VBS可以用记事本来写,但是用记事本写实在是太痛苦了。看过那么一句话:用记事本写代码的不是神就是疯子。

《Advanced VBScript For Microsoft Windows Administrator》一书中推荐了4种VBS编辑器

  1. AdminScriptEditor
  2. OnScript
  3. PrimalScript
  4. VbsEdit

这4种编辑器我都试用过,可以说各有特色,但是我还是最喜欢VbsEdit。因为VbsEdit占的空间很小,才几M,而且还是共享软件,即使不付费不破解也可以使用,只不过在调试的时候不大方便而已。把这个VbsEdit 3.4.1.32破解版的放到网站上,想要的时候就不用到处找了。