当打开程序运行时建立的文件时,程序可以打开,但文件打不开,请问如何能让程序知道是从文件打开的?就像打开.doc文件,word可自动打开并显示文件,好像需要调用某个命令行参数,然后编写相应的代码才行,不知道是什么样的命令行参数?和注册表中的 HKEY_CLASSES_ROOT\键名\shell\open\command不是一回事吧?

解决方案 »

  1.   

    就在这个键下面,键值为 你的程序所在路径比如在 C:\WINDOWS\AAA.EXE 就这样写
    "c:\windows\aaa.exe %1"
    VB程序里用 Command 来提取文件名
      

  2.   

    在form的load中
    dim fp as string
    fp=command()
    msgbox fp这样就得到了文件名,要打开只要在加点代码就行了
      

  3.   

    我也曾遇到此问题,刚模仿过WIN的记事本,经过高手批点我就是用COMMAND$的方法来提取文件名的,然后打开就可以了!!!!只不过需要判断一下是由主程序启动的,还是由关联文件打开的!!
      

  4.   

    是不是这个命令行参数:Applications\WINWORD.EXE\shell\Open\command
      

  5.   

    dim fp as string
    fp=command()
    msgbox fp
      

  6.   

    我知道应该是用COMMAND参数来打开只是如何判断是由关联文件打开的?很不好意思这几天一直没机会上网。
      

  7.   

    Option ExplicitPrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Sub Command1_Click()
        ShellExecute Me.hwnd, "open", "C:\Downloads\大连实德门业查询系统设计方案.doc", vbNullString, vbNullString, 1
    End Sub不知是不是你要的效果~~
      

  8.   

    看了半天你的意思是不是说
    例如:用你开发的程序创建了一个名为XXX.abc的文件然后关闭程序
    当双击XXX.abc的文件后自动启动你程序并打开文件,就像Word,Excel一样?
    如果是这样的,那么需要在注册表中注册文件类型和启动程序名称及路径
    详细的API不记了,查一吧
      

  9.   

    这些都做过了,文件和程序可以关联,想达到的效果就是当双击XXX.abc的文件后自动启动程序并打开文件,
      

  10.   

    在Setup程序中设置文件打开类型就可以了,无须在你的应用程序中加改动
      

  11.   

    dim file as string
    file=command
      

  12.   

    自己解决了,Command 函数直接返回完整的文件路径