首先,我知道如何用VB实现修改注册表来实现*.DOC文件的关联,但我不知道如何在运行我的程序之后,接着用WORD打开用户想打开的*.DOC文件。用VB6.0实现啊。谢谢大家!

解决方案 »

  1.   

    用api ShellExecute
    假设你得到的DOC文件为 DOCfile(包含路径)
    ShellExecute hand1, "open", DOCfile , "", "", 1
      

  2.   

    我的问题已自己解决,我已经用Command$取得双击的文件名,并且可以用目标文件打开这个被双击的文件。但是:比如用户双击DOC文件时,系统自动运行我的程序,并且调用WORD打开目标文件然后退出我的程序,但这个时候WORD的窗口并不是在前台,而必须用鼠标点一下任务栏上相应的区域才能把WORD调到前面来,怎么让WORD自动运行打开文件后调到前面显示啊?
      

  3.   

    忘记你已经修改doc的默认打开程序了
    应该这样
    ShellExecute hand1, "open", "winword", DOCfile, "", 1
      

  4.   

    ayalicer:你的方法很好!的确解决了我的窗口不在前面的问题,但有一点我不明白,你的命令中的winword是不是该命令运行Word程序时的默认程序名?我试了换成记事本,命令就是ShellExecute   hand1,   "open",   "notepad.exe",   DOCfile,   "",   1如果换成IE或其他的程序打开,中间那个参数应该是什么?麻烦一下!
      

  5.   

    要很简单,我就有对应的资源下载地址是:http://download.csdn.net/user/JiLuoXingRen/all/6
    请下载我的这两篇文档:
    【通过程序捕获文件关联】
    【通过vb注册文件关联】
    第二篇是如何注册文件关联的,而第一篇是如获通过程序捕获自己设定的文件关联的,假设你自定义一个文本格式的文件拓展名,如*.acttic,然后你就可以通过第二篇源码注册文件关联,使得带有acttic拓展名的文件的图标都变成你定义的图标,然后可以用第一篇文档捕获这个文件关联,就是当acttic文件被双击时,你的程序启动,然后你就可以自动地获得这个启动你程序的文件路径和文件名全自动的。符合你的要求。