'UAC'에 해당되는 글 2건
- 2010/06/01 UAC 상태에 따라 ActiveX에서 파일 다운로드 받기
- 2010/05/12 [UAC] 권한 상승 창이 최소화 되어 뜨지 않도록 하는 방법
○ 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;
}
권한 상승이 필요한 어플리케이션이 실행될 때, 권한 상승창이 최소화되어
작업표시줄에서 깜빡거리고 있고, 사용자는 미처 그걸 보지 못하고 다른 작업들을 해서 오류가 나는 경우가 있다.
원인 및 대처 방안은 다음과 같다.
○ 원인
- CoCreateInstanceAsAdmin 함수 또는 ShellExecuteEx 함수 호출 시 함수 인자의 HWND가 NULL일 경우
○ 조치 방안
- ::GetForegroundWindow() 함수를 호출하여 최상위 윈도우 핸들을 얻어 함수 인자로 전달
○ 참고 URL
이제 와서 UAC를 고민하게 됐으니 -_-;


Prev
Rss Feed