UAC 권한 상승은 프로세스 시작시에만 수행됩니다. 프로세스가 실행되기 시작하면 입면도를 올릴 수 없습니다. 따라서 시도하려는 작업을 수행하려면 별도의 프로세스가 필요합니다.
처음에는 .exe를 실행하지 않고 초기 설정 기능을 호출해야 할 때 새로운 향상된 프로세스를 시작할 수 있습니다. 승격되지 않은 프로세스는 "runas"
동사와 함께 ShellExecute/Ex()
을 사용하거나 타사 CreateProcessElevated()
구현을 사용하여 새 프로세스를 상승 된 상태로 시작할 수 있습니다.
처음 실행 한 .exe를 실행하고 설정 기능을 호출 한 다음 CreateRestrictedToken()
및 CreateProcessAsUser()
을 사용하여 소비자 기능을 호출해야 할 때 별도의 승격되지 않은 프로세스를 시작하십시오.
setup 함수를 COM 개체로 이동 한 다음 비 상승 된 상태에서 .exe를 실행하고 설치 기능을 호출해야 할 때 COM Elevation Moniker을 사용하여 상승 된 상태로 COM 개체를 인스턴스화합니다.
쉬운 관리를위한 # 1, # 2, 들어, 당신은 그것을 알려주는 명령 줄 매개 변수를 전달 단지 자체의 새 복사본을 실행 한 .exe 파일에 모든 코드를 가질 수있는 전화를 걸고 즉시 종료하는 기능.