日期:2014-05-20  浏览次数:20811 次

怎样做到文件关联?
我想写一个类似Windows记事本(NotePad)的软件,通过我这个软件新建一个文件后第二次直接双击这个新建的文件就能进行编辑而不用先打开我写的软件让后才能打开这个新建文件.简单说起来就是做到文件关联,希望大家给我提供一些思路和方法,谢谢!

------解决方案--------------------
改注册表
你可以查下具体是哪个键值
应该不难的:)
------解决方案--------------------
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):


------解决方案--------------------
晕死,楼上的是说的什么哦。。。

编程啊。。。怎么修改注册表了。。。。。。。
------解决方案--------------------
注册表实现啊...不知道有没有直接API
------解决方案--------------------
写注册表
我有一个比较笨的方法
用流写一个reg 文件
然后把这个reg命令用dos命令导入注册表
我只知道用java操作指定位置的注册表项。 而不会操作任意位置的。 还请高人指点一下哈
------解决方案--------------------
可以用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 参数,比如:为空时打开空的文档,有一个时打开当前这个文档。