VB全盘历遍然后执行某一文件,怎么做?

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:13:08
假如建立一个command用来开启QQ,需要运行qq.exe这个文件,可以用路径法。但是不同电脑的路径未必相同,有的人默认装到C盘,有的则装在D盘,E盘等等。如果单纯地利用历遍的话还牵扯到有的电脑有多版本QQ的问题。

如果我的电脑上有两个QQ,分别是08和09。两个QQ路径最大的区别就是一个是*\QQ\qq.exe,另一个是*\QQ2009\qq.exe (前者为08QQ后者为09QQ)
那么怎么能让VB在按下command那一刻运行08QQ???

如果没明白我的意思的话请看:
1.要通过历遍来运行QQ
2.08QQ和09QQ的文件都是qq.exe,但我只要运行08QQ
(介于有些电脑QQ是无安装版的,所以这里不用注册表寻找)

介于很多人胡答乱答,我这里不默认给分。
我要的是代码,只要代码是对的就加分。后面带注释的加高分。
08 QQ : 8.0.1300.1881
09 QQ : 9.0.1000.1254

Set objWMIServices = GetObject("winmgmts:\\.\root\cimv2") '创建WMI对象
Set colFiles = objWMIServices.ExecQuery("select * from CIM_DataFile where filename='qq' and extension='exe'")
'查找所有的qq.exe,这个过程至少要十几秒
For Each f In colFiles
If Left(f.version, 3) = "8,0" Then Shell f.Name
'如果文件版本是8.0 (代码中用逗号),就执行文件
'文件版本应该是属性中“版本”选项卡的“其它版本信息”“项目名称”的“文件版本”
Next

遍历?如果我有250G的硬盘,又装满了文件,把QQ装在最后的一个盘里,要找到猴年马月才找到qq.exe文件啊。
最好的就去注册表里找吧,虽然我不知道qq是在注册表的哪个地方
呵呵,有个偷懒的方法
只是自己指定几个qq可能安装的路径,

比如:C:\Program Files\Tencent\QQ\

d:\Program Files\Tencent\QQ\
d:\Tencent\QQ\
E:\Tencent\QQ\
等等,
如果找不到,就提示找不到,用手工指定安装目录,呵呵

2009版本的QQ路径在 QQ2009\Bin\QQ.exe 下 (安装文件夹里面的bin文件夹里面)
2008版本的在 2008\qq.exe 下 (安装文件夹下)

所以08版本的或者09版本的,你只需要判断这一层的目录是什么就行了,如果是bin文件夹的 那肯定就是09版本的.