看到了一篇文章《在Delphi中如何实现文件关联》,在http://www.cnki.com.cn/Article/CJFDTotal-DNZS200402021.htm可以打开pdf格式的这篇文章的文件,这篇文章开始的两段如下:    在程序编写过程中我们经常会遇到文件关联问题!
就是如何在双击一个文件的时候调用自己的程序来执行
该文件" 比如我们在双击.swf文件时系统会自动调用"
Flash播放器"来播放这个文件。通常我们可以通过修改
注册表来实现文件关联! 但笔者发现这样只能启动自己
的程序!却不能播放这个文件。笔者经过几天的攻关!终
于解决了这个问题!好东西不敢独享!现拿出来于大家一
起分享。    当我们双击一个文件时!系统它首先会查找注册表!
如果注册表中已经注册了该文件类型! 系统会自动调用
打开该文件的程序。在这个过程中!需要有参数传递!其
中传递的参数就是我们刚刚双击的文件名。所以要实现
上述功能!我们的程序中必需要处理这个参数的功能!这
样我们的程序才能打开刚刚双击的文件。用了一个ParamStr()函数,而不是用钩子函数获取鼠标的信息,烦劳大家看一下,这篇文章中间的那段是不是与本文无关。

解决方案 »

  1.   

    ParamStr()函数能够获得当前鼠标双击文件的参数?
      

  2.   


    按一下 F1,结合 ParamCount 好好看看吧,唉。当 i = 0 是什么,1.2.3. 等其他的代表什么。
      

  3.   

    ParamStr能获取本程序的启动参数比如
    C:\Windows\notepad.exe "C:\123.txt"ParamStr(0) = 自身程序路径,这里是C:\Windows\notepad.exe
    ParamStr(1) = 第1个参数 C:\123.txt
    ParamStr(2) = 第2个参数
    …………
    依次类推
      

  4.   

    文件关联写注册表 LZ打开注册表 查找下.pdf或其他类型键值看 在找到的位置写入你的注册信息就能实现关联了