问一个文件系统默认打开方式的问题 ( 积分: 180 )

  • 主题发起人 主题发起人 蜉蝣小生
  • 开始时间 开始时间

蜉蝣小生

Unregistered / Unconfirmed
GUEST, unregistred user!
我用fastreport做的报表保存成fp3格式,想自己做一个程序专门用来打开这种格式的文件,想让在window系统里面双击fp3文件的时候系统自动调用我的程序来打开这个文件,请问系统根据不同的文件格式调用不同程序打开的原理是什么?
 
文件关联啊!
在 HKEY_CLASSES_ROOT下面建立 .fp3子键
WriteString('','myfp3');

在 HKEY_CLASSES_ROOT下面建立 myfp3子键,即建立
myfp3/shell/open/command子键,
WriteString('','c:/myfp3exe.exe');
那么点.fp3文件就到 运行 c:/myfp3exe.exe 文件了!

呵呵!
祝你愉快!
 
谢谢楼上的回答,我等会试试,现在还有一个问题,就是怎么才能把我双击的这个fp3文件传递给myfp3.exe呢,也就是exe文件怎么知道我要打开的文件的路径?
 
ParamStr(1)返回老是空,败了
 
WriteString('','c:/myfp3exe.exe %1');
 
"%1" 这样才安全
 
通过在打开方式里面选择的方式观察注册表的变化情况,然后我用下面的方法更改注册表,克斯不行,老是提示fp3文件拒绝访问.,各位给看看是什么地方不对
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT/.FP3]
""="FP3_AUTO_FILE"
[HKEY_CLASSES_ROOT/OPENFP3.EXE/SHELL/OPEN/COMMAND]
""="%SystemRoot%//system32//openfp3.exe"
[HKEY_CLASSES_ROOT/fp3_auto_file/SHELL/OPEN/COMMAND]
""="%SystemRoot%//system32//openfp3.exe"
[HKEY_CURRENT_USER/SOFTWARE/CLASSES/OPENFP3.EXE/SHELL/OPEN/COMMAND]
""="%SystemRoot%//system32//openfp3.exe"
 
[HKEY_CLASSES_ROOT/fp3_auto_file/SHELL/OPEN/COMMAND]
""="%SystemRoot%//system32//openfp3.exe %1"

要有 %1 才可以传参数的啊。
 
"%1"加上双引号。。。
不然路径有空格如E:/My Documents的话就会看成两个参数了
 
不行,为什么用选择打开方式就行,用同样的方式改注册表就不行了?
 
后退
顶部