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 に答える