在Vista上使用工行U盾 VmwareVBScript浏览器XPF#
原来我在Vista上使用U盾付款总有问题,所以都用装XP的电脑付款。最近在外面出差,身边只有Vista,就研究了一下,发现在Vista上也可以使用U盾。我的U盾型号是金邦达2006。
PKCS11初始化失败的问题
如果电脑上安装了VMWare或VMware Player,在Vista上插入U盾后,点击运行工具箱,会出现:
PKCS11初始化失败!
这是USB驱动程序冲突造成的U盾加载证书失败。通过“管理工具”->“服务”将服务“VMware USB Arbitration Service”停止后,U盾就可以正常加载证书了。使用过U盾后,如果需要使用VMware,可以重新启动这项服务。
必须用管理员方式运行浏览器
在Vista在使用U盾时一定要用管理员方式运行浏览器。否则点击付款按钮后,浏览器就没有响应了。在正常情况下,这时应该弹出一个输入支付密码的对话框。
解决VMWare冲突的批处理程序
我经常使用VMware Player,也经常用U盾。通过“管理工具”->“服务”去停止或启动“VMware USB Arbitration Service”比较繁琐,要点击很多次鼠标。
写个小程序实现这个功能虽然简单,但我也花不起时间。于是就写了一个批处理文件:
@echo off
@for /f "tokens=4" %%i in ('sc query VMUSBArbService^|find /i "state"') do (
if "%%i"=="STOPPED" (
sc start VMUSBArbService
mshta vbscript:msgbox^("服务启动,可以用VMware了",0,"U盾助手"^)^(window.close^)
) else (
sc stop VMUSBArbService
mshta vbscript:msgbox^("服务停止,可以用U盾了",0,"U盾助手"^)^(window.close^)
)
)
将这个批处理文件保存到uu.bat。运行时一定要用管理员方式运行,因为停止或启动服务需要管理员身份。这个小程序自动判断服务是否打开。如果打开的就关闭它,如果关闭的就打开它。需要使用U盾时执行一次。使用过U盾后再执行一次。