2

我有一个 java 程序,它将在 windows 上运行,我想以不同的方式运行它,这取决于程序是否以管理权限运行,而不是程序是否以普通用户身份运行。

我需要一个通用的解决方案,它可以适用于不同风格的 java(不仅仅是 oracle/sun 的版本)。

4

1 回答 1

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();
    }
于 2012-05-18T14:26:04.467 回答