我是java的初学者。
我想从applet运行本机应用程序。
Java代码
import com.ms.security.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.* ;
import java.util.*;
import netscape.security.PrivilegeManager;
public class RunApp extends Applet implements ActionListener {
TextArea ta = new TextArea (25, 80);
Button startbutton = new Button("Start Application") ;
private static String execommand = "C:\\windows\\notepad.exe" ;
private String osname;
public void init() {
try {
if (Class.forName("com.ms.security.PolicyEngine") != null) { // required for IE
PolicyEngine.assertPermission(PermissionID.SYSTEM);
}
}
catch (Throwable cnfe) {
}
this.setBackground(Color.white) ;
startbutton.addActionListener(this) ;
add(startbutton) ;
startbutton.setBackground(Color.red) ;
try{
PrivilegeManager.enablePrivilege("UniversalExecAccess") ; // required for NN
}
catch(Exception cnfe) {
System.out.println("netscape.security.PrivilegeManager class not found") ;
}
osname = System.getProperty("os.name"); // if NT, Win2000 or WinXP, adjust path
if(osname.equals("Windows NT") || osname.equals("Windows 2000")|| osname.equals("Windows XP"))
execommand = "C:\\winnt\\notepad.exe" ;
}
public void actionPerformed(ActionEvent e) {
if( (e.getActionCommand()).equals("Start Application")) {
try{
PrivilegeManager.enablePrivilege("UniversalExecAccess") ; // required for NN
}
catch(Exception cnfe) {
System.out.println("netscape.security.PrivilegeManager class not found") ;
}
try {
Process proc = Runtime.getRuntime().exec(execommand) ;
}
catch(IOException ieo) {
System.out.println("Problem starting " + execommand) ;
}
// System.out.println("execommand: " + execommand) ;
}
}
}
但是当它运行时它说错误:包com.ms.security没有退出!
我没有任何带有ms或安全名称的文件夹。
我应该使用ms创建文件夹,然后在根文件中创建安全性,或者应该导入库ms.security。
com.ms.security
或netscape.security.PrivilegeManager
?
如何下载?我搜索下载此软件包但我没有找到任何东西
我使用eclipse写代码。
答案 0 :(得分:2)
此软件包不再存在。您指向2002年日期的教程。您可以查看此javaranch帖子:http://www.coderanch.com/t/375470/java/java/Location-Jar-ms-security,以及Microsoft文档(https://msdn.microsoft.com/en-us/library/aa242534(v=vs.60).aspx)。所以基本上你的代码在13年前就已经运行了,但是微软不再支持他们自己的JVM了,它已经过时了。抱歉!
答案 1 :(得分:1)
您需要下载具有此软件包的jar,com.ms.security。并且b4在命令提示符下编译你的类路径中jar的java类。
./dir1/dir2/...
答案 2 :(得分:0)
此套餐已不复存在。微软不再支持他们自己的JVM了。您应该尝试以新的方式学习Java applet,例如http://www.tutorialspoint.com/java/java_applet_basics.htm。
答案 3 :(得分:-1)
import import import com.ms.security.*;
要求您拥有一个文件夹com,子文件夹为ms,并带有子文件夹安全性,其中包含所需的文件。
我认为您缺少一些适用于您的应用程序的文件。
我建议阅读这篇文章,以便使用导入:https://stackoverflow.com/a/12620773/3234981
答案 4 :(得分:-1)
请检查包含相应包的jar文件是否存在于类路径中。如果没有,请将它们推送到classpath并在新命令行上重新编译同一个类。
快乐学习。