본문 바로가기

Windows

Admin 권한으로 실행되는 프로그램

# 프로그램에 관리자 권한을 부여하는 이유

 - 일반 프로그램의 경우 사용자가 프로그램을 실행하였을 때, 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