问题不好描述,内详(关于文件打开的)

何鲁青 2007-05-16 02:48:20
前段时间看了通过操作注册表,注册新文件的打开方式的内容,自己试验了一下。
注册*.abc用我自己写的的一个程序(例如:abcOpen.exe)打开。现在双击*.abc文件,能够调用我的程序abcOpen.exe。但是,我想实现运行abcOpen.exe同时abcOpen.exe的内容关联到*.abc文件的内容。请问如何操作?
...全文
213 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
何鲁青 2007-05-16
  • 打赏
  • 举报
回复
在constantine(飘遥的安吉儿)的提示下完成了
我知道如何修改注册表以使打开方式进行关联,但是还是要谢谢上面的各位。
给分,来者有份,多少勿争。
何鲁青 2007-05-16
  • 打赏
  • 举报
回复
OK了,除了与ParamStr(1)有关之外还与ParamStr(2)或者ParamStr(3)有关系,因为如果文件路径或者文件名中带有空格的话它会将名字分开保存。
这里需要利用ParamCounter
constantine 2007-05-16
  • 打赏
  • 举报
回复
没错,%1就是你点击的文件,会传给exe,paramstr(1)就可以收到
chenzhuo 2007-05-16
  • 打赏
  • 举报
回复
HKEY_CLASSES_ROOT 下建一个.abc默认值为abcfile

另外在HKEY_CLASSES_ROOT再建
abcfile
|__Shell
|__Open
|__Command

Command的默认值为
"yourPath\yourexe.exe %1"

记得要有%1

这样你程序里paramstr(1)的文件名才是你双击时的文件名称
何鲁青 2007-05-16
  • 打赏
  • 举报
回复
constantine(飘遥的安吉儿)的答案似乎是正确的,尝试一下,然后给分。
constantine 2007-05-16
  • 打赏
  • 举报
回复
你的程序里面的paramstr(1)是传进来的文件,你需要在打开的时候判断这个参数是否有东西,如果有东西就调用你的函数打开这个文件就行了
chenzhuo 2007-05-16
  • 打赏
  • 举报
回复
通过修改注册表应该就可以了!
天涯倦客 2007-05-16
  • 打赏
  • 举报
回复
windows的 文件关联
注册表 或者 windows命令

我想实现运行abcOpen.exe同时abcOpen.exe的内容关联到*.abc文件的内容。
要用 参数的方式 abcOpen.exe *.abc
何鲁青 2007-05-16
  • 打赏
  • 举报
回复
就想实现双机*.txt文件能够运行notepad.exe并且,内容显示*.txt文件内容的效果。
我现在只能实现运行自己的程序,但是不知道如何将这个*.abc关联到自己的程序上去。
是不是能够将*.abc的名字作为参数传递给我写的函数那?如何实现?
不知道这属于什么技术,不知道如何google。呵呵!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧