本帖最后由 wx1126 于 2010-06-26 16:15:11 编辑

解决方案 »

  1.   

    Dim WSHShell
    Set WSHShell = CreateObject("WScript.Shell")
    QQPath = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ2009\Install")
    If QQPath <> "" Then
    MsgBox "你的QQ的路径是:" & QQPath, vbInformation, "读取路径成功"
    Else
    MsgBox "程序没能读取到QQ的路径,可能你的电脑上可能没有安装QQ.", vbCritical, "读取路径失败"
    End If
      

  2.   

    用上面得到的路径
    If QQPath <> "" Then
       filecopy "d:\aa.txt",QQPath & "\aa.txt"
    end if
      

  3.   

    朋友谢谢你,你在帮我一下好吗?http://topic.csdn.net/u/20100626/16/f5c7cb78-0146-4224-9d55-bf1735e0b81e.html?seed=4567941&r=66538081#r_66538081 这个页面,你刚才写的是filecopy "d:\aa.txt",QQPath & "\aa.txt" 是D盘的目录,能不能是本目录。该怎么写?还有QQPath = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ2009\Install")这个是检查一个注册表得得到一个目录,我要同时检查几个注册表得到同时几个目录,把文件分别复制到这几个目录,该怎么写,谢谢你
      

  4.   

    1. filecopy app.path & "\aa.txt",QQPath & "\aa.txt"
    2. 将得到的路径QQPath的过程,做循环处理,放到路径数组里QQPath(),然后
    for i=0 to ubound(ss)-1
       filecopy app.path & "\aa.txt",QQPath(i) & "\aa.txt"
    next
      

  5.   

    QQPath = WSHShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ2009\Install")
    某些版本是HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\QQ\Install
    还有其它的....(具体还有什么, 还有多少 我也不知道)
    用这个方法有时会查不到, 通过QQ句柄获取其运行路径比较可靠. 怀疑LZ的程序安全性...360保险箱会叫"发现可疑文件"
      

  6.   

    最好是先检查进程链表里面有没有QQ的进程,有就通过打开进程获取路径比较保险。
    如果实在是没有就通过注册表吧,最好把QQ各个版本能保存路径的注册表键值都查询一下。
    PS:推荐使用标准Win32 API访问注册表。