2012-12-23 2 views
4

윈도우 7 UAC가 활성화되어 있다면 결정하기 위해 레지스트리를 확인할 수 있습니다, 그러나 다만이 트릭을 사용하는 경우이 기능은 항상 UAC가 활성화되어 있는지 돌아 윈도우 8과C++을 사용하여 Windows 8에서 UAC가 활성화되었는지 여부를 프로그래밍 방식으로 검색하는 방법? 윈도우 XP /에서

BOOL FileOps::IsUacEnabled() 
{ 
    LPCTSTR pszSubKey = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"); 
    LPCTSTR pszValueOn = _T("EnableLUA"); 
    DWORD dwType = 0; 
    DWORD dwValue = 0; 
    DWORD dwValueSize = sizeof(DWORD); 

    if (ERROR_SUCCESS != SHGetValue(HKEY_LOCAL_MACHINE, pszSubKey, pszValueOn, 
     &dwType, &dwValue, &dwValueSize)) 
    { 
      return FALSE; 
    } 

    return dwValue != 0; 
} 

작동하지 않습니다

HANDLE hToken; 
TOKEN_ELEVATION_TYPE elevationType; 
DWORD dwSize; 

OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken); 
GetTokenInformation(hToken, TokenElevationType, &elevationType, sizeof(elevationType), &dwSize); 

bool bUAC_Enabled = false; 

switch (elevationType) { 
case TokenElevationTypeDefault: 

    wprintf(TEXT("\nTokenElevationTypeDefault - User is not using a split token.\n")); 
    break; 
case TokenElevationTypeFull: 

    wprintf(TEXT("\nTokenElevationTypeFull - User has a split token, and the process is running elevated.\n")); 
    break; 
case TokenElevationTypeLimited: 

    wprintf(TEXT("\nTokenElevationTypeLimited - User has a split token, but the process is not running elevated.\n")); 
    break; 
} 

if (hToken) { 
CloseHandle(hToken); 
} 

어떤 아이디어 : 윈도우 8 다른 방법에서 나뿐만 아니라 실패 봤어요?

+1

Windows 8에서는 UAC를 비활성화 할 수 없으므로 OS 버전을 확인하십시오. 그보다 더 실용적인 것은 아닙니다. –

+0

Windows 8에서 UAC를 항상 활성화하지 않았습니까? 왜 항상 '사실'을 반환하는지 (그렇지 않은 경우 ... 어떻게 체크를 끄려고 했습니까?) – Ryan

답변

1

Windows-8의 UAC를 끄는 것이 Windows-7과 다를 수 있습니다. "사용자 계정 컨트롤 변경 설정"화면에서 바를 아래로 밀면 Windows-8에서 다르게 작동합니다. 그것은 UAC를 전혀 비활성화하지 않습니다. 다음은 LINK입니다 : 실제로 UAC (Windows-8)를 사용하지 않으려면 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System의 레지스트리에서 EnableLUA 값을 0으로 수정하고 재부팅해야합니다 하지만 이것은 OS의 지원 상태가 아니며 현대 응용 프로그램을 차단합니다. 그러지 마십시오.

[편집] : ... http://www.petenetlive.com/KB/Article/0000687.htm#.UOnBsm_FWrs

매우 놀라운 나는 많은을 변경해야 할 것 같다 :이 사이트는 그룹 정책을 사용하여 시장 애플 리케이션을위한 문제를 만들지 않고 윈도우 8에 UAC를 해제 할 수 있습니다 주장 UAC를 지원하는 프로그램의 일부 :(