改变IE查看源文件默认程序的方法

2010年09月20日   By Demon   14,771 views

IE查看源文件的默认程序太烂了,将其改成EditPlus。

  1. 打开注册表编辑器
  2. 找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
  3. 在其下面新建子键View Source Editor
  4. 在View Source Editor下面新建子键Editor Name
  5. 将Editor Name的默认键值改成程序的路径即可

或者把以下内容保存为.reg并导入(程序路径需要修改成相应的)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\View Source Editor\Editor Name]
@="C:\\Program Files (x86)\\EditPlus 3\\editplus.exe"

参考链接:改变ie查看源文件的默认程序的方法

SDK编程中的窗口居中

2010年09月19日   By Demon   8,844 views

MFC程序中调用CWnd::CenterWindow就可以实现窗口居中,但是纯SDK编程中没有CenterWindow这个函数,需要自定义一个。Google到一个比较好的实现。

阅读这个条目剩下部分 »

用VBS实现PHP的SHA1函数

2010年09月18日   By Demon   9,056 views

有了这个,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日   By Demon   24,702 views

最近把系统换成了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日   By Demon   27,121 views

很少用到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放到“我的文档”根目录下再运行代码就不报错了。