我有一个java程序,它将在Windows上运行,我希望以不同的方式运行,基于程序是否以管理权限运行,而不是程序是以普通用户身份运行。
我需要一个通用的解决方案,它可以适用于不同风格的java(不仅仅是oracle / sun的版本)。
答案 0 :(得分:3)
我使用reg查询方法来确定当前程序是否是管理员访问权限。以下内容应提供足够的信息,您可以根据需要对其进行修改。
try {
String command = "reg query \"HKU\\S-1-5-19\"";
Process p = Runtime.getRuntime().exec(command);
p.waitFor(); // Wait for for command to finish
int exitValue = p.exitValue(); // If exit value 0, then admin user.
if (0 == exitValue) {
System.out.println("admin user");
} else {
System.out.println("non admin user");
}
} catch (Exception e) {
e.printStackTrace();
}