노무현 전 대통령 서거 - 삼가 고인의 명복을 빕니다


2010.06.01 00:13

UAC 상태에 따라 ActiveX에서 파일 다운로드 받기

○ UAC 적용 시
 - FOLDERID_LocalAppDataLow

○ UAC 미적용 시
 - FOLDERID_LocalAppData

○ 목적
 - FOLDERID_LocalAppDataLow에 있는 파일은 UAC가 적용되지 않을 경우라도 low integrity로 실행된다.
   그래서, 실행 파일이 관리자 권한을 필요로 할 때 (installer 등) 정상적으로 실행되지 않는다.

* 참고 (UAC 활성화 여부 검사 루틴)

bool CBrokerPath::IsUACOn(void)
{        
DWORD res = ERROR_SUCCESS;
DWORD dwType = REG_DWORD;
DWORD UacOnOff = 0;
DWORD sz = sizeof(DWORD);
res = ::SHGetValue(HKEY_LOCAL_MACHINE,
  TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"),
  TEXT("EnableLUA"),
  &dwType,
  &UacOnOff,
  &sz);
if (res == ERROR_SUCCESS)
{
if (UacOnOff == 1)
{
return true;
}
}
return false;
}
Trackback 0 Comment 0