我的程序要打开两种不同扩展名的文件,如rrr.ty1和eee.ty2,在菜单上对应的打开函数分别为:Private sub Openty1_click()和Private sub Openty2_click()
请问能不能实现当我双击rrr.ty1文件时我的程序开始运行并调用Private sub Openty1_click()函数。而双击eee.ty2时调用Private sub Openty2_click()函数。请大家告诉我方法,先谢谢。

解决方案 »

  1.   

    你的rrr.ty1和eee.ty2 在什么地方点击?资源管理器还是你的程序界面?
      

  2.   

    Private sub Openty1_click()和Private sub Openty2_click()两函数是写好了的,用打开对话框取得文件名,再读取文件中的数据,关键是当我双击文件时怎样在函数中得到我双击的文件名。如果双击文件名时能将文件名传给一函数中的变量那么问题就解决了。
      

  3.   

    Dim x As String
    Private Sub Form_Load()
    CommonDialog1.ShowOpen
    CommonDialog1.InitDir = "c:\"
    x = CommonDialog1.FileName
    MsgBox x'------------------------------------>get the filename you have selected
    If Right(x, 3) = "ty1" Then Openty1_click
    If Right(x, 3) = "ty2" Then Openty2_click
    End Sub
      

  4.   

    "你的rrr.ty1和eee.ty2 在什么地方点击?资源管理器还是你的程序界面?"
    当然是在资源管理器中.
    我在网上看了些文件关联的文章,有一点一直没搞明白。就拿大家用notepad举的例来说吧当我们双击一文本文件(asc.txt)时即可调用记事本将其打开,此时等于执行了notepad.exe的“打开”菜单。那么当我们双击asc.txt时为什么不是执行notepad.exe菜单下的"打印"而是“打开”呢?
      

  5.   

    首先在注册表中的HKEY_CLASSES_ROOT中新建一个项,如".ty1",然后在其默认的键上输入数据信息,如"ty1files".再在HKEY_CLASSES_ROOT中新建一个项"ty1files",在"ty1files"里建立"shell"项,在"shell"项里新建"open"项,在"open"里新建"command"项,在"command"项中的默认键值的数据中写上你的程序的所在位置,如"c:\xxx.exe %1"OK啦!
      

  6.   

    注册文件关联后可以用command方法得到双击时的文件名