반응형
    
    
    
  void __fastcall Windows_ShutDown(void)
{
    HANDLE hToken;
    TOKEN_PRIVILEGES tp;
    LUID luid;
    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken);
    LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &luid);
    tp.PrivilegeCount = 1 ;
    tp.Privileges[0].Luid = luid ;
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED ;
    AdjustTokenPrivileges(hToken, false, &tp, 0, NULL, NULL) ;
    ExitWindowsEx(EWX_SHUTDOWN, 0);
}
반응형
    
    
    
  'Software > C++ Builder' 카테고리의 다른 글
| VARIANT 형의 변수를 사용할 때 주의할 점 (C++) (1) | 2025.03.11 | 
|---|---|
| HEX String 을 Integer 값으로 변경하는 방법 (0) | 2023.06.07 | 
| c++ Builder 외부 에디터 연결 사용방법 (0) | 2023.03.31 | 
| Excel 설치없이 Excel 파일로 데이타 저장 C++ (0) | 2023.03.23 | 
| 일본 Contec 사의 GPIB 카드 제어 클래스 C++ (0) | 2023.03.23 |