我制作了一个可以运行的小程序,如果将权限添加到 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>