平时注册ocx控件,可以以管理员身份运行cmd.exe 输入"regsvr32 文件路径",或者直接写到批处理及bat文件中,以管理员身份运行。
但是当你的程序拷贝到其他电脑上时,注册时的路径路径就成了问题,每次都要更改路径终究不是一个长久之计,所以换一个思路,把bat文件和要注册的ocx控件放在同一个文件夹下,然后文件夹中的ocx进行注册,即
regsvr32 xxxx.ocx
但是!问题总是多的超出想象,在xp环境下按如上操作一点儿问题都没有,可就是win7总是给我找别扭。
以管理员身份运行的话,获取的源文件路径就是默认的系统目录下的system32,当然在这个文件夹下根本就找不到这些ocx控件,如图
经过各种站在巨人的肩膀上,我终于找到了解决办法,就是在bat文件开头获取bat文件所在路径,即
cd /d %~dp0
regsvr32 xxxx.ocx
现在,以管理员身份运行,就没问题了,"编写一次,到处运行"。
PS:
%i提取第i个命令选项,例如%1提取第1个option,i可以取值从1到9
%~0: 取文件名(名+扩展名)
%~f0:取全路径
%~d0:取驱动器名
%~p0:只取路径(不包驱动器)
%~n0:只取文件名
%~x0:只取文件扩展名
%~s0:取缩写全路径名
%~a0:取文件属性
%~t0:取文件创建时间
%~z0:取文件大小
以上选项可组合使用。