# 프로그램에 관리자 권한을 부여하는 이유
- 일반 프로그램의 경우 사용자가 프로그램을 실행하였을 때, UAC의 값에 따라 서비스가 실패되는 경우가 발생
- UAC 확인 창을 명시적으로 띄워 관리자 권한으로 프로그램을 실행 할 경우에, 사용자가 권한을 허용할 경우 서비스 설치 가능
# 프로그램에 관리자 권한을 부여하는 방법
1] 직접 코딩하여 관리자 권한을 부여하는 방법
1). 사용자 계정에 권한을 할당하는 함수 생성
1. 권한에 SeServiceLogonRight 값 적용하여 권한 부여
- 서비스로서 로그인
2). 프로세스에 권한을 할당하는 함수 생성
1. OpenProcessToken()
- 프로세스의 Access Token을 가져옴
2. LookupPrivilegeValue()
- Access Token의 Privilege 목록에 권한이 있는지 살펴 봄
3. AdjustTokenPrivilege()
- 권한 활성화
2] Manifest파일을 이용하는 방법
1. 프로젝트 속성 - 링커 - 매니페스트 파일 - UAC 실행 수준을 requireAdministrator로 값 설정
'Windows' 카테고리의 다른 글
Windows 검색 기능 (0) | 2015.07.01 |
---|---|
virtualbox 게스트확장설치 (0) | 2015.07.01 |