一尘不染

检测Java应用程序是否以Windows管理员身份运行

java

我有一个Java应用程序。无论如何,在Windows 7上,我是否可以知道该进程是否以管理员权限运行。


阅读 364

收藏
2020-09-08

共1个答案

一尘不染

我在网上找到了此代码段,我认为它将为您完成这项工作。

public static boolean isAdmin() {
    String groups[] = (new com.sun.security.auth.module.NTSystem()).getGroupIDs();
    for (String group : groups) {
        if (group.equals("S-1-5-32-544"))
            return true;
    }
    return false;
}

它仅适用于Windows,并内置于核心Java包中。我刚刚测试了这段代码,它确实起作用了。它使我感到惊讶,但确实如此。

SID S-1-5-32-544是Windows操作系统中Administrator组的ID。

以下是有关其工作原理的更多链接

2020-09-08