Java小程序:从浏览器运行本机代码?
是否仍然可以通过浏览器中的java小程序在windows下启动“本机”应用程序?IE“单击此处启动notepad.exe”在网页上。我能找到的最新参考资料是2002年的。我想知道这个模型/概念是否不再受支持 是,但小程序必须签名Java小程序:从浏览器运行本机代码?,java,applet,Java,Applet,是否仍然可以通过浏览器中的java小程序在windows下启动“本机”应用程序?IE“单击此处启动notepad.exe”在网页上。我能找到的最新参考资料是2002年的。我想知道这个模型/概念是否不再受支持 是,但小程序必须签名 将提示用户授予他们权限。一旦指定,小程序与机器上运行的任何应用程序具有相同的权限,包括启动本机应用程序(或链接本机库,我过去必须这样做)。是,但小程序必须签名 将提示用户授予他们权限。一旦指定,小程序就拥有与机器上运行的任何应用程序相同的权限,包括启动本机应用程序(或链
将提示用户授予他们权限。一旦指定,小程序与机器上运行的任何应用程序具有相同的权限,包括启动本机应用程序(或链接本机库,我过去必须这样做)。是,但小程序必须签名
将提示用户授予他们权限。一旦指定,小程序就拥有与机器上运行的任何应用程序相同的权限,包括启动本机应用程序(或链接本机库,我以前必须这样做)。可移植的方法是创建一个 …是否仍然可以通过浏览器中的java小程序在windows下启动“本机”应用程序 当然可以。如其他回复中所述,已签名(且受信任)的小程序可以使用
Runtime.exec(String)
启动本机应用程序
从Java 1.6开始,通过实现devstop.getDesktop.open(File)
,它将使用操作系统注册为该文件类型使用者的任何应用程序打开选定的文件
从Sun的Plugin2体系结构(Sun/Oracle JRE中的1.6.0_10+)开始,使用JNLP API的BasicService
,为网页中嵌入的(沙盒)小程序提供了更通用的方法。这是我的
…是否仍然可以通过浏览器中的java小程序在windows下启动“本机”应用程序
当然可以。如其他回复中所述,已签名(且受信任)的小程序可以使用Runtime.exec(String)
启动本机应用程序
从Java 1.6开始,通过实现devstop.getDesktop.open(File)
,它将使用操作系统注册为该文件类型使用者的任何应用程序打开选定的文件
从Sun的Plugin2体系结构(Sun/Oracle JRE中的1.6.0_10+)开始,使用JNLP API的
BasicService
,为网页中嵌入的(沙盒)小程序提供了更通用的方法。这是我的你尝试过你找到的方法吗?它有用吗?它太旧了,有些软件包已经不可用了。我无法构建它。这里有一个IE解决方案:-->不过我需要一些与浏览器无关的东西。Java当然可以做到。。现在我只需要记住如何编写一个小程序..你尝试过你找到的方法吗?它有用吗?它太旧了,有些软件包已经不可用了。我无法构建它。这里有一个IE解决方案:-->不过我需要一些与浏览器无关的东西。Java当然可以做到。。现在我只需要记住如何编写小程序..不知道桌面的东西(没有机会使用1.6)你能在exe上执行Desktop.open()方法来启动它吗?这在未签名的小程序中有效吗,还是仍然需要签名?@Herms:小程序需要被信任才能使用Desktop
类的方法。基本服务仍然不提供启动本机应用程序的功能,是吗?或者您是否使用文件:
URL来运行本地应用程序?@Paŭlo Ebermann:您是对的,但是BasicService
可以用于启动基于JWS的桌面应用程序。不知道桌面的东西(还没有机会使用1.6),您可以对exe执行desktop.open()方法来启动它吗?这在未签名的小程序中有效吗,还是仍然需要签名?@Herms:小程序需要被信任才能使用Desktop
类的方法。基本服务仍然不提供启动本机应用程序的功能,是吗?或者您是否使用文件:
URL来运行本地应用程序?@Paŭlo Ebermann:您是对的,但是BasicService
可以用于启动基于JWS的桌面应用程序。这很好。我想得太多了。自签名确实会产生一个弹出窗口,需要解释为“不,真的-你可以相信我”,但这是可行的。有没有一种好方法可以捆绑本机库,以便将其下载到用户的硬盘上?调用System.loadLibrary()时应该使用什么路径?我相信您可以将其包含在jar文件中,但我没有尝试过(我们让小程序动态下载它,以便它能够获取dll的更新)。这很好。我想得太多了。自签名确实会产生一个弹出窗口,需要解释为“不,真的-你可以相信我”,但这是可行的。有没有一种好方法可以捆绑本机库,以便将其下载到用户的硬盘上?调用System.loadLibrary()时应该使用什么路径?我相信您可以将其包含在jar文件中,但我没有尝试过(我们让小程序动态下载它,以便它能够获取dll的更新)。