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

解决方案 »

  1.   

    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):
      

  2.   

    注册表实现啊...不知道有没有直接API
      

  3.   

    写注册表
    我有一个比较笨的方法
    用流写一个reg 文件 
    然后把这个reg命令用dos命令导入注册表
    我只知道用java操作指定位置的注册表项。 而不会操作任意位置的。 还请高人指点一下哈
      

  4.   

    谢谢楼上各位网友的建议(我是LZ),我考虑了一下,想这样设计:
    把主程序编译后与修改注册表的reg文件一起打成jar,当你第一双击jar文件时会先弹出一个对话框让你选择是否进行文件关联,如果选择是就运行reg文件修改注册表,如果选择不就进入文本编辑界面,为了避免每次都弹出这个对话框用户可以在下次弹出这个对话框中选择"不再提示",当然文本编辑界面的菜单条上会设置一个"文件关联"的菜单项,给用户提供再次选择的机会.关键是能否通过主程序启动reg文件这个问题,期待与更多的朋友讨论怎样简单而规范的做到关联乃至部署自己的JAVA桌面程序!
      

  5.   

    可以用Runtime.getRuntime().exec("cmd.exe /c regedit 文件名 /s");来把注册表文件里的内容导入注册表
    好像是这样 记不太清了 你去试试吧
      

  6.   

    在我的电脑 --> 工具 --> 文件夹选项 --> 文件类型,找到需要关联的后缀名,点高级,操作选 Open,或者新建一个,再点编辑,在“用于执行操作的应用程序”中填上:javaw -jar f:\notepad\notepad.jar %1就可以了,假设这个 jar 是放在 f:\notepad 下的。不过这个 jar 中需要在 MANIFEST.MF 中设上 Main-Class 的主入口类,同时这个类中必须处理 args 参数,比如:为空时打开空的文档,有一个时打开当前这个文档。