怎样做到文件关联?

sqq4290 2007-08-10 07:36:57
我想写一个类似Windows记事本(NotePad)的软件,通过我这个软件新建一个文件后第二次直接双击这个新建的文件就能进行编辑而不用先打开我写的软件让后才能打开这个新建文件.简单说起来就是做到文件关联,希望大家给我提供一些思路和方法,谢谢!
...全文
388 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
RuanJava 2011-12-21
  • 打赏
  • 举报
回复
LZ最后是怎么做到的?
joejoe1991 2007-08-13
  • 打赏
  • 举报
回复
可以用Runtime.getRuntime().exec("cmd.exe /c regedit 文件名 /s");来把注册表文件里的内容导入注册表
好像是这样 记不太清了 你去试试吧
  • 打赏
  • 举报
回复
在我的电脑 --> 工具 --> 文件夹选项 --> 文件类型,找到需要关联的后缀名,点高级,操作选 Open,或者新建一个,再点编辑,在“用于执行操作的应用程序”中填上:

javaw -jar f:\notepad\notepad.jar %1

就可以了,假设这个 jar 是放在 f:\notepad 下的。不过这个 jar 中需要在 MANIFEST.MF 中设上 Main-Class 的主入口类,同时这个类中必须处理 args 参数,比如:为空时打开空的文档,有一个时打开当前这个文档。
sqq4290 2007-08-12
  • 打赏
  • 举报
回复
谢谢楼上各位网友的建议(我是LZ),我考虑了一下,想这样设计:
把主程序编译后与修改注册表的reg文件一起打成jar,当你第一双击jar文件时会先弹出一个对话框让你选择是否进行文件关联,如果选择是就运行reg文件修改注册表,如果选择不就进入文本编辑界面,为了避免每次都弹出这个对话框用户可以在下次弹出这个对话框中选择"不再提示",当然文本编辑界面的菜单条上会设置一个"文件关联"的菜单项,给用户提供再次选择的机会.关键是能否通过主程序启动reg文件这个问题,期待与更多的朋友讨论怎样简单而规范的做到关联乃至部署自己的JAVA桌面程序!
wuy13862574600 2007-08-11
  • 打赏
  • 举报
回复
晕死,楼上的是说的什么哦。。。

编程啊。。。怎么修改注册表了。。。。。。。
justicesun 2007-08-11
  • 打赏
  • 举报
回复
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\txtfile\shell\open\command]
@="C:\\WINDOWS\\notepad.exe %1"

[HKEY_LOCAL_MACHINE\txtfile\shell\open\command]
@="C:\\WINDOWS\\notepad.exe %1"


改成你的reg文件,然后导入 搜了半天.觉得应该是这俩...
不是上面的,就是这个...


Windows Registry Editor Version 5.00

[HKEY_USERS\S-1-5-21-1708537768-527237240-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt]

[HKEY_USERS\S-1-5-21-1708537768-527237240-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList]
"a"="NOTEPAD.EXE"
"MRUList"="a"

[HKEY_USERS\S-1-5-21-1708537768-527237240-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids]
"txtfile"=hex(0):

joejoe1991 2007-08-11
  • 打赏
  • 举报
回复
写注册表
我有一个比较笨的方法
用流写一个reg 文件
然后把这个reg命令用dos命令导入注册表
我只知道用java操作指定位置的注册表项。 而不会操作任意位置的。 还请高人指点一下哈
justicesun 2007-08-11
  • 打赏
  • 举报
回复
注册表实现啊...不知道有没有直接API
sqq4290 2007-08-10
  • 打赏
  • 举报
回复
也就是这个功能只是单纯的依靠系统注册表实现而无需在程序端写什么代码?
zdjray 2007-08-10
  • 打赏
  • 举报
回复
改注册表
你可以查下具体是哪个键值
应该不难的:)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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