“我的作品”目录存档

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

EditPlus注册码在线生成

2010年09月24日,星期五

虽然我写的EditPlus注册机没有病毒,但是谁信呢,还是弄个EditPlus注册码在线生成吧。

注意不支持中文字符,我懒得用正则表达式验证了。

Username:

Regcode:

EditPlus注册机及其算法

2010年09月23日,星期四

一切源于正则表达式。EditPlus之支持部分正则表达式,我想找一个对正则表达式支持比较好的代码编辑器。不小心点了EditPlus的Check Latest Version菜单,发现最新版EditPlus是3.20,而我的是3.12。查看了一下更新的内容,很失望的发现没有和正则表达式有关的内容。没有就没有吧,我还是要更新的。

下载了最新版的安装文件,安装。打开EditPlus,提示需要注册码。以前都是随便Google一个填上去就完了,但是这样EditPlus中写的授权都是别人的ID,看着不爽。于是搜索了一下有没有注册机,别说,还真有。但是以前下过的有些注册机是带病毒的,在我的电脑还有杀毒软件的时候,有个注册机直接把卡巴斯基干掉了。更何况现在电脑处于裸奔状态,注册机的病毒想搞破坏那是再简单不过了。

Google关键词“EditPlus 注册机”的时候竟然还搜索出了与“EditPlus 注册机源码”有关的内容。有源码就好办了,自己按照源码写一个呗。后来才发现那个注册码算法是错的,只生成的注册码的前5位,浪费我时间。

再后来,我反汇编了一个EditPlus注册机,花了一天时间才从中找出了注册码的正确算法。唉,没办法,水平太低了。

用VBS实现Discuz论坛自动回帖程序

2010年07月2日,星期五

曾经是多么的热衷于刷积分,用C#写了一个Discuz论坛自动回帖程序(源码找不到了)。后来顿悟了,积分什么的,只不过是浮云罢了。其时VBS水平比原来提高了一点,发现用C#写Discuz论坛自动回帖程序有点太大材小用了,用VBS脚本就可以轻松实现Discuz论坛自动回帖程序。能用脚本做的事情,何必用高级语言去做呢?

(更多…)

硬盘整数分区FAT32/NTFS方法

2010年05月13日,星期四

硬盘厂商设计的是1GB=1000Mb,而操作系统却认为1Gb=1024Mb,而这个整数分区的公式既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据位置等信息。

对于FAT32格式:
应分配MB数=(分区GB数-1)×4+1024×分区GB数
也就是说,如果你要在FAT32格式的硬盘上分出一个10 GB的硬盘,那么:
你应该分配的MB数=(10-1)×4+1024×10=10276 MB
这样你就可以得到整数的10 GB分区了。

对于NTFS格式:
硬盘一般有255磁头,63扇区,故每柱面大小为:
512byte x 255 x 63=8225280bytes =7.84423828125 MB
如果要分10 GB,那么要10×1024 MB=10240 MB
需要柱面数为10240÷7.84423828125=1305.4167444755680049797
取整数既为1306个柱面
应分MB数为1306×7.84423828125=10244.5751953125 MB
不管小数点后面几位都进1,也就是10245 MB,系统也就认为是10.00 GB了。

总结:这么算实在是太麻烦了,要是每次这么算一下会崩溃的,用C语言写了个无聊的计算[download id=3]