C 응용 프로그램에서 관리자 권한의 런타임 상승
런타임 시 운영 체제에서 관리자 권한을 요청하는 기능은 특정 사용자에게 바람직한 기능입니다. 응용 프로그램. Windows에서는 다양한 메커니즘을 통해 이 기능을 사용할 수 있습니다.
컴파일 시간 상승
질문에서 언급했듯이 컴파일 중에 애플리케이션에 관리자 권한을 부여할 수 있습니다. 애플리케이션의 매니페스트를 "requireAdministrator"로 설정합니다. 그러나 런타임 시 상승 요구 사항이 발생하는 경우 다른 접근 방식이 필요합니다.
런타임 상승
런타임 시 기존 애플리케이션의 권한을 상승하려면 몇 가지 옵션이 있습니다. :
외부 매니페스트
컴파일 시간 상승과 유사하게 외부 매니페스트를 생성하고 애플리케이션의 실행 파일과 연결할 수 있습니다. 이 매니페스트는 "requestedExecutionLevel"을 "requireAdministrator"로 지정할 수 있습니다.
RunAs 동사
ShellExecute 함수에서 "runas" 동사를 사용하면 다음이 가능합니다. 높은 권한으로 프로세스를 시작합니다. 이 옵션을 사용하면 프로세스가 실행되기 전에 사용자에게 관리자 자격 증명을 묻는 메시지가 표시됩니다.
특히 현재 인스턴스의 경우
목표가 현재 인스턴스의 권한을 높이는 것인 경우 애플리케이션 인스턴스에서는 메모리에 보존된 데이터를 잃지 않고 Windows "CreateSymbolicLinkW" 기능을 사용하여 관리자 계정의 실행 파일에 대한 심볼릭 링크를 생성할 수 있습니다. 이 기술에는 실행 중인 애플리케이션과 동일한 이름으로 심볼릭 링크를 생성하고 실행 파일의 상위 버전을 가리키는 것이 포함됩니다. 그런 다음 원래 애플리케이션의 메모리와 리소스를 상속하여 상위 버전을 실행할 수 있습니다.
위 내용은 런타임 시 내 C 애플리케이션에 대한 관리자 권한을 어떻게 높일 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!