Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.sun.jna.Native;
- import com.sun.jna.platform.win32.Advapi32;
- import com.sun.jna.platform.win32.WinDef;
- import com.sun.jna.platform.win32.WinNT;
- public class ShutdownComputer {
- public static void main(String[] args) {
- Advapi32 advapi32 = Native.load("Advapi32", Advapi32.class);
- WinNT.HANDLE token = new WinNT.HANDLE();
- advapi32.OpenProcessToken(advapi32.GetCurrentProcess(), WinNT.TOKEN_ADJUST_PRIVILEGES | WinNT.TOKEN_QUERY, token);
- WinNT.LUID luid = new WinNT.LUID();
- advapi32.LookupPrivilegeValue(null, "SeShutdownPrivilege", luid);
- WinNT.TOKEN_PRIVILEGES tp = new WinNT.TOKEN_PRIVILEGES(1);
- tp.Privileges[0] = new WinNT.LUID_AND_ATTRIBUTES(luid, new WinDef.DWORD(WinNT.SE_PRIVILEGE_ENABLED));
- advapi32.AdjustTokenPrivileges(token, false, tp, 0, null, null);
- advapi32.ExitWindowsEx(WinNT.EWX_SHUTDOWN, 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement