我想在Windows下将几个文件扩展名“链接”到我的java应用程序中。当用户双击带有“链接”扩展名的文件时,我想打开我的应用程序,我需要知道启动应用程序的文件路径。
答案 0 :(得分:3)
如果您部署应用程序。使用Java Web Start,可以在启动文件中声明对文件类型的兴趣。请参阅demo. of the file services,其中......
..提示用户关联内容类型
.zzz
的文件扩展名text/sleepytime
(只是一种不太可能与现有文件关联冲突的文件类型)。 ..
当用户双击.zzz
文件时,它应该在应用中打开。实际上,“'”这个词提示'没有整个故事。如果启动沙盒版本,系统将提示您关联文件类型。受信任的版本不会提示。
要为流程添加更多用户控件,请查看1.6.0_18中引入的IntegrationService
(我还没有演示该版本的演示文稿)。在与用户核实后,您可以在启动时运行它。
答案 1 :(得分:2)
这必须在安装期间完成。您打算如何让用户安装您的应用程序?
你必须在这个阶段意识到你让事情变得更加复杂。注册文件扩展名意味着干预注册表。如果用户不再需要您的应用程序会发生什么?或者移动启动应用程序的文件?
你必须选择一个安装创建者。这是一个关于这个的问题:https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers
然后你必须学习安装程序创建者的语言。这就是你要求的是如何完成的。请记住,脚本会处理诸如“如果用户卸载我的应用程序,并且我在安装时没有更改文件关联,那么我是否应该在卸载时删除这些文件关联?”之类的问题。所以它有点长。无论如何它是http://nsis.sourceforge.net/File_Association
也许可以在另一个安装程序创建者中以更简单的方式完成。
但是,在此示例中,您为应用程序提供了nsis的register函数,然后在Windows文件关联的start命令中将%1添加到它。所以你应该给它启动命令
javaw -cp installpath\yourcode.jar package.name.MainClassName
然后事情应该成功。当然,这将需要一些实验,您必须非常确定如何从命令行启动应用程序。
祝你好运!