我有一个 java 程序,它将在 windows 上运行,我想以不同的方式运行它,这取决于程序是否以管理权限运行,而不是程序是否以普通用户身份运行。
我需要一个通用的解决方案,它可以适用于不同风格的 java(不仅仅是 oracle/sun 的版本)。
我有一个 java 程序,它将在 windows 上运行,我想以不同的方式运行它,这取决于程序是否以管理权限运行,而不是程序是否以普通用户身份运行。
我需要一个通用的解决方案,它可以适用于不同风格的 java(不仅仅是 oracle/sun 的版本)。
我使用 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();
}