0

我制作了一个可以运行的小程序,如果将权限添加到 java.policy(见下文)。

permission java.awt.AWTPermission "createRobot";
permission java.awt.AWTPermission "readDisplayPixels";
permission java.awt.AWTPermission "accessClipboard"; 
permission java.awt.AWTPermission "accessEventQueue"; 
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";

否则java控制台会显示:

java.security.AccessControlException:访问被拒绝(“java.awt.AWTPermission”“createRobot”)

既然用户不想修改策略文件,如何以产品方式做到这一点?

另外,小程序已经被签名,下面的文件被放到了服务器中。

ScreenShot.cer
ScreenShot.store
ScreenShot.jar
ScreenShot.policy

HTML标签:

<applet name="SnapShot" archive="ScreenShot.jar" codebase="." code="ScreenShot.class" width="1" height="1" mayscript="true">
    <param name="cache_archive" value="ScreenShot.jar">
    <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
    <param name="permissions" value="all-permissions">
</applet>
4

1 回答 1

0

这个问题重复了一个从这里我发布答案的地方:

在小程序中使用 java.awt.Robot 类进行屏幕捕获时出现 java.security.AccessControlException

于 2014-10-27T11:01:28.833 回答